diff --git a/controllers/tablerbase.go b/controllers/tablerbase.go index 3d5c3c6..257dd1a 100644 --- a/controllers/tablerbase.go +++ b/controllers/tablerbase.go @@ -25,4 +25,62 @@ func TablerDemo1(c *core.Context) *core.Response { } return c.Response.Template("tabler_demo.html", data) +} + +// TablerSingle renders a page using the single layout (centered page with logo) +func TablerSingle(c *core.Context) *core.Response { + data := TablerPageData{ + PageTitle: "Tabler Single", + PageDescription: "A single centered page", + Content: template.HTML("

Login

Enter your credentials to access your account.

"), + } + return c.Response.Template("tabler_single.html", data) +} + +// TablerDefault renders a page using the default layout (with navbar, page header, footer) +func TablerDefault(c *core.Context) *core.Response { + data := TablerPageData{ + PageTitle: "Tabler Default", + PageDescription: "A default page layout", + Sidebar: false, + ShowTopbar: true, + PageHeader: "Default Page", + PagePretitle: "Overview", + UserName: "Jane Doe", + UserRole: "Administrator", + Content: template.HTML("

Content Area

This is the main content area of the default page layout.

"), + } + return c.Response.Template("tabler_default.html", data) +} + +// TablerNavbar renders a page using the default layout (with navbar, navbarmenu, page header, footer) +func TablerNavbar(c *core.Context) *core.Response { + data := TablerPageData{ + PageTitle: "Navbar Menu Demo", + PageDescription: "Sample page with navbar menu", + ShowTopbar: true, + Sidebar: false, + PageHeader: "Navbar Menu Demo", + PagePretitle: "Components", + UserName: "Jane Doe", + UserRole: "Administrator", + NavbarMenu: SampleNavbarMenu(), + Content: template.HTML("

Navbar Menu Example

This page demonstrates the navbar menu component migrated from the Liquid template. The menu items (Dashboards, Layout, Help) are rendered from sample data.

"), + } + return c.Response.Template("tabler_default.html", data) +} + +// TablerHome renders the homepage/dashboard layout +func TablerHome(c *core.Context) *core.Response { + data := TablerPageData{ + PageTitle: "Dashboard", + PageDescription: "Dashboard home page", + PageHeader: "Dashboard", + PagePretitle: "Overview", + UserName: "Jane Doe", + UserRole: "Administrator", + ShowTopbar: true, + Sidebar: false, + } + return c.Response.Template("tabler_homepage.html", data) } \ No newline at end of file diff --git a/controllers/tablerdata.go b/controllers/tablerdata.go new file mode 100644 index 0000000..af53571 --- /dev/null +++ b/controllers/tablerdata.go @@ -0,0 +1,45 @@ +package controllers + +// SampleNavbarMenu returns the sample menu data for the navbar +// Migrated from liquid/data/menu.json (layout, dashboards, help sections) +func SampleNavbarMenu() TablerMenu { + return TablerMenu{ + "dashboards": { + Title: "Dashboards", + Icon: "home", + Children: []*TablerMenuItem{ + {Title: "Default", URL: "index.html"}, + {Title: "Crypto", URL: "dashboard-crypto.html"}, + }, + }, + "layout": { + Title: "Layout", + Icon: "layout-2", + Columns: 2, + Children: []*TablerMenuItem{ + {Title: "Boxed", URL: "layout-boxed.html"}, + {Title: "Combined", URL: "layout-combo.html"}, + {Title: "Condensed", URL: "layout-condensed.html"}, + {Title: "Fluid", URL: "layout-fluid.html"}, + {Title: "Fluid vertical", URL: "layout-fluid-vertical.html"}, + {Title: "Horizontal", URL: "layout-horizontal.html"}, + {Title: "Navbar dark", URL: "layout-navbar-dark.html"}, + {Title: "Navbar overlap", URL: "layout-navbar-overlap.html"}, + {Title: "Navbar sticky", URL: "layout-navbar-sticky.html"}, + {Title: "Right vertical", URL: "layout-vertical-right.html"}, + {Title: "Vertical", URL: "layout-vertical.html"}, + {Title: "Vertical transparent", URL: "layout-vertical-transparent.html"}, + }, + }, + "help": { + Title: "Help", + Icon: "lifebuoy", + Children: []*TablerMenuItem{ + {Title: "Documentation", URL: "https://tabler.io/docs"}, + {Title: "Changelog", URL: "changelog.html"}, + {Title: "Source code", URL: "https://github.com/tabler/tabler"}, + {Title: "Sponsor project!", URL: "https://github.com/sponsors/codecalm", Color: "pink", Icon: "heart"}, + }, + }, + } +} diff --git a/controllers/tablertypes.go b/controllers/tablertypes.go new file mode 100644 index 0000000..8f01d8c --- /dev/null +++ b/controllers/tablertypes.go @@ -0,0 +1,40 @@ +package controllers + +// TablerMenuItem represents a single item in the navbar menu +type TablerMenuItem struct { + Title string `json:"title"` + TitleLong string `json:"title-long,omitempty"` + Icon string `json:"icon,omitempty"` + URL string `json:"url,omitempty"` + Badge string `json:"badge,omitempty"` + Color string `json:"color,omitempty"` + Active bool `json:"active,omitempty"` + Disabled bool `json:"disabled,omitempty"` + Columns int `json:"columns,omitempty"` + Children []*TablerMenuItem `json:"children,omitempty"` +} + +// TablerMenu is a map of menu sections keyed by identifier +type TablerMenu map[string]*TablerMenuItem + +// TablerPageData holds the common data for all tabler pages +type TablerPageData struct { + PageTitle string + PageDescription string + BodyClass string + Content interface{} + // Default layout fields + Sidebar bool + ShowTopbar bool + WrapperFull bool + ContainerCentered bool + ContainerClass string + // Page header + PageHeader string + PagePretitle string + // Navbar fields + UserName string + UserRole string + NavbarMenu TablerMenu + CurrentPage string +} diff --git a/liquid/layouts/base.html b/liquid/layouts/base.html index 7e7e01a..b26a887 100644 --- a/liquid/layouts/base.html +++ b/liquid/layouts/base.html @@ -2,7 +2,7 @@ {% include "layout/banner.html" %} {% assign title = title | default: layout.title %} - + @@ -10,28 +10,18 @@ {% if title %}{{ title }} - {% endif %}{% if site.title %}{{ site.title }} - {% endif %}{{ site.descriptionShort }} - {% if environment == 'preview' %} - {% include "layout/analytics.html" %} + + - - - - - - - - - - - - - - {% include "layout/og.html" %} - {% elsif environment == 'development' %} - - - {% endif %} + + + + + + + + {% include "layout/css.html" %} {% include "layout/js-libs.html" head %} @@ -47,7 +37,7 @@ {% include "layout/skip-link.html" %} - + {{ content }} diff --git a/routes.go b/routes.go index 87076d0..9409a83 100644 --- a/routes.go +++ b/routes.go @@ -64,4 +64,10 @@ func registerRoutes() { controller.Get("/demotabler1", controllers.TablerDemo1) + // Tabler layout routes + controller.Get("/tablersingle", controllers.TablerSingle) + controller.Get("/tablerdefault", controllers.TablerDefault) + controller.Get("/tablerhome", controllers.TablerHome) + controller.Get("/tablernavmenu", controllers.TablerNavbar) + } diff --git a/storage/public/dist/css/tabler-flags.css b/storage/public/dist/css/tabler-flags.css new file mode 100644 index 0000000..3195ba0 --- /dev/null +++ b/storage/public/dist/css/tabler-flags.css @@ -0,0 +1,1104 @@ +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +.flag { + position: relative; + display: inline-block; + width: 2.5rem; + aspect-ratio: 1.33333; + background: no-repeat center/cover; + box-shadow: var(--tblr-shadow-border); + border-radius: var(--tblr-border-radius-sm); +} +@supports (corner-shape: squircle) { + .flag { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important; + } +} +.flag { + vertical-align: bottom; +} +.flag.flag-country-np { + box-shadow: none; + border-radius: 0; +} + +.flag-country-ad { + background-image: url("../img/flags/ad.svg"); +} + +.flag-country-af { + background-image: url("../img/flags/af.svg"); +} + +.flag-country-ae { + background-image: url("../img/flags/ae.svg"); +} + +.flag-country-afrun { + background-image: url("../img/flags/afrun.svg"); +} + +.flag-country-ag { + background-image: url("../img/flags/ag.svg"); +} + +.flag-country-ai { + background-image: url("../img/flags/ai.svg"); +} + +.flag-country-al { + background-image: url("../img/flags/al.svg"); +} + +.flag-country-am { + background-image: url("../img/flags/am.svg"); +} + +.flag-country-ao { + background-image: url("../img/flags/ao.svg"); +} + +.flag-country-aq { + background-image: url("../img/flags/aq.svg"); +} + +.flag-country-ar { + background-image: url("../img/flags/ar.svg"); +} + +.flag-country-as { + background-image: url("../img/flags/as.svg"); +} + +.flag-country-at { + background-image: url("../img/flags/at.svg"); +} + +.flag-country-au { + background-image: url("../img/flags/au.svg"); +} + +.flag-country-aw { + background-image: url("../img/flags/aw.svg"); +} + +.flag-country-ax { + background-image: url("../img/flags/ax.svg"); +} + +.flag-country-az { + background-image: url("../img/flags/az.svg"); +} + +.flag-country-ba { + background-image: url("../img/flags/ba.svg"); +} + +.flag-country-bb { + background-image: url("../img/flags/bb.svg"); +} + +.flag-country-bd { + background-image: url("../img/flags/bd.svg"); +} + +.flag-country-be { + background-image: url("../img/flags/be.svg"); +} + +.flag-country-bf { + background-image: url("../img/flags/bf.svg"); +} + +.flag-country-bg { + background-image: url("../img/flags/bg.svg"); +} + +.flag-country-bh { + background-image: url("../img/flags/bh.svg"); +} + +.flag-country-bi { + background-image: url("../img/flags/bi.svg"); +} + +.flag-country-bj { + background-image: url("../img/flags/bj.svg"); +} + +.flag-country-bl { + background-image: url("../img/flags/bl.svg"); +} + +.flag-country-bm { + background-image: url("../img/flags/bm.svg"); +} + +.flag-country-bn { + background-image: url("../img/flags/bn.svg"); +} + +.flag-country-bo { + background-image: url("../img/flags/bo.svg"); +} + +.flag-country-bq-bo { + background-image: url("../img/flags/bq-bo.svg"); +} + +.flag-country-bq-sa { + background-image: url("../img/flags/bq-sa.svg"); +} + +.flag-country-bq-se { + background-image: url("../img/flags/bq-se.svg"); +} + +.flag-country-br { + background-image: url("../img/flags/br.svg"); +} + +.flag-country-bs { + background-image: url("../img/flags/bs.svg"); +} + +.flag-country-bt { + background-image: url("../img/flags/bt.svg"); +} + +.flag-country-bv { + background-image: url("../img/flags/bv.svg"); +} + +.flag-country-bw { + background-image: url("../img/flags/bw.svg"); +} + +.flag-country-by { + background-image: url("../img/flags/by.svg"); +} + +.flag-country-bz { + background-image: url("../img/flags/bz.svg"); +} + +.flag-country-ca { + background-image: url("../img/flags/ca.svg"); +} + +.flag-country-cc { + background-image: url("../img/flags/cc.svg"); +} + +.flag-country-cd { + background-image: url("../img/flags/cd.svg"); +} + +.flag-country-cf { + background-image: url("../img/flags/cf.svg"); +} + +.flag-country-cg { + background-image: url("../img/flags/cg.svg"); +} + +.flag-country-ch { + background-image: url("../img/flags/ch.svg"); +} + +.flag-country-ci { + background-image: url("../img/flags/ci.svg"); +} + +.flag-country-ck { + background-image: url("../img/flags/ck.svg"); +} + +.flag-country-cl { + background-image: url("../img/flags/cl.svg"); +} + +.flag-country-cm { + background-image: url("../img/flags/cm.svg"); +} + +.flag-country-cn { + background-image: url("../img/flags/cn.svg"); +} + +.flag-country-co { + background-image: url("../img/flags/co.svg"); +} + +.flag-country-cr { + background-image: url("../img/flags/cr.svg"); +} + +.flag-country-cu { + background-image: url("../img/flags/cu.svg"); +} + +.flag-country-cv { + background-image: url("../img/flags/cv.svg"); +} + +.flag-country-cw { + background-image: url("../img/flags/cw.svg"); +} + +.flag-country-cx { + background-image: url("../img/flags/cx.svg"); +} + +.flag-country-cy { + background-image: url("../img/flags/cy.svg"); +} + +.flag-country-cz { + background-image: url("../img/flags/cz.svg"); +} + +.flag-country-de { + background-image: url("../img/flags/de.svg"); +} + +.flag-country-dj { + background-image: url("../img/flags/dj.svg"); +} + +.flag-country-dk { + background-image: url("../img/flags/dk.svg"); +} + +.flag-country-dm { + background-image: url("../img/flags/dm.svg"); +} + +.flag-country-do { + background-image: url("../img/flags/do.svg"); +} + +.flag-country-dz { + background-image: url("../img/flags/dz.svg"); +} + +.flag-country-ec { + background-image: url("../img/flags/ec.svg"); +} + +.flag-country-ee { + background-image: url("../img/flags/ee.svg"); +} + +.flag-country-eg { + background-image: url("../img/flags/eg.svg"); +} + +.flag-country-eh { + background-image: url("../img/flags/eh.svg"); +} + +.flag-country-er { + background-image: url("../img/flags/er.svg"); +} + +.flag-country-es { + background-image: url("../img/flags/es.svg"); +} + +.flag-country-et { + background-image: url("../img/flags/et.svg"); +} + +.flag-country-eu { + background-image: url("../img/flags/eu.svg"); +} + +.flag-country-fi { + background-image: url("../img/flags/fi.svg"); +} + +.flag-country-fj { + background-image: url("../img/flags/fj.svg"); +} + +.flag-country-fk { + background-image: url("../img/flags/fk.svg"); +} + +.flag-country-fm { + background-image: url("../img/flags/fm.svg"); +} + +.flag-country-fo { + background-image: url("../img/flags/fo.svg"); +} + +.flag-country-fr { + background-image: url("../img/flags/fr.svg"); +} + +.flag-country-ga { + background-image: url("../img/flags/ga.svg"); +} + +.flag-country-gb-eng { + background-image: url("../img/flags/gb-eng.svg"); +} + +.flag-country-gb-sct { + background-image: url("../img/flags/gb-sct.svg"); +} + +.flag-country-gb { + background-image: url("../img/flags/gb.svg"); +} + +.flag-country-gb-wls { + background-image: url("../img/flags/gb-wls.svg"); +} + +.flag-country-gb-nir { + background-image: url("../img/flags/gb-nir.svg"); +} + +.flag-country-gd { + background-image: url("../img/flags/gd.svg"); +} + +.flag-country-ge { + background-image: url("../img/flags/ge.svg"); +} + +.flag-country-gf { + background-image: url("../img/flags/gf.svg"); +} + +.flag-country-gg { + background-image: url("../img/flags/gg.svg"); +} + +.flag-country-gh { + background-image: url("../img/flags/gh.svg"); +} + +.flag-country-gi { + background-image: url("../img/flags/gi.svg"); +} + +.flag-country-gl { + background-image: url("../img/flags/gl.svg"); +} + +.flag-country-gm { + background-image: url("../img/flags/gm.svg"); +} + +.flag-country-gn { + background-image: url("../img/flags/gn.svg"); +} + +.flag-country-gp { + background-image: url("../img/flags/gp.svg"); +} + +.flag-country-gq { + background-image: url("../img/flags/gq.svg"); +} + +.flag-country-gr { + background-image: url("../img/flags/gr.svg"); +} + +.flag-country-gs { + background-image: url("../img/flags/gs.svg"); +} + +.flag-country-gt { + background-image: url("../img/flags/gt.svg"); +} + +.flag-country-gu { + background-image: url("../img/flags/gu.svg"); +} + +.flag-country-gw { + background-image: url("../img/flags/gw.svg"); +} + +.flag-country-gy { + background-image: url("../img/flags/gy.svg"); +} + +.flag-country-hk { + background-image: url("../img/flags/hk.svg"); +} + +.flag-country-hm { + background-image: url("../img/flags/hm.svg"); +} + +.flag-country-hn { + background-image: url("../img/flags/hn.svg"); +} + +.flag-country-hr { + background-image: url("../img/flags/hr.svg"); +} + +.flag-country-ht { + background-image: url("../img/flags/ht.svg"); +} + +.flag-country-hu { + background-image: url("../img/flags/hu.svg"); +} + +.flag-country-id { + background-image: url("../img/flags/id.svg"); +} + +.flag-country-ie { + background-image: url("../img/flags/ie.svg"); +} + +.flag-country-il { + background-image: url("../img/flags/il.svg"); +} + +.flag-country-im { + background-image: url("../img/flags/im.svg"); +} + +.flag-country-in { + background-image: url("../img/flags/in.svg"); +} + +.flag-country-io { + background-image: url("../img/flags/io.svg"); +} + +.flag-country-iq { + background-image: url("../img/flags/iq.svg"); +} + +.flag-country-ir { + background-image: url("../img/flags/ir.svg"); +} + +.flag-country-is { + background-image: url("../img/flags/is.svg"); +} + +.flag-country-it { + background-image: url("../img/flags/it.svg"); +} + +.flag-country-je { + background-image: url("../img/flags/je.svg"); +} + +.flag-country-jm { + background-image: url("../img/flags/jm.svg"); +} + +.flag-country-jo { + background-image: url("../img/flags/jo.svg"); +} + +.flag-country-jp { + background-image: url("../img/flags/jp.svg"); +} + +.flag-country-ke { + background-image: url("../img/flags/ke.svg"); +} + +.flag-country-kg { + background-image: url("../img/flags/kg.svg"); +} + +.flag-country-kh { + background-image: url("../img/flags/kh.svg"); +} + +.flag-country-ki { + background-image: url("../img/flags/ki.svg"); +} + +.flag-country-km { + background-image: url("../img/flags/km.svg"); +} + +.flag-country-kn { + background-image: url("../img/flags/kn.svg"); +} + +.flag-country-kp { + background-image: url("../img/flags/kp.svg"); +} + +.flag-country-kr { + background-image: url("../img/flags/kr.svg"); +} + +.flag-country-kw { + background-image: url("../img/flags/kw.svg"); +} + +.flag-country-ky { + background-image: url("../img/flags/ky.svg"); +} + +.flag-country-kz { + background-image: url("../img/flags/kz.svg"); +} + +.flag-country-la { + background-image: url("../img/flags/la.svg"); +} + +.flag-country-lb { + background-image: url("../img/flags/lb.svg"); +} + +.flag-country-lc { + background-image: url("../img/flags/lc.svg"); +} + +.flag-country-li { + background-image: url("../img/flags/li.svg"); +} + +.flag-country-lk { + background-image: url("../img/flags/lk.svg"); +} + +.flag-country-lr { + background-image: url("../img/flags/lr.svg"); +} + +.flag-country-ls { + background-image: url("../img/flags/ls.svg"); +} + +.flag-country-lt { + background-image: url("../img/flags/lt.svg"); +} + +.flag-country-lu { + background-image: url("../img/flags/lu.svg"); +} + +.flag-country-lv { + background-image: url("../img/flags/lv.svg"); +} + +.flag-country-ly { + background-image: url("../img/flags/ly.svg"); +} + +.flag-country-ma { + background-image: url("../img/flags/ma.svg"); +} + +.flag-country-mc { + background-image: url("../img/flags/mc.svg"); +} + +.flag-country-md { + background-image: url("../img/flags/md.svg"); +} + +.flag-country-me { + background-image: url("../img/flags/me.svg"); +} + +.flag-country-mf { + background-image: url("../img/flags/mf.svg"); +} + +.flag-country-mg { + background-image: url("../img/flags/mg.svg"); +} + +.flag-country-mh { + background-image: url("../img/flags/mh.svg"); +} + +.flag-country-mk { + background-image: url("../img/flags/mk.svg"); +} + +.flag-country-ml { + background-image: url("../img/flags/ml.svg"); +} + +.flag-country-mm { + background-image: url("../img/flags/mm.svg"); +} + +.flag-country-mn { + background-image: url("../img/flags/mn.svg"); +} + +.flag-country-mo { + background-image: url("../img/flags/mo.svg"); +} + +.flag-country-mp { + background-image: url("../img/flags/mp.svg"); +} + +.flag-country-mq { + background-image: url("../img/flags/mq.svg"); +} + +.flag-country-mr { + background-image: url("../img/flags/mr.svg"); +} + +.flag-country-ms { + background-image: url("../img/flags/ms.svg"); +} + +.flag-country-mt { + background-image: url("../img/flags/mt.svg"); +} + +.flag-country-mu { + background-image: url("../img/flags/mu.svg"); +} + +.flag-country-mv { + background-image: url("../img/flags/mv.svg"); +} + +.flag-country-mw { + background-image: url("../img/flags/mw.svg"); +} + +.flag-country-mx { + background-image: url("../img/flags/mx.svg"); +} + +.flag-country-my { + background-image: url("../img/flags/my.svg"); +} + +.flag-country-mz { + background-image: url("../img/flags/mz.svg"); +} + +.flag-country-na { + background-image: url("../img/flags/na.svg"); +} + +.flag-country-nc { + background-image: url("../img/flags/nc.svg"); +} + +.flag-country-ne { + background-image: url("../img/flags/ne.svg"); +} + +.flag-country-nf { + background-image: url("../img/flags/nf.svg"); +} + +.flag-country-ng { + background-image: url("../img/flags/ng.svg"); +} + +.flag-country-ni { + background-image: url("../img/flags/ni.svg"); +} + +.flag-country-nl { + background-image: url("../img/flags/nl.svg"); +} + +.flag-country-no { + background-image: url("../img/flags/no.svg"); +} + +.flag-country-np { + background-image: url("../img/flags/np.svg"); +} + +.flag-country-nr { + background-image: url("../img/flags/nr.svg"); +} + +.flag-country-nu { + background-image: url("../img/flags/nu.svg"); +} + +.flag-country-nz { + background-image: url("../img/flags/nz.svg"); +} + +.flag-country-om { + background-image: url("../img/flags/om.svg"); +} + +.flag-country-pa { + background-image: url("../img/flags/pa.svg"); +} + +.flag-country-pe { + background-image: url("../img/flags/pe.svg"); +} + +.flag-country-pf { + background-image: url("../img/flags/pf.svg"); +} + +.flag-country-pg { + background-image: url("../img/flags/pg.svg"); +} + +.flag-country-ph { + background-image: url("../img/flags/ph.svg"); +} + +.flag-country-pk { + background-image: url("../img/flags/pk.svg"); +} + +.flag-country-pl { + background-image: url("../img/flags/pl.svg"); +} + +.flag-country-pm { + background-image: url("../img/flags/pm.svg"); +} + +.flag-country-pn { + background-image: url("../img/flags/pn.svg"); +} + +.flag-country-pr { + background-image: url("../img/flags/pr.svg"); +} + +.flag-country-ps { + background-image: url("../img/flags/ps.svg"); +} + +.flag-country-pt { + background-image: url("../img/flags/pt.svg"); +} + +.flag-country-pw { + background-image: url("../img/flags/pw.svg"); +} + +.flag-country-py { + background-image: url("../img/flags/py.svg"); +} + +.flag-country-qa { + background-image: url("../img/flags/qa.svg"); +} + +.flag-country-rainbow { + background-image: url("../img/flags/rainbow.svg"); +} + +.flag-country-re { + background-image: url("../img/flags/re.svg"); +} + +.flag-country-ro { + background-image: url("../img/flags/ro.svg"); +} + +.flag-country-rs { + background-image: url("../img/flags/rs.svg"); +} + +.flag-country-ru { + background-image: url("../img/flags/ru.svg"); +} + +.flag-country-rw { + background-image: url("../img/flags/rw.svg"); +} + +.flag-country-sa { + background-image: url("../img/flags/sa.svg"); +} + +.flag-country-sb { + background-image: url("../img/flags/sb.svg"); +} + +.flag-country-sc { + background-image: url("../img/flags/sc.svg"); +} + +.flag-country-sd { + background-image: url("../img/flags/sd.svg"); +} + +.flag-country-se { + background-image: url("../img/flags/se.svg"); +} + +.flag-country-sg { + background-image: url("../img/flags/sg.svg"); +} + +.flag-country-sh { + background-image: url("../img/flags/sh.svg"); +} + +.flag-country-si { + background-image: url("../img/flags/si.svg"); +} + +.flag-country-sj { + background-image: url("../img/flags/sj.svg"); +} + +.flag-country-sk { + background-image: url("../img/flags/sk.svg"); +} + +.flag-country-sl { + background-image: url("../img/flags/sl.svg"); +} + +.flag-country-sm { + background-image: url("../img/flags/sm.svg"); +} + +.flag-country-sn { + background-image: url("../img/flags/sn.svg"); +} + +.flag-country-so { + background-image: url("../img/flags/so.svg"); +} + +.flag-country-sr { + background-image: url("../img/flags/sr.svg"); +} + +.flag-country-ss { + background-image: url("../img/flags/ss.svg"); +} + +.flag-country-st { + background-image: url("../img/flags/st.svg"); +} + +.flag-country-sv { + background-image: url("../img/flags/sv.svg"); +} + +.flag-country-sx { + background-image: url("../img/flags/sx.svg"); +} + +.flag-country-sy { + background-image: url("../img/flags/sy.svg"); +} + +.flag-country-sz { + background-image: url("../img/flags/sz.svg"); +} + +.flag-country-tc { + background-image: url("../img/flags/tc.svg"); +} + +.flag-country-td { + background-image: url("../img/flags/td.svg"); +} + +.flag-country-tf { + background-image: url("../img/flags/tf.svg"); +} + +.flag-country-tg { + background-image: url("../img/flags/tg.svg"); +} + +.flag-country-th { + background-image: url("../img/flags/th.svg"); +} + +.flag-country-tj { + background-image: url("../img/flags/tj.svg"); +} + +.flag-country-tk { + background-image: url("../img/flags/tk.svg"); +} + +.flag-country-tl { + background-image: url("../img/flags/tl.svg"); +} + +.flag-country-tm { + background-image: url("../img/flags/tm.svg"); +} + +.flag-country-tn { + background-image: url("../img/flags/tn.svg"); +} + +.flag-country-to { + background-image: url("../img/flags/to.svg"); +} + +.flag-country-tr { + background-image: url("../img/flags/tr.svg"); +} + +.flag-country-tt { + background-image: url("../img/flags/tt.svg"); +} + +.flag-country-tv { + background-image: url("../img/flags/tv.svg"); +} + +.flag-country-tw { + background-image: url("../img/flags/tw.svg"); +} + +.flag-country-tz { + background-image: url("../img/flags/tz.svg"); +} + +.flag-country-ua { + background-image: url("../img/flags/ua.svg"); +} + +.flag-country-ug { + background-image: url("../img/flags/ug.svg"); +} + +.flag-country-um { + background-image: url("../img/flags/um.svg"); +} + +.flag-country-unasur { + background-image: url("../img/flags/unasur.svg"); +} + +.flag-country-us { + background-image: url("../img/flags/us.svg"); +} + +.flag-country-uy { + background-image: url("../img/flags/uy.svg"); +} + +.flag-country-uz { + background-image: url("../img/flags/uz.svg"); +} + +.flag-country-va { + background-image: url("../img/flags/va.svg"); +} + +.flag-country-vc { + background-image: url("../img/flags/vc.svg"); +} + +.flag-country-ve { + background-image: url("../img/flags/ve.svg"); +} + +.flag-country-vg { + background-image: url("../img/flags/vg.svg"); +} + +.flag-country-vi { + background-image: url("../img/flags/vi.svg"); +} + +.flag-country-vn { + background-image: url("../img/flags/vn.svg"); +} + +.flag-country-vu { + background-image: url("../img/flags/vu.svg"); +} + +.flag-country-wf { + background-image: url("../img/flags/wf.svg"); +} + +.flag-country-ws { + background-image: url("../img/flags/ws.svg"); +} + +.flag-country-ye { + background-image: url("../img/flags/ye.svg"); +} + +.flag-country-za { + background-image: url("../img/flags/za.svg"); +} + +.flag-country-zm { + background-image: url("../img/flags/zm.svg"); +} + +.flag-country-zw { + background-image: url("../img/flags/zw.svg"); +} + +.flag-xxs { + width: 1rem; +} + +.flag-xs { + width: 1.25rem; + border-radius: 2px; +} +@supports (corner-shape: squircle) { + .flag-xs { + corner-shape: squircle; + border-radius: calc(2px * 2.5) !important; + } +} + +.flag-sm { + width: 2rem; +} + +.flag-md { + width: 2.5rem; +} + +.flag-lg { + width: 3rem; +} + +.flag-xl { + width: 5rem; +} + +.flag-2xl { + width: 7rem; +} + +/*# sourceMappingURL=tabler-flags.css.map */ \ No newline at end of file diff --git a/storage/public/dist/css/tabler-flags.css.map b/storage/public/dist/css/tabler-flags.css.map new file mode 100644 index 0000000..1c0a865 --- /dev/null +++ b/storage/public/dist/css/tabler-flags.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tabler-flags.css"],"names":[],"mappings":"AAAA;;;;;EAKE;AACF;;;;;;EAME;AACF;EACE,kBAAkB;EAClB,qBAAqB;EACrB,aAAa;EACb,qBAAqB;EACrB,kCAAkC;EAClC,qCAAqC;EACrC,2CAA2C;AAC7C;AACA;EACE;IACE,sBAAsB;IACtB,kEAAkE;EACpE;AACF;AACA;EACE,sBAAsB;AACxB;AACA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,+CAA+C;AACjD;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,+CAA+C;AACjD;;AAEA;EACE,+CAA+C;AACjD;;AAEA;EACE,+CAA+C;AACjD;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,4CAA4C;AAC9C;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,cAAc;EACd,kBAAkB;AACpB;AACA;EACE;IACE,sBAAsB;IACtB,yCAAyC;EAC3C;AACF;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,WAAW;AACb","file":"tabler-flags.css","sourcesContent":["/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n.flag {\n position: relative;\n display: inline-block;\n width: 2.5rem;\n aspect-ratio: 1.33333;\n background: no-repeat center/cover;\n box-shadow: var(--tblr-shadow-border);\n border-radius: var(--tblr-border-radius-sm);\n}\n@supports (corner-shape: squircle) {\n .flag {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important;\n }\n}\n.flag {\n vertical-align: bottom;\n}\n.flag.flag-country-np {\n box-shadow: none;\n border-radius: 0;\n}\n\n.flag-country-ad {\n background-image: url(\"../img/flags/ad.svg\");\n}\n\n.flag-country-af {\n background-image: url(\"../img/flags/af.svg\");\n}\n\n.flag-country-ae {\n background-image: url(\"../img/flags/ae.svg\");\n}\n\n.flag-country-afrun {\n background-image: url(\"../img/flags/afrun.svg\");\n}\n\n.flag-country-ag {\n background-image: url(\"../img/flags/ag.svg\");\n}\n\n.flag-country-ai {\n background-image: url(\"../img/flags/ai.svg\");\n}\n\n.flag-country-al {\n background-image: url(\"../img/flags/al.svg\");\n}\n\n.flag-country-am {\n background-image: url(\"../img/flags/am.svg\");\n}\n\n.flag-country-ao {\n background-image: url(\"../img/flags/ao.svg\");\n}\n\n.flag-country-aq {\n background-image: url(\"../img/flags/aq.svg\");\n}\n\n.flag-country-ar {\n background-image: url(\"../img/flags/ar.svg\");\n}\n\n.flag-country-as {\n background-image: url(\"../img/flags/as.svg\");\n}\n\n.flag-country-at {\n background-image: url(\"../img/flags/at.svg\");\n}\n\n.flag-country-au {\n background-image: url(\"../img/flags/au.svg\");\n}\n\n.flag-country-aw {\n background-image: url(\"../img/flags/aw.svg\");\n}\n\n.flag-country-ax {\n background-image: url(\"../img/flags/ax.svg\");\n}\n\n.flag-country-az {\n background-image: url(\"../img/flags/az.svg\");\n}\n\n.flag-country-ba {\n background-image: url(\"../img/flags/ba.svg\");\n}\n\n.flag-country-bb {\n background-image: url(\"../img/flags/bb.svg\");\n}\n\n.flag-country-bd {\n background-image: url(\"../img/flags/bd.svg\");\n}\n\n.flag-country-be {\n background-image: url(\"../img/flags/be.svg\");\n}\n\n.flag-country-bf {\n background-image: url(\"../img/flags/bf.svg\");\n}\n\n.flag-country-bg {\n background-image: url(\"../img/flags/bg.svg\");\n}\n\n.flag-country-bh {\n background-image: url(\"../img/flags/bh.svg\");\n}\n\n.flag-country-bi {\n background-image: url(\"../img/flags/bi.svg\");\n}\n\n.flag-country-bj {\n background-image: url(\"../img/flags/bj.svg\");\n}\n\n.flag-country-bl {\n background-image: url(\"../img/flags/bl.svg\");\n}\n\n.flag-country-bm {\n background-image: url(\"../img/flags/bm.svg\");\n}\n\n.flag-country-bn {\n background-image: url(\"../img/flags/bn.svg\");\n}\n\n.flag-country-bo {\n background-image: url(\"../img/flags/bo.svg\");\n}\n\n.flag-country-bq-bo {\n background-image: url(\"../img/flags/bq-bo.svg\");\n}\n\n.flag-country-bq-sa {\n background-image: url(\"../img/flags/bq-sa.svg\");\n}\n\n.flag-country-bq-se {\n background-image: url(\"../img/flags/bq-se.svg\");\n}\n\n.flag-country-br {\n background-image: url(\"../img/flags/br.svg\");\n}\n\n.flag-country-bs {\n background-image: url(\"../img/flags/bs.svg\");\n}\n\n.flag-country-bt {\n background-image: url(\"../img/flags/bt.svg\");\n}\n\n.flag-country-bv {\n background-image: url(\"../img/flags/bv.svg\");\n}\n\n.flag-country-bw {\n background-image: url(\"../img/flags/bw.svg\");\n}\n\n.flag-country-by {\n background-image: url(\"../img/flags/by.svg\");\n}\n\n.flag-country-bz {\n background-image: url(\"../img/flags/bz.svg\");\n}\n\n.flag-country-ca {\n background-image: url(\"../img/flags/ca.svg\");\n}\n\n.flag-country-cc {\n background-image: url(\"../img/flags/cc.svg\");\n}\n\n.flag-country-cd {\n background-image: url(\"../img/flags/cd.svg\");\n}\n\n.flag-country-cf {\n background-image: url(\"../img/flags/cf.svg\");\n}\n\n.flag-country-cg {\n background-image: url(\"../img/flags/cg.svg\");\n}\n\n.flag-country-ch {\n background-image: url(\"../img/flags/ch.svg\");\n}\n\n.flag-country-ci {\n background-image: url(\"../img/flags/ci.svg\");\n}\n\n.flag-country-ck {\n background-image: url(\"../img/flags/ck.svg\");\n}\n\n.flag-country-cl {\n background-image: url(\"../img/flags/cl.svg\");\n}\n\n.flag-country-cm {\n background-image: url(\"../img/flags/cm.svg\");\n}\n\n.flag-country-cn {\n background-image: url(\"../img/flags/cn.svg\");\n}\n\n.flag-country-co {\n background-image: url(\"../img/flags/co.svg\");\n}\n\n.flag-country-cr {\n background-image: url(\"../img/flags/cr.svg\");\n}\n\n.flag-country-cu {\n background-image: url(\"../img/flags/cu.svg\");\n}\n\n.flag-country-cv {\n background-image: url(\"../img/flags/cv.svg\");\n}\n\n.flag-country-cw {\n background-image: url(\"../img/flags/cw.svg\");\n}\n\n.flag-country-cx {\n background-image: url(\"../img/flags/cx.svg\");\n}\n\n.flag-country-cy {\n background-image: url(\"../img/flags/cy.svg\");\n}\n\n.flag-country-cz {\n background-image: url(\"../img/flags/cz.svg\");\n}\n\n.flag-country-de {\n background-image: url(\"../img/flags/de.svg\");\n}\n\n.flag-country-dj {\n background-image: url(\"../img/flags/dj.svg\");\n}\n\n.flag-country-dk {\n background-image: url(\"../img/flags/dk.svg\");\n}\n\n.flag-country-dm {\n background-image: url(\"../img/flags/dm.svg\");\n}\n\n.flag-country-do {\n background-image: url(\"../img/flags/do.svg\");\n}\n\n.flag-country-dz {\n background-image: url(\"../img/flags/dz.svg\");\n}\n\n.flag-country-ec {\n background-image: url(\"../img/flags/ec.svg\");\n}\n\n.flag-country-ee {\n background-image: url(\"../img/flags/ee.svg\");\n}\n\n.flag-country-eg {\n background-image: url(\"../img/flags/eg.svg\");\n}\n\n.flag-country-eh {\n background-image: url(\"../img/flags/eh.svg\");\n}\n\n.flag-country-er {\n background-image: url(\"../img/flags/er.svg\");\n}\n\n.flag-country-es {\n background-image: url(\"../img/flags/es.svg\");\n}\n\n.flag-country-et {\n background-image: url(\"../img/flags/et.svg\");\n}\n\n.flag-country-eu {\n background-image: url(\"../img/flags/eu.svg\");\n}\n\n.flag-country-fi {\n background-image: url(\"../img/flags/fi.svg\");\n}\n\n.flag-country-fj {\n background-image: url(\"../img/flags/fj.svg\");\n}\n\n.flag-country-fk {\n background-image: url(\"../img/flags/fk.svg\");\n}\n\n.flag-country-fm {\n background-image: url(\"../img/flags/fm.svg\");\n}\n\n.flag-country-fo {\n background-image: url(\"../img/flags/fo.svg\");\n}\n\n.flag-country-fr {\n background-image: url(\"../img/flags/fr.svg\");\n}\n\n.flag-country-ga {\n background-image: url(\"../img/flags/ga.svg\");\n}\n\n.flag-country-gb-eng {\n background-image: url(\"../img/flags/gb-eng.svg\");\n}\n\n.flag-country-gb-sct {\n background-image: url(\"../img/flags/gb-sct.svg\");\n}\n\n.flag-country-gb {\n background-image: url(\"../img/flags/gb.svg\");\n}\n\n.flag-country-gb-wls {\n background-image: url(\"../img/flags/gb-wls.svg\");\n}\n\n.flag-country-gb-nir {\n background-image: url(\"../img/flags/gb-nir.svg\");\n}\n\n.flag-country-gd {\n background-image: url(\"../img/flags/gd.svg\");\n}\n\n.flag-country-ge {\n background-image: url(\"../img/flags/ge.svg\");\n}\n\n.flag-country-gf {\n background-image: url(\"../img/flags/gf.svg\");\n}\n\n.flag-country-gg {\n background-image: url(\"../img/flags/gg.svg\");\n}\n\n.flag-country-gh {\n background-image: url(\"../img/flags/gh.svg\");\n}\n\n.flag-country-gi {\n background-image: url(\"../img/flags/gi.svg\");\n}\n\n.flag-country-gl {\n background-image: url(\"../img/flags/gl.svg\");\n}\n\n.flag-country-gm {\n background-image: url(\"../img/flags/gm.svg\");\n}\n\n.flag-country-gn {\n background-image: url(\"../img/flags/gn.svg\");\n}\n\n.flag-country-gp {\n background-image: url(\"../img/flags/gp.svg\");\n}\n\n.flag-country-gq {\n background-image: url(\"../img/flags/gq.svg\");\n}\n\n.flag-country-gr {\n background-image: url(\"../img/flags/gr.svg\");\n}\n\n.flag-country-gs {\n background-image: url(\"../img/flags/gs.svg\");\n}\n\n.flag-country-gt {\n background-image: url(\"../img/flags/gt.svg\");\n}\n\n.flag-country-gu {\n background-image: url(\"../img/flags/gu.svg\");\n}\n\n.flag-country-gw {\n background-image: url(\"../img/flags/gw.svg\");\n}\n\n.flag-country-gy {\n background-image: url(\"../img/flags/gy.svg\");\n}\n\n.flag-country-hk {\n background-image: url(\"../img/flags/hk.svg\");\n}\n\n.flag-country-hm {\n background-image: url(\"../img/flags/hm.svg\");\n}\n\n.flag-country-hn {\n background-image: url(\"../img/flags/hn.svg\");\n}\n\n.flag-country-hr {\n background-image: url(\"../img/flags/hr.svg\");\n}\n\n.flag-country-ht {\n background-image: url(\"../img/flags/ht.svg\");\n}\n\n.flag-country-hu {\n background-image: url(\"../img/flags/hu.svg\");\n}\n\n.flag-country-id {\n background-image: url(\"../img/flags/id.svg\");\n}\n\n.flag-country-ie {\n background-image: url(\"../img/flags/ie.svg\");\n}\n\n.flag-country-il {\n background-image: url(\"../img/flags/il.svg\");\n}\n\n.flag-country-im {\n background-image: url(\"../img/flags/im.svg\");\n}\n\n.flag-country-in {\n background-image: url(\"../img/flags/in.svg\");\n}\n\n.flag-country-io {\n background-image: url(\"../img/flags/io.svg\");\n}\n\n.flag-country-iq {\n background-image: url(\"../img/flags/iq.svg\");\n}\n\n.flag-country-ir {\n background-image: url(\"../img/flags/ir.svg\");\n}\n\n.flag-country-is {\n background-image: url(\"../img/flags/is.svg\");\n}\n\n.flag-country-it {\n background-image: url(\"../img/flags/it.svg\");\n}\n\n.flag-country-je {\n background-image: url(\"../img/flags/je.svg\");\n}\n\n.flag-country-jm {\n background-image: url(\"../img/flags/jm.svg\");\n}\n\n.flag-country-jo {\n background-image: url(\"../img/flags/jo.svg\");\n}\n\n.flag-country-jp {\n background-image: url(\"../img/flags/jp.svg\");\n}\n\n.flag-country-ke {\n background-image: url(\"../img/flags/ke.svg\");\n}\n\n.flag-country-kg {\n background-image: url(\"../img/flags/kg.svg\");\n}\n\n.flag-country-kh {\n background-image: url(\"../img/flags/kh.svg\");\n}\n\n.flag-country-ki {\n background-image: url(\"../img/flags/ki.svg\");\n}\n\n.flag-country-km {\n background-image: url(\"../img/flags/km.svg\");\n}\n\n.flag-country-kn {\n background-image: url(\"../img/flags/kn.svg\");\n}\n\n.flag-country-kp {\n background-image: url(\"../img/flags/kp.svg\");\n}\n\n.flag-country-kr {\n background-image: url(\"../img/flags/kr.svg\");\n}\n\n.flag-country-kw {\n background-image: url(\"../img/flags/kw.svg\");\n}\n\n.flag-country-ky {\n background-image: url(\"../img/flags/ky.svg\");\n}\n\n.flag-country-kz {\n background-image: url(\"../img/flags/kz.svg\");\n}\n\n.flag-country-la {\n background-image: url(\"../img/flags/la.svg\");\n}\n\n.flag-country-lb {\n background-image: url(\"../img/flags/lb.svg\");\n}\n\n.flag-country-lc {\n background-image: url(\"../img/flags/lc.svg\");\n}\n\n.flag-country-li {\n background-image: url(\"../img/flags/li.svg\");\n}\n\n.flag-country-lk {\n background-image: url(\"../img/flags/lk.svg\");\n}\n\n.flag-country-lr {\n background-image: url(\"../img/flags/lr.svg\");\n}\n\n.flag-country-ls {\n background-image: url(\"../img/flags/ls.svg\");\n}\n\n.flag-country-lt {\n background-image: url(\"../img/flags/lt.svg\");\n}\n\n.flag-country-lu {\n background-image: url(\"../img/flags/lu.svg\");\n}\n\n.flag-country-lv {\n background-image: url(\"../img/flags/lv.svg\");\n}\n\n.flag-country-ly {\n background-image: url(\"../img/flags/ly.svg\");\n}\n\n.flag-country-ma {\n background-image: url(\"../img/flags/ma.svg\");\n}\n\n.flag-country-mc {\n background-image: url(\"../img/flags/mc.svg\");\n}\n\n.flag-country-md {\n background-image: url(\"../img/flags/md.svg\");\n}\n\n.flag-country-me {\n background-image: url(\"../img/flags/me.svg\");\n}\n\n.flag-country-mf {\n background-image: url(\"../img/flags/mf.svg\");\n}\n\n.flag-country-mg {\n background-image: url(\"../img/flags/mg.svg\");\n}\n\n.flag-country-mh {\n background-image: url(\"../img/flags/mh.svg\");\n}\n\n.flag-country-mk {\n background-image: url(\"../img/flags/mk.svg\");\n}\n\n.flag-country-ml {\n background-image: url(\"../img/flags/ml.svg\");\n}\n\n.flag-country-mm {\n background-image: url(\"../img/flags/mm.svg\");\n}\n\n.flag-country-mn {\n background-image: url(\"../img/flags/mn.svg\");\n}\n\n.flag-country-mo {\n background-image: url(\"../img/flags/mo.svg\");\n}\n\n.flag-country-mp {\n background-image: url(\"../img/flags/mp.svg\");\n}\n\n.flag-country-mq {\n background-image: url(\"../img/flags/mq.svg\");\n}\n\n.flag-country-mr {\n background-image: url(\"../img/flags/mr.svg\");\n}\n\n.flag-country-ms {\n background-image: url(\"../img/flags/ms.svg\");\n}\n\n.flag-country-mt {\n background-image: url(\"../img/flags/mt.svg\");\n}\n\n.flag-country-mu {\n background-image: url(\"../img/flags/mu.svg\");\n}\n\n.flag-country-mv {\n background-image: url(\"../img/flags/mv.svg\");\n}\n\n.flag-country-mw {\n background-image: url(\"../img/flags/mw.svg\");\n}\n\n.flag-country-mx {\n background-image: url(\"../img/flags/mx.svg\");\n}\n\n.flag-country-my {\n background-image: url(\"../img/flags/my.svg\");\n}\n\n.flag-country-mz {\n background-image: url(\"../img/flags/mz.svg\");\n}\n\n.flag-country-na {\n background-image: url(\"../img/flags/na.svg\");\n}\n\n.flag-country-nc {\n background-image: url(\"../img/flags/nc.svg\");\n}\n\n.flag-country-ne {\n background-image: url(\"../img/flags/ne.svg\");\n}\n\n.flag-country-nf {\n background-image: url(\"../img/flags/nf.svg\");\n}\n\n.flag-country-ng {\n background-image: url(\"../img/flags/ng.svg\");\n}\n\n.flag-country-ni {\n background-image: url(\"../img/flags/ni.svg\");\n}\n\n.flag-country-nl {\n background-image: url(\"../img/flags/nl.svg\");\n}\n\n.flag-country-no {\n background-image: url(\"../img/flags/no.svg\");\n}\n\n.flag-country-np {\n background-image: url(\"../img/flags/np.svg\");\n}\n\n.flag-country-nr {\n background-image: url(\"../img/flags/nr.svg\");\n}\n\n.flag-country-nu {\n background-image: url(\"../img/flags/nu.svg\");\n}\n\n.flag-country-nz {\n background-image: url(\"../img/flags/nz.svg\");\n}\n\n.flag-country-om {\n background-image: url(\"../img/flags/om.svg\");\n}\n\n.flag-country-pa {\n background-image: url(\"../img/flags/pa.svg\");\n}\n\n.flag-country-pe {\n background-image: url(\"../img/flags/pe.svg\");\n}\n\n.flag-country-pf {\n background-image: url(\"../img/flags/pf.svg\");\n}\n\n.flag-country-pg {\n background-image: url(\"../img/flags/pg.svg\");\n}\n\n.flag-country-ph {\n background-image: url(\"../img/flags/ph.svg\");\n}\n\n.flag-country-pk {\n background-image: url(\"../img/flags/pk.svg\");\n}\n\n.flag-country-pl {\n background-image: url(\"../img/flags/pl.svg\");\n}\n\n.flag-country-pm {\n background-image: url(\"../img/flags/pm.svg\");\n}\n\n.flag-country-pn {\n background-image: url(\"../img/flags/pn.svg\");\n}\n\n.flag-country-pr {\n background-image: url(\"../img/flags/pr.svg\");\n}\n\n.flag-country-ps {\n background-image: url(\"../img/flags/ps.svg\");\n}\n\n.flag-country-pt {\n background-image: url(\"../img/flags/pt.svg\");\n}\n\n.flag-country-pw {\n background-image: url(\"../img/flags/pw.svg\");\n}\n\n.flag-country-py {\n background-image: url(\"../img/flags/py.svg\");\n}\n\n.flag-country-qa {\n background-image: url(\"../img/flags/qa.svg\");\n}\n\n.flag-country-rainbow {\n background-image: url(\"../img/flags/rainbow.svg\");\n}\n\n.flag-country-re {\n background-image: url(\"../img/flags/re.svg\");\n}\n\n.flag-country-ro {\n background-image: url(\"../img/flags/ro.svg\");\n}\n\n.flag-country-rs {\n background-image: url(\"../img/flags/rs.svg\");\n}\n\n.flag-country-ru {\n background-image: url(\"../img/flags/ru.svg\");\n}\n\n.flag-country-rw {\n background-image: url(\"../img/flags/rw.svg\");\n}\n\n.flag-country-sa {\n background-image: url(\"../img/flags/sa.svg\");\n}\n\n.flag-country-sb {\n background-image: url(\"../img/flags/sb.svg\");\n}\n\n.flag-country-sc {\n background-image: url(\"../img/flags/sc.svg\");\n}\n\n.flag-country-sd {\n background-image: url(\"../img/flags/sd.svg\");\n}\n\n.flag-country-se {\n background-image: url(\"../img/flags/se.svg\");\n}\n\n.flag-country-sg {\n background-image: url(\"../img/flags/sg.svg\");\n}\n\n.flag-country-sh {\n background-image: url(\"../img/flags/sh.svg\");\n}\n\n.flag-country-si {\n background-image: url(\"../img/flags/si.svg\");\n}\n\n.flag-country-sj {\n background-image: url(\"../img/flags/sj.svg\");\n}\n\n.flag-country-sk {\n background-image: url(\"../img/flags/sk.svg\");\n}\n\n.flag-country-sl {\n background-image: url(\"../img/flags/sl.svg\");\n}\n\n.flag-country-sm {\n background-image: url(\"../img/flags/sm.svg\");\n}\n\n.flag-country-sn {\n background-image: url(\"../img/flags/sn.svg\");\n}\n\n.flag-country-so {\n background-image: url(\"../img/flags/so.svg\");\n}\n\n.flag-country-sr {\n background-image: url(\"../img/flags/sr.svg\");\n}\n\n.flag-country-ss {\n background-image: url(\"../img/flags/ss.svg\");\n}\n\n.flag-country-st {\n background-image: url(\"../img/flags/st.svg\");\n}\n\n.flag-country-sv {\n background-image: url(\"../img/flags/sv.svg\");\n}\n\n.flag-country-sx {\n background-image: url(\"../img/flags/sx.svg\");\n}\n\n.flag-country-sy {\n background-image: url(\"../img/flags/sy.svg\");\n}\n\n.flag-country-sz {\n background-image: url(\"../img/flags/sz.svg\");\n}\n\n.flag-country-tc {\n background-image: url(\"../img/flags/tc.svg\");\n}\n\n.flag-country-td {\n background-image: url(\"../img/flags/td.svg\");\n}\n\n.flag-country-tf {\n background-image: url(\"../img/flags/tf.svg\");\n}\n\n.flag-country-tg {\n background-image: url(\"../img/flags/tg.svg\");\n}\n\n.flag-country-th {\n background-image: url(\"../img/flags/th.svg\");\n}\n\n.flag-country-tj {\n background-image: url(\"../img/flags/tj.svg\");\n}\n\n.flag-country-tk {\n background-image: url(\"../img/flags/tk.svg\");\n}\n\n.flag-country-tl {\n background-image: url(\"../img/flags/tl.svg\");\n}\n\n.flag-country-tm {\n background-image: url(\"../img/flags/tm.svg\");\n}\n\n.flag-country-tn {\n background-image: url(\"../img/flags/tn.svg\");\n}\n\n.flag-country-to {\n background-image: url(\"../img/flags/to.svg\");\n}\n\n.flag-country-tr {\n background-image: url(\"../img/flags/tr.svg\");\n}\n\n.flag-country-tt {\n background-image: url(\"../img/flags/tt.svg\");\n}\n\n.flag-country-tv {\n background-image: url(\"../img/flags/tv.svg\");\n}\n\n.flag-country-tw {\n background-image: url(\"../img/flags/tw.svg\");\n}\n\n.flag-country-tz {\n background-image: url(\"../img/flags/tz.svg\");\n}\n\n.flag-country-ua {\n background-image: url(\"../img/flags/ua.svg\");\n}\n\n.flag-country-ug {\n background-image: url(\"../img/flags/ug.svg\");\n}\n\n.flag-country-um {\n background-image: url(\"../img/flags/um.svg\");\n}\n\n.flag-country-unasur {\n background-image: url(\"../img/flags/unasur.svg\");\n}\n\n.flag-country-us {\n background-image: url(\"../img/flags/us.svg\");\n}\n\n.flag-country-uy {\n background-image: url(\"../img/flags/uy.svg\");\n}\n\n.flag-country-uz {\n background-image: url(\"../img/flags/uz.svg\");\n}\n\n.flag-country-va {\n background-image: url(\"../img/flags/va.svg\");\n}\n\n.flag-country-vc {\n background-image: url(\"../img/flags/vc.svg\");\n}\n\n.flag-country-ve {\n background-image: url(\"../img/flags/ve.svg\");\n}\n\n.flag-country-vg {\n background-image: url(\"../img/flags/vg.svg\");\n}\n\n.flag-country-vi {\n background-image: url(\"../img/flags/vi.svg\");\n}\n\n.flag-country-vn {\n background-image: url(\"../img/flags/vn.svg\");\n}\n\n.flag-country-vu {\n background-image: url(\"../img/flags/vu.svg\");\n}\n\n.flag-country-wf {\n background-image: url(\"../img/flags/wf.svg\");\n}\n\n.flag-country-ws {\n background-image: url(\"../img/flags/ws.svg\");\n}\n\n.flag-country-ye {\n background-image: url(\"../img/flags/ye.svg\");\n}\n\n.flag-country-za {\n background-image: url(\"../img/flags/za.svg\");\n}\n\n.flag-country-zm {\n background-image: url(\"../img/flags/zm.svg\");\n}\n\n.flag-country-zw {\n background-image: url(\"../img/flags/zw.svg\");\n}\n\n.flag-xxs {\n width: 1rem;\n}\n\n.flag-xs {\n width: 1.25rem;\n border-radius: 2px;\n}\n@supports (corner-shape: squircle) {\n .flag-xs {\n corner-shape: squircle;\n border-radius: calc(2px * 2.5) !important;\n }\n}\n\n.flag-sm {\n width: 2rem;\n}\n\n.flag-md {\n width: 2.5rem;\n}\n\n.flag-lg {\n width: 3rem;\n}\n\n.flag-xl {\n width: 5rem;\n}\n\n.flag-2xl {\n width: 7rem;\n}\n"]} \ No newline at end of file diff --git a/storage/public/dist/css/tabler-marketing.css b/storage/public/dist/css/tabler-marketing.css new file mode 100644 index 0000000..a758529 --- /dev/null +++ b/storage/public/dist/css/tabler-marketing.css @@ -0,0 +1,4835 @@ +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +.body-marketing { + --tblr-body-font-size: 1rem; + --tblr-body-line-height: 1.75; +} + +.body-gradient { + background: var(--tblr-bg-surface) linear-gradient(to bottom, var(--tblr-bg-surface-secondary) 12%, var(--tblr-bg-surface) 99%) repeat-x top center/100% 100vh; +} + +.hero { + text-align: center; + padding: 6.5rem 0; +} + +.hero-title { + font-size: 3rem; + font-weight: var(--tblr-font-weight-black); + letter-spacing: -0.04em; + line-height: 1.2; +} +@media (max-width: 767.98px) { + .hero-title { + font-size: 2rem; + } +} + +.hero-description { + color: var(--tblr-secondary); + font-size: var(--tblr-font-size-h2); + line-height: 1.5; + margin: 0 auto; + max-width: 45rem; +} +@media (max-width: 575.98px) { + .hero-description { + font-size: var(--tblr-font-size-h3); + } +} + +.hero-description-wide { + max-width: 61.875rem; +} + +.hero-subheader { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + margin-bottom: 0.5rem; +} + +.hero-img { + margin: 4rem auto; + max-width: 65rem; + border-radius: 8px; +} +@supports (corner-shape: squircle) { + .hero-img { + corner-shape: squircle; + border-radius: calc(8px * 2.5) !important; + } +} +.hero-img { + position: relative; + z-index: 1; +} +.hero-img img, +.hero-img svg { + max-width: 100%; + height: auto; + display: block; + position: relative; +} + +.browser { + border-radius: var(--tblr-border-radius-lg); +} +@supports (corner-shape: squircle) { + .browser { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important; + } +} +.browser { + box-shadow: 0 0 0 1px var(--tblr-border-color); + background: var(--tblr-bg-surface-secondary); + overflow: hidden; +} + +.browser-header { + padding: 0.25rem 1rem; + background: var(--tblr-border-color-light) linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.03)); + border-bottom: 1px solid var(--tblr-border-color); + border-radius: calc(var(--tblr-border-radius-lg) - 1px) calc(var(--tblr-border-radius-lg) - 1px) 0 0; +} +@supports (corner-shape: squircle) { + .browser-header { + corner-shape: squircle; + border-radius: calc(calc(var(--tblr-border-radius-lg) - 1px) calc(var(--tblr-border-radius-lg) - 1px) 0 0 * 2.5) !important; + } +} + +.browser-dots { + margin-inline-end: 3rem; + display: flex; +} + +.browser-dots-colored .browser-dot:nth-child(1) { + background: #fb6058; +} +.browser-dots-colored .browser-dot:nth-child(2) { + background: #fcbe3b; +} +.browser-dots-colored .browser-dot:nth-child(3) { + background: #2ccb4c; +} + +.browser-dot { + margin-inline-end: 0.5rem; + width: 0.75rem; + min-width: 0.75rem; + height: 0.75rem; + background: var(--tblr-border-color); + border-radius: var(--tblr-border-radius-circle); +} +@supports (corner-shape: squircle) { + .browser-dot { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-circle) * 2.5) !important; + } +} +.browser-dot { + border: 1px solid var(--tblr-border-color-dark); +} + +.browser-input { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + text-decoration: none; + padding: 0.25rem; + color: var(--tblr-secondary); + font-size: var(--tblr-font-size-h5); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .browser-input { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.browser-input { + line-height: 1; + cursor: pointer; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.05); + background-image: linear-gradient(to bottom, var(--tblr-bg-surface), var(--tblr-bg-surface-secondary)); +} +.browser-input:hover { + text-decoration: none; +} + +@keyframes move-forever1 { + 0% { + transform: translate(85px, 0%); + } + 100% { + transform: translate(-90px, 0%); + } +} +@keyframes move-forever2 { + 0% { + transform: translate(-90px, 0%); + } + 100% { + transform: translate(85px, 0%); + } +} +@keyframes move-forever3 { + 0% { + transform: translate(-90px, 0%); + } + 100% { + transform: translate(85px, 0%); + } +} +.section { + --section-bg: transparent; + background: var(--section-bg); + position: relative; + padding: 5rem 0; +} + +.section-sm { + padding: 4rem 0; +} + +.section-white { + --section-bg: var(--tblr-bg-surface); +} + +.section-light { + --section-bg: var(--tblr-bg-surface-secondary); +} + +.section-primary { + --section-bg: var(--tblr-primary); + color: #ffffff; +} + +.section-dark { + --section-bg: var(--tblr-dark); + color: #ffffff; +} + +.section-header { + text-align: center; + max-width: 45rem; + margin: 0 auto 5rem; +} +.section-sm .section-header { + margin-bottom: 4rem; +} + +.section-title { + font-size: var(--tblr-font-size-h1); + font-weight: var(--tblr-font-weight-semibold); + line-height: 1.2; +} + +.section-title-lg { + font-size: 2rem; +} + +.section-description { + color: var(--tblr-secondary); + font-size: var(--tblr-font-size-h3); + line-height: var(--tblr-line-height-h3); + margin-top: 1rem; +} + +.section-divider { + position: absolute; + bottom: 100%; + pointer-events: none; + height: 5rem; + width: 100%; +} +.section-divider path { + fill: var(--section-bg); +} +.section-divider .wave-1 { + animation: move-forever1 30s linear infinite; + animation-delay: -2s; +} +.section-divider .wave-2 { + animation: move-forever2 24s linear infinite; + opacity: 0.5; + animation-delay: -2s; +} +.section-divider .wave-3 { + animation: move-forever3 18s linear infinite; + opacity: 0.3; + animation-delay: -2s; +} + +.section-divider-auto { + height: auto; +} + +.pricing { + display: flex; + flex-direction: column; + margin: 0 auto; + justify-content: center; +} +@media (min-width: 768px) { + .pricing { + flex-direction: row; + } +} + +.pricing-card { + flex: 1; + display: flex; + flex-direction: column; + background: var(--tblr-bg-surface); + border: 1px solid var(--tblr-gray-200); + padding: 2rem; + margin: 0 0 1rem; + position: relative; + box-shadow: var(--tblr-shadow-card); + text-align: center; + border-radius: 8px; +} +@supports (corner-shape: squircle) { + .pricing-card { + corner-shape: squircle; + border-radius: calc(8px * 2.5) !important; + } +} +@media (min-width: 768px) { + .pricing-card { + margin: 1rem -1px; + max-width: 22rem; + } + .pricing-card:first-child { + border-radius: 8px 0 0 8px; + } + @supports (corner-shape: squircle) { + .pricing-card:first-child { + corner-shape: squircle; + border-radius: calc(8px 0 0 8px * 2.5) !important; + } + } + .pricing-card:last-child { + border-radius: 0 8px 8px 0; + } + @supports (corner-shape: squircle) { + .pricing-card:last-child { + corner-shape: squircle; + border-radius: calc(0 8px 8px 0 * 2.5) !important; + } + } +} +.pricing-card.featured { + z-index: 1; + border: 2px solid var(--tblr-primary); + order: -1; +} +@media (min-width: 768px) { + .pricing-card.featured { + order: unset; + margin-top: 0; + margin-bottom: 0; + box-shadow: var(--tblr-shadow-card); + border-radius: 8px; + } + @supports (corner-shape: squircle) { + .pricing-card.featured { + corner-shape: squircle; + border-radius: calc(8px * 2.5) !important; + } + } +} + +.pricing-title { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.pricing-label { + position: absolute; + top: 0; + inset-inline-start: 0; + transform: translateY(-50%); + vertical-align: bottom; + inset-inline-end: 0; + display: flex; + align-items: center; + justify-content: center; +} + +.pricing-btn { + margin-top: auto; + padding-top: 2rem; +} + +.pricing-price { + display: flex; + justify-content: center; + font-size: 2.5rem; + line-height: 1; + font-weight: 600; + margin: 0.75rem 0; +} + +.pricing-price-currency { + font-size: 1.25rem; + line-height: 1.5; + margin-inline-end: 0.25rem; + font-weight: 600; +} + +.pricing-price-description { + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 400; + color: #6b7280; + align-self: center; + margin-inline-start: 0.5rem; +} + +.pricing-features { + margin: 1rem 0 0; + padding: 0; + list-style: none; + text-align: start; +} +.pricing-features > li:not(:first-child) { + margin-top: 0.25rem; +} + +.shape { + --tblr-shape-size: 2.5rem; + --tblr-shape-icon-size: 1.5rem; + --tblr-shape-border-radius: 35%; + background-color: var(--tblr-primary-lt); + color: var(--tblr-primary); + border-radius: var(--tblr-shape-border-radius); +} +@supports (corner-shape: squircle) { + .shape { + corner-shape: squircle; + border-radius: calc(var(--tblr-shape-border-radius) * 2.5) !important; + } +} +.shape { + display: inline-flex; + align-items: center; + justify-content: center; + height: var(--tblr-shape-size); + width: var(--tblr-shape-size); +} +.shape .icon { + width: var(--tblr-shape-icon-size); + height: var(--tblr-shape-icon-size); +} + +.shape-xxs { + --tblr-shape-size: 1rem; + --tblr-shape-icon-size: 0.5rem; +} + +.shape-xs { + --tblr-shape-size: 1.25rem; + --tblr-shape-icon-size: 0.75rem; +} + +.shape-sm { + --tblr-shape-size: 2rem; + --tblr-shape-icon-size: 1.5rem; +} + +.shape-md { + --tblr-shape-size: 2.5rem; + --tblr-shape-icon-size: 1.5rem; +} + +.shape-lg { + --tblr-shape-size: 3rem; + --tblr-shape-icon-size: 2rem; +} + +.shape-xl { + --tblr-shape-size: 5rem; + --tblr-shape-icon-size: 3rem; +} + +.shape-2xl { + --tblr-shape-size: 7rem; + --tblr-shape-icon-size: 5rem; +} + +.shape-blue { + background: var(--tblr-blue-lt); + color: var(--tblr-blue); +} + +.shape-azure { + background: var(--tblr-azure-lt); + color: var(--tblr-azure); +} + +.shape-indigo { + background: var(--tblr-indigo-lt); + color: var(--tblr-indigo); +} + +.shape-purple { + background: var(--tblr-purple-lt); + color: var(--tblr-purple); +} + +.shape-pink { + background: var(--tblr-pink-lt); + color: var(--tblr-pink); +} + +.shape-red { + background: var(--tblr-red-lt); + color: var(--tblr-red); +} + +.shape-orange { + background: var(--tblr-orange-lt); + color: var(--tblr-orange); +} + +.shape-yellow { + background: var(--tblr-yellow-lt); + color: var(--tblr-yellow); +} + +.shape-lime { + background: var(--tblr-lime-lt); + color: var(--tblr-lime); +} + +.shape-green { + background: var(--tblr-green-lt); + color: var(--tblr-green); +} + +.shape-teal { + background: var(--tblr-teal-lt); + color: var(--tblr-teal); +} + +.shape-cyan { + background: var(--tblr-cyan-lt); + color: var(--tblr-cyan); +} + +.shape-black { + background: var(--tblr-black-lt); + color: var(--tblr-black); +} + +.shape-white { + background: var(--tblr-white-lt); + color: var(--tblr-white); +} + +.shape-gray { + background: var(--tblr-gray-lt); + color: var(--tblr-gray); +} + +.shape-gray-dark { + background: var(--tblr-gray-dark-lt); + color: var(--tblr-gray-dark); +} + +.m-7 { + margin: 3rem !important; +} + +.m-8 { + margin: 4rem !important; +} + +.m-9 { + margin: 5rem !important; +} + +.m-10 { + margin: 6rem !important; +} + +.m-11 { + margin: 7rem !important; +} + +.m-12 { + margin: 8rem !important; +} + +.mx-7 { + margin-inline-end: 3rem !important; + margin-inline-start: 3rem !important; +} + +.mx-8 { + margin-inline-end: 4rem !important; + margin-inline-start: 4rem !important; +} + +.mx-9 { + margin-inline-end: 5rem !important; + margin-inline-start: 5rem !important; +} + +.mx-10 { + margin-inline-end: 6rem !important; + margin-inline-start: 6rem !important; +} + +.mx-11 { + margin-inline-end: 7rem !important; + margin-inline-start: 7rem !important; +} + +.mx-12 { + margin-inline-end: 8rem !important; + margin-inline-start: 8rem !important; +} + +.my-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; +} + +.my-9 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; +} + +.my-10 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; +} + +.my-11 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; +} + +.my-12 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; +} + +.mt-7 { + margin-top: 3rem !important; +} + +.mt-8 { + margin-top: 4rem !important; +} + +.mt-9 { + margin-top: 5rem !important; +} + +.mt-10 { + margin-top: 6rem !important; +} + +.mt-11 { + margin-top: 7rem !important; +} + +.mt-12 { + margin-top: 8rem !important; +} + +.me-7 { + margin-inline-end: 3rem !important; +} + +.me-8 { + margin-inline-end: 4rem !important; +} + +.me-9 { + margin-inline-end: 5rem !important; +} + +.me-10 { + margin-inline-end: 6rem !important; +} + +.me-11 { + margin-inline-end: 7rem !important; +} + +.me-12 { + margin-inline-end: 8rem !important; +} + +.mb-7 { + margin-bottom: 3rem !important; +} + +.mb-8 { + margin-bottom: 4rem !important; +} + +.mb-9 { + margin-bottom: 5rem !important; +} + +.mb-10 { + margin-bottom: 6rem !important; +} + +.mb-11 { + margin-bottom: 7rem !important; +} + +.mb-12 { + margin-bottom: 8rem !important; +} + +.ms-7 { + margin-inline-start: 3rem !important; +} + +.ms-8 { + margin-inline-start: 4rem !important; +} + +.ms-9 { + margin-inline-start: 5rem !important; +} + +.ms-10 { + margin-inline-start: 6rem !important; +} + +.ms-11 { + margin-inline-start: 7rem !important; +} + +.ms-12 { + margin-inline-start: 8rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.m-n5 { + margin: -2rem !important; +} + +.m-n6 { + margin: -2.5rem !important; +} + +.m-n7 { + margin: -3rem !important; +} + +.m-n8 { + margin: -4rem !important; +} + +.m-n9 { + margin: -5rem !important; +} + +.m-n10 { + margin: -6rem !important; +} + +.m-n11 { + margin: -7rem !important; +} + +.m-n12 { + margin: -8rem !important; +} + +.mx-n1 { + margin-inline-end: -0.25rem !important; + margin-inline-start: -0.25rem !important; +} + +.mx-n2 { + margin-inline-end: -0.5rem !important; + margin-inline-start: -0.5rem !important; +} + +.mx-n3 { + margin-inline-end: -1rem !important; + margin-inline-start: -1rem !important; +} + +.mx-n4 { + margin-inline-end: -1.5rem !important; + margin-inline-start: -1.5rem !important; +} + +.mx-n5 { + margin-inline-end: -2rem !important; + margin-inline-start: -2rem !important; +} + +.mx-n6 { + margin-inline-end: -2.5rem !important; + margin-inline-start: -2.5rem !important; +} + +.mx-n7 { + margin-inline-end: -3rem !important; + margin-inline-start: -3rem !important; +} + +.mx-n8 { + margin-inline-end: -4rem !important; + margin-inline-start: -4rem !important; +} + +.mx-n9 { + margin-inline-end: -5rem !important; + margin-inline-start: -5rem !important; +} + +.mx-n10 { + margin-inline-end: -6rem !important; + margin-inline-start: -6rem !important; +} + +.mx-n11 { + margin-inline-end: -7rem !important; + margin-inline-start: -7rem !important; +} + +.mx-n12 { + margin-inline-end: -8rem !important; + margin-inline-start: -8rem !important; +} + +.my-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; +} + +.my-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; +} + +.my-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; +} + +.my-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; +} + +.my-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; +} + +.my-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; +} + +.my-n7 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; +} + +.my-n8 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; +} + +.my-n9 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; +} + +.my-n10 { + margin-top: -6rem !important; + margin-bottom: -6rem !important; +} + +.my-n11 { + margin-top: -7rem !important; + margin-bottom: -7rem !important; +} + +.my-n12 { + margin-top: -8rem !important; + margin-bottom: -8rem !important; +} + +.mt-n1 { + margin-top: -0.25rem !important; +} + +.mt-n2 { + margin-top: -0.5rem !important; +} + +.mt-n3 { + margin-top: -1rem !important; +} + +.mt-n4 { + margin-top: -1.5rem !important; +} + +.mt-n5 { + margin-top: -2rem !important; +} + +.mt-n6 { + margin-top: -2.5rem !important; +} + +.mt-n7 { + margin-top: -3rem !important; +} + +.mt-n8 { + margin-top: -4rem !important; +} + +.mt-n9 { + margin-top: -5rem !important; +} + +.mt-n10 { + margin-top: -6rem !important; +} + +.mt-n11 { + margin-top: -7rem !important; +} + +.mt-n12 { + margin-top: -8rem !important; +} + +.me-n1 { + margin-inline-end: -0.25rem !important; +} + +.me-n2 { + margin-inline-end: -0.5rem !important; +} + +.me-n3 { + margin-inline-end: -1rem !important; +} + +.me-n4 { + margin-inline-end: -1.5rem !important; +} + +.me-n5 { + margin-inline-end: -2rem !important; +} + +.me-n6 { + margin-inline-end: -2.5rem !important; +} + +.me-n7 { + margin-inline-end: -3rem !important; +} + +.me-n8 { + margin-inline-end: -4rem !important; +} + +.me-n9 { + margin-inline-end: -5rem !important; +} + +.me-n10 { + margin-inline-end: -6rem !important; +} + +.me-n11 { + margin-inline-end: -7rem !important; +} + +.me-n12 { + margin-inline-end: -8rem !important; +} + +.mb-n1 { + margin-bottom: -0.25rem !important; +} + +.mb-n2 { + margin-bottom: -0.5rem !important; +} + +.mb-n3 { + margin-bottom: -1rem !important; +} + +.mb-n4 { + margin-bottom: -1.5rem !important; +} + +.mb-n5 { + margin-bottom: -2rem !important; +} + +.mb-n6 { + margin-bottom: -2.5rem !important; +} + +.mb-n7 { + margin-bottom: -3rem !important; +} + +.mb-n8 { + margin-bottom: -4rem !important; +} + +.mb-n9 { + margin-bottom: -5rem !important; +} + +.mb-n10 { + margin-bottom: -6rem !important; +} + +.mb-n11 { + margin-bottom: -7rem !important; +} + +.mb-n12 { + margin-bottom: -8rem !important; +} + +.ms-n1 { + margin-inline-start: -0.25rem !important; +} + +.ms-n2 { + margin-inline-start: -0.5rem !important; +} + +.ms-n3 { + margin-inline-start: -1rem !important; +} + +.ms-n4 { + margin-inline-start: -1.5rem !important; +} + +.ms-n5 { + margin-inline-start: -2rem !important; +} + +.ms-n6 { + margin-inline-start: -2.5rem !important; +} + +.ms-n7 { + margin-inline-start: -3rem !important; +} + +.ms-n8 { + margin-inline-start: -4rem !important; +} + +.ms-n9 { + margin-inline-start: -5rem !important; +} + +.ms-n10 { + margin-inline-start: -6rem !important; +} + +.ms-n11 { + margin-inline-start: -7rem !important; +} + +.ms-n12 { + margin-inline-start: -8rem !important; +} + +.p-7 { + padding: 3rem !important; +} + +.p-8 { + padding: 4rem !important; +} + +.p-9 { + padding: 5rem !important; +} + +.p-10 { + padding: 6rem !important; +} + +.p-11 { + padding: 7rem !important; +} + +.p-12 { + padding: 8rem !important; +} + +.px-7 { + padding-inline-end: 3rem !important; + padding-inline-start: 3rem !important; +} + +.px-8 { + padding-inline-end: 4rem !important; + padding-inline-start: 4rem !important; +} + +.px-9 { + padding-inline-end: 5rem !important; + padding-inline-start: 5rem !important; +} + +.px-10 { + padding-inline-end: 6rem !important; + padding-inline-start: 6rem !important; +} + +.px-11 { + padding-inline-end: 7rem !important; + padding-inline-start: 7rem !important; +} + +.px-12 { + padding-inline-end: 8rem !important; + padding-inline-start: 8rem !important; +} + +.py-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.py-8 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; +} + +.py-9 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; +} + +.py-10 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; +} + +.py-11 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; +} + +.py-12 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; +} + +.pt-7 { + padding-top: 3rem !important; +} + +.pt-8 { + padding-top: 4rem !important; +} + +.pt-9 { + padding-top: 5rem !important; +} + +.pt-10 { + padding-top: 6rem !important; +} + +.pt-11 { + padding-top: 7rem !important; +} + +.pt-12 { + padding-top: 8rem !important; +} + +.pe-7 { + padding-inline-end: 3rem !important; +} + +.pe-8 { + padding-inline-end: 4rem !important; +} + +.pe-9 { + padding-inline-end: 5rem !important; +} + +.pe-10 { + padding-inline-end: 6rem !important; +} + +.pe-11 { + padding-inline-end: 7rem !important; +} + +.pe-12 { + padding-inline-end: 8rem !important; +} + +.pb-7 { + padding-bottom: 3rem !important; +} + +.pb-8 { + padding-bottom: 4rem !important; +} + +.pb-9 { + padding-bottom: 5rem !important; +} + +.pb-10 { + padding-bottom: 6rem !important; +} + +.pb-11 { + padding-bottom: 7rem !important; +} + +.pb-12 { + padding-bottom: 8rem !important; +} + +.ps-7 { + padding-inline-start: 3rem !important; +} + +.ps-8 { + padding-inline-start: 4rem !important; +} + +.ps-9 { + padding-inline-start: 5rem !important; +} + +.ps-10 { + padding-inline-start: 6rem !important; +} + +.ps-11 { + padding-inline-start: 7rem !important; +} + +.ps-12 { + padding-inline-start: 8rem !important; +} + +.gap-7 { + gap: 3rem !important; +} + +.gap-8 { + gap: 4rem !important; +} + +.gap-9 { + gap: 5rem !important; +} + +.gap-10 { + gap: 6rem !important; +} + +.gap-11 { + gap: 7rem !important; +} + +.gap-12 { + gap: 8rem !important; +} + +.row-gap-7 { + row-gap: 3rem !important; +} + +.row-gap-8 { + row-gap: 4rem !important; +} + +.row-gap-9 { + row-gap: 5rem !important; +} + +.row-gap-10 { + row-gap: 6rem !important; +} + +.row-gap-11 { + row-gap: 7rem !important; +} + +.row-gap-12 { + row-gap: 8rem !important; +} + +.column-gap-7 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; +} + +.column-gap-8 { + -moz-column-gap: 4rem !important; + column-gap: 4rem !important; +} + +.column-gap-9 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; +} + +.column-gap-10 { + -moz-column-gap: 6rem !important; + column-gap: 6rem !important; +} + +.column-gap-11 { + -moz-column-gap: 7rem !important; + column-gap: 7rem !important; +} + +.column-gap-12 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; +} + +.tracking-tight { + letter-spacing: -0.04em !important; +} + +.tracking-normal { + letter-spacing: 0 !important; +} + +.tracking-wide { + letter-spacing: 0.04em !important; +} + +.w-7 { + width: 3rem !important; +} + +.w-8 { + width: 4rem !important; +} + +.w-9 { + width: 5rem !important; +} + +.w-10 { + width: 6rem !important; +} + +.w-11 { + width: 7rem !important; +} + +.w-12 { + width: 8rem !important; +} + +.h-7 { + height: 3rem !important; +} + +.h-8 { + height: 4rem !important; +} + +.h-9 { + height: 5rem !important; +} + +.h-10 { + height: 6rem !important; +} + +.h-11 { + height: 7rem !important; +} + +.h-12 { + height: 8rem !important; +} + +.filter-grayscale { + filter: grayscale(100%) !important; +} + +.gx-7 { + --tblr-gutter-x: 3rem; +} + +.gx-8 { + --tblr-gutter-x: 4rem; +} + +.gx-9 { + --tblr-gutter-x: 5rem; +} + +.gx-10 { + --tblr-gutter-x: 6rem; +} + +.gx-11 { + --tblr-gutter-x: 7rem; +} + +.gx-12 { + --tblr-gutter-x: 8rem; +} + +.gy-7 { + --tblr-gutter-y: 3rem; +} + +.gy-8 { + --tblr-gutter-y: 4rem; +} + +.gy-9 { + --tblr-gutter-y: 5rem; +} + +.gy-10 { + --tblr-gutter-y: 6rem; +} + +.gy-11 { + --tblr-gutter-y: 7rem; +} + +.gy-12 { + --tblr-gutter-y: 8rem; +} + +.g-7 { + --tblr-gutter-x: 3rem; +} + +.g-8 { + --tblr-gutter-x: 4rem; +} + +.g-9 { + --tblr-gutter-x: 5rem; +} + +.g-10 { + --tblr-gutter-x: 6rem; +} + +.g-11 { + --tblr-gutter-x: 7rem; +} + +.g-12 { + --tblr-gutter-x: 8rem; +} + +@media (min-width: 576px) { + .m-sm-7 { + margin: 3rem !important; + } + .m-sm-8 { + margin: 4rem !important; + } + .m-sm-9 { + margin: 5rem !important; + } + .m-sm-10 { + margin: 6rem !important; + } + .m-sm-11 { + margin: 7rem !important; + } + .m-sm-12 { + margin: 8rem !important; + } + .mx-sm-7 { + margin-inline-end: 3rem !important; + margin-inline-start: 3rem !important; + } + .mx-sm-8 { + margin-inline-end: 4rem !important; + margin-inline-start: 4rem !important; + } + .mx-sm-9 { + margin-inline-end: 5rem !important; + margin-inline-start: 5rem !important; + } + .mx-sm-10 { + margin-inline-end: 6rem !important; + margin-inline-start: 6rem !important; + } + .mx-sm-11 { + margin-inline-end: 7rem !important; + margin-inline-start: 7rem !important; + } + .mx-sm-12 { + margin-inline-end: 8rem !important; + margin-inline-start: 8rem !important; + } + .my-sm-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .my-sm-9 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-sm-10 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .my-sm-11 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .my-sm-12 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-sm-7 { + margin-top: 3rem !important; + } + .mt-sm-8 { + margin-top: 4rem !important; + } + .mt-sm-9 { + margin-top: 5rem !important; + } + .mt-sm-10 { + margin-top: 6rem !important; + } + .mt-sm-11 { + margin-top: 7rem !important; + } + .mt-sm-12 { + margin-top: 8rem !important; + } + .me-sm-7 { + margin-inline-end: 3rem !important; + } + .me-sm-8 { + margin-inline-end: 4rem !important; + } + .me-sm-9 { + margin-inline-end: 5rem !important; + } + .me-sm-10 { + margin-inline-end: 6rem !important; + } + .me-sm-11 { + margin-inline-end: 7rem !important; + } + .me-sm-12 { + margin-inline-end: 8rem !important; + } + .mb-sm-7 { + margin-bottom: 3rem !important; + } + .mb-sm-8 { + margin-bottom: 4rem !important; + } + .mb-sm-9 { + margin-bottom: 5rem !important; + } + .mb-sm-10 { + margin-bottom: 6rem !important; + } + .mb-sm-11 { + margin-bottom: 7rem !important; + } + .mb-sm-12 { + margin-bottom: 8rem !important; + } + .ms-sm-7 { + margin-inline-start: 3rem !important; + } + .ms-sm-8 { + margin-inline-start: 4rem !important; + } + .ms-sm-9 { + margin-inline-start: 5rem !important; + } + .ms-sm-10 { + margin-inline-start: 6rem !important; + } + .ms-sm-11 { + margin-inline-start: 7rem !important; + } + .ms-sm-12 { + margin-inline-start: 8rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .m-sm-n5 { + margin: -2rem !important; + } + .m-sm-n6 { + margin: -2.5rem !important; + } + .m-sm-n7 { + margin: -3rem !important; + } + .m-sm-n8 { + margin: -4rem !important; + } + .m-sm-n9 { + margin: -5rem !important; + } + .m-sm-n10 { + margin: -6rem !important; + } + .m-sm-n11 { + margin: -7rem !important; + } + .m-sm-n12 { + margin: -8rem !important; + } + .mx-sm-n1 { + margin-inline-end: -0.25rem !important; + margin-inline-start: -0.25rem !important; + } + .mx-sm-n2 { + margin-inline-end: -0.5rem !important; + margin-inline-start: -0.5rem !important; + } + .mx-sm-n3 { + margin-inline-end: -1rem !important; + margin-inline-start: -1rem !important; + } + .mx-sm-n4 { + margin-inline-end: -1.5rem !important; + margin-inline-start: -1.5rem !important; + } + .mx-sm-n5 { + margin-inline-end: -2rem !important; + margin-inline-start: -2rem !important; + } + .mx-sm-n6 { + margin-inline-end: -2.5rem !important; + margin-inline-start: -2.5rem !important; + } + .mx-sm-n7 { + margin-inline-end: -3rem !important; + margin-inline-start: -3rem !important; + } + .mx-sm-n8 { + margin-inline-end: -4rem !important; + margin-inline-start: -4rem !important; + } + .mx-sm-n9 { + margin-inline-end: -5rem !important; + margin-inline-start: -5rem !important; + } + .mx-sm-n10 { + margin-inline-end: -6rem !important; + margin-inline-start: -6rem !important; + } + .mx-sm-n11 { + margin-inline-end: -7rem !important; + margin-inline-start: -7rem !important; + } + .mx-sm-n12 { + margin-inline-end: -8rem !important; + margin-inline-start: -8rem !important; + } + .my-sm-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-sm-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-sm-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-sm-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-sm-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-sm-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .my-sm-n7 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + .my-sm-n8 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + .my-sm-n9 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + .my-sm-n10 { + margin-top: -6rem !important; + margin-bottom: -6rem !important; + } + .my-sm-n11 { + margin-top: -7rem !important; + margin-bottom: -7rem !important; + } + .my-sm-n12 { + margin-top: -8rem !important; + margin-bottom: -8rem !important; + } + .mt-sm-n1 { + margin-top: -0.25rem !important; + } + .mt-sm-n2 { + margin-top: -0.5rem !important; + } + .mt-sm-n3 { + margin-top: -1rem !important; + } + .mt-sm-n4 { + margin-top: -1.5rem !important; + } + .mt-sm-n5 { + margin-top: -2rem !important; + } + .mt-sm-n6 { + margin-top: -2.5rem !important; + } + .mt-sm-n7 { + margin-top: -3rem !important; + } + .mt-sm-n8 { + margin-top: -4rem !important; + } + .mt-sm-n9 { + margin-top: -5rem !important; + } + .mt-sm-n10 { + margin-top: -6rem !important; + } + .mt-sm-n11 { + margin-top: -7rem !important; + } + .mt-sm-n12 { + margin-top: -8rem !important; + } + .me-sm-n1 { + margin-inline-end: -0.25rem !important; + } + .me-sm-n2 { + margin-inline-end: -0.5rem !important; + } + .me-sm-n3 { + margin-inline-end: -1rem !important; + } + .me-sm-n4 { + margin-inline-end: -1.5rem !important; + } + .me-sm-n5 { + margin-inline-end: -2rem !important; + } + .me-sm-n6 { + margin-inline-end: -2.5rem !important; + } + .me-sm-n7 { + margin-inline-end: -3rem !important; + } + .me-sm-n8 { + margin-inline-end: -4rem !important; + } + .me-sm-n9 { + margin-inline-end: -5rem !important; + } + .me-sm-n10 { + margin-inline-end: -6rem !important; + } + .me-sm-n11 { + margin-inline-end: -7rem !important; + } + .me-sm-n12 { + margin-inline-end: -8rem !important; + } + .mb-sm-n1 { + margin-bottom: -0.25rem !important; + } + .mb-sm-n2 { + margin-bottom: -0.5rem !important; + } + .mb-sm-n3 { + margin-bottom: -1rem !important; + } + .mb-sm-n4 { + margin-bottom: -1.5rem !important; + } + .mb-sm-n5 { + margin-bottom: -2rem !important; + } + .mb-sm-n6 { + margin-bottom: -2.5rem !important; + } + .mb-sm-n7 { + margin-bottom: -3rem !important; + } + .mb-sm-n8 { + margin-bottom: -4rem !important; + } + .mb-sm-n9 { + margin-bottom: -5rem !important; + } + .mb-sm-n10 { + margin-bottom: -6rem !important; + } + .mb-sm-n11 { + margin-bottom: -7rem !important; + } + .mb-sm-n12 { + margin-bottom: -8rem !important; + } + .ms-sm-n1 { + margin-inline-start: -0.25rem !important; + } + .ms-sm-n2 { + margin-inline-start: -0.5rem !important; + } + .ms-sm-n3 { + margin-inline-start: -1rem !important; + } + .ms-sm-n4 { + margin-inline-start: -1.5rem !important; + } + .ms-sm-n5 { + margin-inline-start: -2rem !important; + } + .ms-sm-n6 { + margin-inline-start: -2.5rem !important; + } + .ms-sm-n7 { + margin-inline-start: -3rem !important; + } + .ms-sm-n8 { + margin-inline-start: -4rem !important; + } + .ms-sm-n9 { + margin-inline-start: -5rem !important; + } + .ms-sm-n10 { + margin-inline-start: -6rem !important; + } + .ms-sm-n11 { + margin-inline-start: -7rem !important; + } + .ms-sm-n12 { + margin-inline-start: -8rem !important; + } + .p-sm-7 { + padding: 3rem !important; + } + .p-sm-8 { + padding: 4rem !important; + } + .p-sm-9 { + padding: 5rem !important; + } + .p-sm-10 { + padding: 6rem !important; + } + .p-sm-11 { + padding: 7rem !important; + } + .p-sm-12 { + padding: 8rem !important; + } + .px-sm-7 { + padding-inline-end: 3rem !important; + padding-inline-start: 3rem !important; + } + .px-sm-8 { + padding-inline-end: 4rem !important; + padding-inline-start: 4rem !important; + } + .px-sm-9 { + padding-inline-end: 5rem !important; + padding-inline-start: 5rem !important; + } + .px-sm-10 { + padding-inline-end: 6rem !important; + padding-inline-start: 6rem !important; + } + .px-sm-11 { + padding-inline-end: 7rem !important; + padding-inline-start: 7rem !important; + } + .px-sm-12 { + padding-inline-end: 8rem !important; + padding-inline-start: 8rem !important; + } + .py-sm-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-sm-8 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .py-sm-9 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-sm-10 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .py-sm-11 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .py-sm-12 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-sm-7 { + padding-top: 3rem !important; + } + .pt-sm-8 { + padding-top: 4rem !important; + } + .pt-sm-9 { + padding-top: 5rem !important; + } + .pt-sm-10 { + padding-top: 6rem !important; + } + .pt-sm-11 { + padding-top: 7rem !important; + } + .pt-sm-12 { + padding-top: 8rem !important; + } + .pe-sm-7 { + padding-inline-end: 3rem !important; + } + .pe-sm-8 { + padding-inline-end: 4rem !important; + } + .pe-sm-9 { + padding-inline-end: 5rem !important; + } + .pe-sm-10 { + padding-inline-end: 6rem !important; + } + .pe-sm-11 { + padding-inline-end: 7rem !important; + } + .pe-sm-12 { + padding-inline-end: 8rem !important; + } + .pb-sm-7 { + padding-bottom: 3rem !important; + } + .pb-sm-8 { + padding-bottom: 4rem !important; + } + .pb-sm-9 { + padding-bottom: 5rem !important; + } + .pb-sm-10 { + padding-bottom: 6rem !important; + } + .pb-sm-11 { + padding-bottom: 7rem !important; + } + .pb-sm-12 { + padding-bottom: 8rem !important; + } + .ps-sm-7 { + padding-inline-start: 3rem !important; + } + .ps-sm-8 { + padding-inline-start: 4rem !important; + } + .ps-sm-9 { + padding-inline-start: 5rem !important; + } + .ps-sm-10 { + padding-inline-start: 6rem !important; + } + .ps-sm-11 { + padding-inline-start: 7rem !important; + } + .ps-sm-12 { + padding-inline-start: 8rem !important; + } + .gap-sm-7 { + gap: 3rem !important; + } + .gap-sm-8 { + gap: 4rem !important; + } + .gap-sm-9 { + gap: 5rem !important; + } + .gap-sm-10 { + gap: 6rem !important; + } + .gap-sm-11 { + gap: 7rem !important; + } + .gap-sm-12 { + gap: 8rem !important; + } + .row-gap-sm-7 { + row-gap: 3rem !important; + } + .row-gap-sm-8 { + row-gap: 4rem !important; + } + .row-gap-sm-9 { + row-gap: 5rem !important; + } + .row-gap-sm-10 { + row-gap: 6rem !important; + } + .row-gap-sm-11 { + row-gap: 7rem !important; + } + .row-gap-sm-12 { + row-gap: 8rem !important; + } + .column-gap-sm-7 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-sm-8 { + -moz-column-gap: 4rem !important; + column-gap: 4rem !important; + } + .column-gap-sm-9 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-sm-10 { + -moz-column-gap: 6rem !important; + column-gap: 6rem !important; + } + .column-gap-sm-11 { + -moz-column-gap: 7rem !important; + column-gap: 7rem !important; + } + .column-gap-sm-12 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .gx-sm-7 { + --tblr-gutter-x: 3rem; + } + .gx-sm-8 { + --tblr-gutter-x: 4rem; + } + .gx-sm-9 { + --tblr-gutter-x: 5rem; + } + .gx-sm-10 { + --tblr-gutter-x: 6rem; + } + .gx-sm-11 { + --tblr-gutter-x: 7rem; + } + .gx-sm-12 { + --tblr-gutter-x: 8rem; + } + .gy-sm-7 { + --tblr-gutter-y: 3rem; + } + .gy-sm-8 { + --tblr-gutter-y: 4rem; + } + .gy-sm-9 { + --tblr-gutter-y: 5rem; + } + .gy-sm-10 { + --tblr-gutter-y: 6rem; + } + .gy-sm-11 { + --tblr-gutter-y: 7rem; + } + .gy-sm-12 { + --tblr-gutter-y: 8rem; + } + .g-sm-7 { + --tblr-gutter-x: 3rem; + } + .g-sm-8 { + --tblr-gutter-x: 4rem; + } + .g-sm-9 { + --tblr-gutter-x: 5rem; + } + .g-sm-10 { + --tblr-gutter-x: 6rem; + } + .g-sm-11 { + --tblr-gutter-x: 7rem; + } + .g-sm-12 { + --tblr-gutter-x: 8rem; + } +} +@media (min-width: 768px) { + .m-md-7 { + margin: 3rem !important; + } + .m-md-8 { + margin: 4rem !important; + } + .m-md-9 { + margin: 5rem !important; + } + .m-md-10 { + margin: 6rem !important; + } + .m-md-11 { + margin: 7rem !important; + } + .m-md-12 { + margin: 8rem !important; + } + .mx-md-7 { + margin-inline-end: 3rem !important; + margin-inline-start: 3rem !important; + } + .mx-md-8 { + margin-inline-end: 4rem !important; + margin-inline-start: 4rem !important; + } + .mx-md-9 { + margin-inline-end: 5rem !important; + margin-inline-start: 5rem !important; + } + .mx-md-10 { + margin-inline-end: 6rem !important; + margin-inline-start: 6rem !important; + } + .mx-md-11 { + margin-inline-end: 7rem !important; + margin-inline-start: 7rem !important; + } + .mx-md-12 { + margin-inline-end: 8rem !important; + margin-inline-start: 8rem !important; + } + .my-md-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .my-md-9 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-md-10 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .my-md-11 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .my-md-12 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-md-7 { + margin-top: 3rem !important; + } + .mt-md-8 { + margin-top: 4rem !important; + } + .mt-md-9 { + margin-top: 5rem !important; + } + .mt-md-10 { + margin-top: 6rem !important; + } + .mt-md-11 { + margin-top: 7rem !important; + } + .mt-md-12 { + margin-top: 8rem !important; + } + .me-md-7 { + margin-inline-end: 3rem !important; + } + .me-md-8 { + margin-inline-end: 4rem !important; + } + .me-md-9 { + margin-inline-end: 5rem !important; + } + .me-md-10 { + margin-inline-end: 6rem !important; + } + .me-md-11 { + margin-inline-end: 7rem !important; + } + .me-md-12 { + margin-inline-end: 8rem !important; + } + .mb-md-7 { + margin-bottom: 3rem !important; + } + .mb-md-8 { + margin-bottom: 4rem !important; + } + .mb-md-9 { + margin-bottom: 5rem !important; + } + .mb-md-10 { + margin-bottom: 6rem !important; + } + .mb-md-11 { + margin-bottom: 7rem !important; + } + .mb-md-12 { + margin-bottom: 8rem !important; + } + .ms-md-7 { + margin-inline-start: 3rem !important; + } + .ms-md-8 { + margin-inline-start: 4rem !important; + } + .ms-md-9 { + margin-inline-start: 5rem !important; + } + .ms-md-10 { + margin-inline-start: 6rem !important; + } + .ms-md-11 { + margin-inline-start: 7rem !important; + } + .ms-md-12 { + margin-inline-start: 8rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .m-md-n5 { + margin: -2rem !important; + } + .m-md-n6 { + margin: -2.5rem !important; + } + .m-md-n7 { + margin: -3rem !important; + } + .m-md-n8 { + margin: -4rem !important; + } + .m-md-n9 { + margin: -5rem !important; + } + .m-md-n10 { + margin: -6rem !important; + } + .m-md-n11 { + margin: -7rem !important; + } + .m-md-n12 { + margin: -8rem !important; + } + .mx-md-n1 { + margin-inline-end: -0.25rem !important; + margin-inline-start: -0.25rem !important; + } + .mx-md-n2 { + margin-inline-end: -0.5rem !important; + margin-inline-start: -0.5rem !important; + } + .mx-md-n3 { + margin-inline-end: -1rem !important; + margin-inline-start: -1rem !important; + } + .mx-md-n4 { + margin-inline-end: -1.5rem !important; + margin-inline-start: -1.5rem !important; + } + .mx-md-n5 { + margin-inline-end: -2rem !important; + margin-inline-start: -2rem !important; + } + .mx-md-n6 { + margin-inline-end: -2.5rem !important; + margin-inline-start: -2.5rem !important; + } + .mx-md-n7 { + margin-inline-end: -3rem !important; + margin-inline-start: -3rem !important; + } + .mx-md-n8 { + margin-inline-end: -4rem !important; + margin-inline-start: -4rem !important; + } + .mx-md-n9 { + margin-inline-end: -5rem !important; + margin-inline-start: -5rem !important; + } + .mx-md-n10 { + margin-inline-end: -6rem !important; + margin-inline-start: -6rem !important; + } + .mx-md-n11 { + margin-inline-end: -7rem !important; + margin-inline-start: -7rem !important; + } + .mx-md-n12 { + margin-inline-end: -8rem !important; + margin-inline-start: -8rem !important; + } + .my-md-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-md-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-md-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-md-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-md-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-md-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .my-md-n7 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + .my-md-n8 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + .my-md-n9 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + .my-md-n10 { + margin-top: -6rem !important; + margin-bottom: -6rem !important; + } + .my-md-n11 { + margin-top: -7rem !important; + margin-bottom: -7rem !important; + } + .my-md-n12 { + margin-top: -8rem !important; + margin-bottom: -8rem !important; + } + .mt-md-n1 { + margin-top: -0.25rem !important; + } + .mt-md-n2 { + margin-top: -0.5rem !important; + } + .mt-md-n3 { + margin-top: -1rem !important; + } + .mt-md-n4 { + margin-top: -1.5rem !important; + } + .mt-md-n5 { + margin-top: -2rem !important; + } + .mt-md-n6 { + margin-top: -2.5rem !important; + } + .mt-md-n7 { + margin-top: -3rem !important; + } + .mt-md-n8 { + margin-top: -4rem !important; + } + .mt-md-n9 { + margin-top: -5rem !important; + } + .mt-md-n10 { + margin-top: -6rem !important; + } + .mt-md-n11 { + margin-top: -7rem !important; + } + .mt-md-n12 { + margin-top: -8rem !important; + } + .me-md-n1 { + margin-inline-end: -0.25rem !important; + } + .me-md-n2 { + margin-inline-end: -0.5rem !important; + } + .me-md-n3 { + margin-inline-end: -1rem !important; + } + .me-md-n4 { + margin-inline-end: -1.5rem !important; + } + .me-md-n5 { + margin-inline-end: -2rem !important; + } + .me-md-n6 { + margin-inline-end: -2.5rem !important; + } + .me-md-n7 { + margin-inline-end: -3rem !important; + } + .me-md-n8 { + margin-inline-end: -4rem !important; + } + .me-md-n9 { + margin-inline-end: -5rem !important; + } + .me-md-n10 { + margin-inline-end: -6rem !important; + } + .me-md-n11 { + margin-inline-end: -7rem !important; + } + .me-md-n12 { + margin-inline-end: -8rem !important; + } + .mb-md-n1 { + margin-bottom: -0.25rem !important; + } + .mb-md-n2 { + margin-bottom: -0.5rem !important; + } + .mb-md-n3 { + margin-bottom: -1rem !important; + } + .mb-md-n4 { + margin-bottom: -1.5rem !important; + } + .mb-md-n5 { + margin-bottom: -2rem !important; + } + .mb-md-n6 { + margin-bottom: -2.5rem !important; + } + .mb-md-n7 { + margin-bottom: -3rem !important; + } + .mb-md-n8 { + margin-bottom: -4rem !important; + } + .mb-md-n9 { + margin-bottom: -5rem !important; + } + .mb-md-n10 { + margin-bottom: -6rem !important; + } + .mb-md-n11 { + margin-bottom: -7rem !important; + } + .mb-md-n12 { + margin-bottom: -8rem !important; + } + .ms-md-n1 { + margin-inline-start: -0.25rem !important; + } + .ms-md-n2 { + margin-inline-start: -0.5rem !important; + } + .ms-md-n3 { + margin-inline-start: -1rem !important; + } + .ms-md-n4 { + margin-inline-start: -1.5rem !important; + } + .ms-md-n5 { + margin-inline-start: -2rem !important; + } + .ms-md-n6 { + margin-inline-start: -2.5rem !important; + } + .ms-md-n7 { + margin-inline-start: -3rem !important; + } + .ms-md-n8 { + margin-inline-start: -4rem !important; + } + .ms-md-n9 { + margin-inline-start: -5rem !important; + } + .ms-md-n10 { + margin-inline-start: -6rem !important; + } + .ms-md-n11 { + margin-inline-start: -7rem !important; + } + .ms-md-n12 { + margin-inline-start: -8rem !important; + } + .p-md-7 { + padding: 3rem !important; + } + .p-md-8 { + padding: 4rem !important; + } + .p-md-9 { + padding: 5rem !important; + } + .p-md-10 { + padding: 6rem !important; + } + .p-md-11 { + padding: 7rem !important; + } + .p-md-12 { + padding: 8rem !important; + } + .px-md-7 { + padding-inline-end: 3rem !important; + padding-inline-start: 3rem !important; + } + .px-md-8 { + padding-inline-end: 4rem !important; + padding-inline-start: 4rem !important; + } + .px-md-9 { + padding-inline-end: 5rem !important; + padding-inline-start: 5rem !important; + } + .px-md-10 { + padding-inline-end: 6rem !important; + padding-inline-start: 6rem !important; + } + .px-md-11 { + padding-inline-end: 7rem !important; + padding-inline-start: 7rem !important; + } + .px-md-12 { + padding-inline-end: 8rem !important; + padding-inline-start: 8rem !important; + } + .py-md-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-md-8 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .py-md-9 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-md-10 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .py-md-11 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .py-md-12 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-md-7 { + padding-top: 3rem !important; + } + .pt-md-8 { + padding-top: 4rem !important; + } + .pt-md-9 { + padding-top: 5rem !important; + } + .pt-md-10 { + padding-top: 6rem !important; + } + .pt-md-11 { + padding-top: 7rem !important; + } + .pt-md-12 { + padding-top: 8rem !important; + } + .pe-md-7 { + padding-inline-end: 3rem !important; + } + .pe-md-8 { + padding-inline-end: 4rem !important; + } + .pe-md-9 { + padding-inline-end: 5rem !important; + } + .pe-md-10 { + padding-inline-end: 6rem !important; + } + .pe-md-11 { + padding-inline-end: 7rem !important; + } + .pe-md-12 { + padding-inline-end: 8rem !important; + } + .pb-md-7 { + padding-bottom: 3rem !important; + } + .pb-md-8 { + padding-bottom: 4rem !important; + } + .pb-md-9 { + padding-bottom: 5rem !important; + } + .pb-md-10 { + padding-bottom: 6rem !important; + } + .pb-md-11 { + padding-bottom: 7rem !important; + } + .pb-md-12 { + padding-bottom: 8rem !important; + } + .ps-md-7 { + padding-inline-start: 3rem !important; + } + .ps-md-8 { + padding-inline-start: 4rem !important; + } + .ps-md-9 { + padding-inline-start: 5rem !important; + } + .ps-md-10 { + padding-inline-start: 6rem !important; + } + .ps-md-11 { + padding-inline-start: 7rem !important; + } + .ps-md-12 { + padding-inline-start: 8rem !important; + } + .gap-md-7 { + gap: 3rem !important; + } + .gap-md-8 { + gap: 4rem !important; + } + .gap-md-9 { + gap: 5rem !important; + } + .gap-md-10 { + gap: 6rem !important; + } + .gap-md-11 { + gap: 7rem !important; + } + .gap-md-12 { + gap: 8rem !important; + } + .row-gap-md-7 { + row-gap: 3rem !important; + } + .row-gap-md-8 { + row-gap: 4rem !important; + } + .row-gap-md-9 { + row-gap: 5rem !important; + } + .row-gap-md-10 { + row-gap: 6rem !important; + } + .row-gap-md-11 { + row-gap: 7rem !important; + } + .row-gap-md-12 { + row-gap: 8rem !important; + } + .column-gap-md-7 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-md-8 { + -moz-column-gap: 4rem !important; + column-gap: 4rem !important; + } + .column-gap-md-9 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-md-10 { + -moz-column-gap: 6rem !important; + column-gap: 6rem !important; + } + .column-gap-md-11 { + -moz-column-gap: 7rem !important; + column-gap: 7rem !important; + } + .column-gap-md-12 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .gx-md-7 { + --tblr-gutter-x: 3rem; + } + .gx-md-8 { + --tblr-gutter-x: 4rem; + } + .gx-md-9 { + --tblr-gutter-x: 5rem; + } + .gx-md-10 { + --tblr-gutter-x: 6rem; + } + .gx-md-11 { + --tblr-gutter-x: 7rem; + } + .gx-md-12 { + --tblr-gutter-x: 8rem; + } + .gy-md-7 { + --tblr-gutter-y: 3rem; + } + .gy-md-8 { + --tblr-gutter-y: 4rem; + } + .gy-md-9 { + --tblr-gutter-y: 5rem; + } + .gy-md-10 { + --tblr-gutter-y: 6rem; + } + .gy-md-11 { + --tblr-gutter-y: 7rem; + } + .gy-md-12 { + --tblr-gutter-y: 8rem; + } + .g-md-7 { + --tblr-gutter-x: 3rem; + } + .g-md-8 { + --tblr-gutter-x: 4rem; + } + .g-md-9 { + --tblr-gutter-x: 5rem; + } + .g-md-10 { + --tblr-gutter-x: 6rem; + } + .g-md-11 { + --tblr-gutter-x: 7rem; + } + .g-md-12 { + --tblr-gutter-x: 8rem; + } +} +@media (min-width: 992px) { + .m-lg-7 { + margin: 3rem !important; + } + .m-lg-8 { + margin: 4rem !important; + } + .m-lg-9 { + margin: 5rem !important; + } + .m-lg-10 { + margin: 6rem !important; + } + .m-lg-11 { + margin: 7rem !important; + } + .m-lg-12 { + margin: 8rem !important; + } + .mx-lg-7 { + margin-inline-end: 3rem !important; + margin-inline-start: 3rem !important; + } + .mx-lg-8 { + margin-inline-end: 4rem !important; + margin-inline-start: 4rem !important; + } + .mx-lg-9 { + margin-inline-end: 5rem !important; + margin-inline-start: 5rem !important; + } + .mx-lg-10 { + margin-inline-end: 6rem !important; + margin-inline-start: 6rem !important; + } + .mx-lg-11 { + margin-inline-end: 7rem !important; + margin-inline-start: 7rem !important; + } + .mx-lg-12 { + margin-inline-end: 8rem !important; + margin-inline-start: 8rem !important; + } + .my-lg-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .my-lg-9 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-lg-10 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .my-lg-11 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .my-lg-12 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-lg-7 { + margin-top: 3rem !important; + } + .mt-lg-8 { + margin-top: 4rem !important; + } + .mt-lg-9 { + margin-top: 5rem !important; + } + .mt-lg-10 { + margin-top: 6rem !important; + } + .mt-lg-11 { + margin-top: 7rem !important; + } + .mt-lg-12 { + margin-top: 8rem !important; + } + .me-lg-7 { + margin-inline-end: 3rem !important; + } + .me-lg-8 { + margin-inline-end: 4rem !important; + } + .me-lg-9 { + margin-inline-end: 5rem !important; + } + .me-lg-10 { + margin-inline-end: 6rem !important; + } + .me-lg-11 { + margin-inline-end: 7rem !important; + } + .me-lg-12 { + margin-inline-end: 8rem !important; + } + .mb-lg-7 { + margin-bottom: 3rem !important; + } + .mb-lg-8 { + margin-bottom: 4rem !important; + } + .mb-lg-9 { + margin-bottom: 5rem !important; + } + .mb-lg-10 { + margin-bottom: 6rem !important; + } + .mb-lg-11 { + margin-bottom: 7rem !important; + } + .mb-lg-12 { + margin-bottom: 8rem !important; + } + .ms-lg-7 { + margin-inline-start: 3rem !important; + } + .ms-lg-8 { + margin-inline-start: 4rem !important; + } + .ms-lg-9 { + margin-inline-start: 5rem !important; + } + .ms-lg-10 { + margin-inline-start: 6rem !important; + } + .ms-lg-11 { + margin-inline-start: 7rem !important; + } + .ms-lg-12 { + margin-inline-start: 8rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .m-lg-n5 { + margin: -2rem !important; + } + .m-lg-n6 { + margin: -2.5rem !important; + } + .m-lg-n7 { + margin: -3rem !important; + } + .m-lg-n8 { + margin: -4rem !important; + } + .m-lg-n9 { + margin: -5rem !important; + } + .m-lg-n10 { + margin: -6rem !important; + } + .m-lg-n11 { + margin: -7rem !important; + } + .m-lg-n12 { + margin: -8rem !important; + } + .mx-lg-n1 { + margin-inline-end: -0.25rem !important; + margin-inline-start: -0.25rem !important; + } + .mx-lg-n2 { + margin-inline-end: -0.5rem !important; + margin-inline-start: -0.5rem !important; + } + .mx-lg-n3 { + margin-inline-end: -1rem !important; + margin-inline-start: -1rem !important; + } + .mx-lg-n4 { + margin-inline-end: -1.5rem !important; + margin-inline-start: -1.5rem !important; + } + .mx-lg-n5 { + margin-inline-end: -2rem !important; + margin-inline-start: -2rem !important; + } + .mx-lg-n6 { + margin-inline-end: -2.5rem !important; + margin-inline-start: -2.5rem !important; + } + .mx-lg-n7 { + margin-inline-end: -3rem !important; + margin-inline-start: -3rem !important; + } + .mx-lg-n8 { + margin-inline-end: -4rem !important; + margin-inline-start: -4rem !important; + } + .mx-lg-n9 { + margin-inline-end: -5rem !important; + margin-inline-start: -5rem !important; + } + .mx-lg-n10 { + margin-inline-end: -6rem !important; + margin-inline-start: -6rem !important; + } + .mx-lg-n11 { + margin-inline-end: -7rem !important; + margin-inline-start: -7rem !important; + } + .mx-lg-n12 { + margin-inline-end: -8rem !important; + margin-inline-start: -8rem !important; + } + .my-lg-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-lg-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-lg-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-lg-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-lg-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-lg-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .my-lg-n7 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + .my-lg-n8 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + .my-lg-n9 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + .my-lg-n10 { + margin-top: -6rem !important; + margin-bottom: -6rem !important; + } + .my-lg-n11 { + margin-top: -7rem !important; + margin-bottom: -7rem !important; + } + .my-lg-n12 { + margin-top: -8rem !important; + margin-bottom: -8rem !important; + } + .mt-lg-n1 { + margin-top: -0.25rem !important; + } + .mt-lg-n2 { + margin-top: -0.5rem !important; + } + .mt-lg-n3 { + margin-top: -1rem !important; + } + .mt-lg-n4 { + margin-top: -1.5rem !important; + } + .mt-lg-n5 { + margin-top: -2rem !important; + } + .mt-lg-n6 { + margin-top: -2.5rem !important; + } + .mt-lg-n7 { + margin-top: -3rem !important; + } + .mt-lg-n8 { + margin-top: -4rem !important; + } + .mt-lg-n9 { + margin-top: -5rem !important; + } + .mt-lg-n10 { + margin-top: -6rem !important; + } + .mt-lg-n11 { + margin-top: -7rem !important; + } + .mt-lg-n12 { + margin-top: -8rem !important; + } + .me-lg-n1 { + margin-inline-end: -0.25rem !important; + } + .me-lg-n2 { + margin-inline-end: -0.5rem !important; + } + .me-lg-n3 { + margin-inline-end: -1rem !important; + } + .me-lg-n4 { + margin-inline-end: -1.5rem !important; + } + .me-lg-n5 { + margin-inline-end: -2rem !important; + } + .me-lg-n6 { + margin-inline-end: -2.5rem !important; + } + .me-lg-n7 { + margin-inline-end: -3rem !important; + } + .me-lg-n8 { + margin-inline-end: -4rem !important; + } + .me-lg-n9 { + margin-inline-end: -5rem !important; + } + .me-lg-n10 { + margin-inline-end: -6rem !important; + } + .me-lg-n11 { + margin-inline-end: -7rem !important; + } + .me-lg-n12 { + margin-inline-end: -8rem !important; + } + .mb-lg-n1 { + margin-bottom: -0.25rem !important; + } + .mb-lg-n2 { + margin-bottom: -0.5rem !important; + } + .mb-lg-n3 { + margin-bottom: -1rem !important; + } + .mb-lg-n4 { + margin-bottom: -1.5rem !important; + } + .mb-lg-n5 { + margin-bottom: -2rem !important; + } + .mb-lg-n6 { + margin-bottom: -2.5rem !important; + } + .mb-lg-n7 { + margin-bottom: -3rem !important; + } + .mb-lg-n8 { + margin-bottom: -4rem !important; + } + .mb-lg-n9 { + margin-bottom: -5rem !important; + } + .mb-lg-n10 { + margin-bottom: -6rem !important; + } + .mb-lg-n11 { + margin-bottom: -7rem !important; + } + .mb-lg-n12 { + margin-bottom: -8rem !important; + } + .ms-lg-n1 { + margin-inline-start: -0.25rem !important; + } + .ms-lg-n2 { + margin-inline-start: -0.5rem !important; + } + .ms-lg-n3 { + margin-inline-start: -1rem !important; + } + .ms-lg-n4 { + margin-inline-start: -1.5rem !important; + } + .ms-lg-n5 { + margin-inline-start: -2rem !important; + } + .ms-lg-n6 { + margin-inline-start: -2.5rem !important; + } + .ms-lg-n7 { + margin-inline-start: -3rem !important; + } + .ms-lg-n8 { + margin-inline-start: -4rem !important; + } + .ms-lg-n9 { + margin-inline-start: -5rem !important; + } + .ms-lg-n10 { + margin-inline-start: -6rem !important; + } + .ms-lg-n11 { + margin-inline-start: -7rem !important; + } + .ms-lg-n12 { + margin-inline-start: -8rem !important; + } + .p-lg-7 { + padding: 3rem !important; + } + .p-lg-8 { + padding: 4rem !important; + } + .p-lg-9 { + padding: 5rem !important; + } + .p-lg-10 { + padding: 6rem !important; + } + .p-lg-11 { + padding: 7rem !important; + } + .p-lg-12 { + padding: 8rem !important; + } + .px-lg-7 { + padding-inline-end: 3rem !important; + padding-inline-start: 3rem !important; + } + .px-lg-8 { + padding-inline-end: 4rem !important; + padding-inline-start: 4rem !important; + } + .px-lg-9 { + padding-inline-end: 5rem !important; + padding-inline-start: 5rem !important; + } + .px-lg-10 { + padding-inline-end: 6rem !important; + padding-inline-start: 6rem !important; + } + .px-lg-11 { + padding-inline-end: 7rem !important; + padding-inline-start: 7rem !important; + } + .px-lg-12 { + padding-inline-end: 8rem !important; + padding-inline-start: 8rem !important; + } + .py-lg-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-lg-8 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .py-lg-9 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-lg-10 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .py-lg-11 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .py-lg-12 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-lg-7 { + padding-top: 3rem !important; + } + .pt-lg-8 { + padding-top: 4rem !important; + } + .pt-lg-9 { + padding-top: 5rem !important; + } + .pt-lg-10 { + padding-top: 6rem !important; + } + .pt-lg-11 { + padding-top: 7rem !important; + } + .pt-lg-12 { + padding-top: 8rem !important; + } + .pe-lg-7 { + padding-inline-end: 3rem !important; + } + .pe-lg-8 { + padding-inline-end: 4rem !important; + } + .pe-lg-9 { + padding-inline-end: 5rem !important; + } + .pe-lg-10 { + padding-inline-end: 6rem !important; + } + .pe-lg-11 { + padding-inline-end: 7rem !important; + } + .pe-lg-12 { + padding-inline-end: 8rem !important; + } + .pb-lg-7 { + padding-bottom: 3rem !important; + } + .pb-lg-8 { + padding-bottom: 4rem !important; + } + .pb-lg-9 { + padding-bottom: 5rem !important; + } + .pb-lg-10 { + padding-bottom: 6rem !important; + } + .pb-lg-11 { + padding-bottom: 7rem !important; + } + .pb-lg-12 { + padding-bottom: 8rem !important; + } + .ps-lg-7 { + padding-inline-start: 3rem !important; + } + .ps-lg-8 { + padding-inline-start: 4rem !important; + } + .ps-lg-9 { + padding-inline-start: 5rem !important; + } + .ps-lg-10 { + padding-inline-start: 6rem !important; + } + .ps-lg-11 { + padding-inline-start: 7rem !important; + } + .ps-lg-12 { + padding-inline-start: 8rem !important; + } + .gap-lg-7 { + gap: 3rem !important; + } + .gap-lg-8 { + gap: 4rem !important; + } + .gap-lg-9 { + gap: 5rem !important; + } + .gap-lg-10 { + gap: 6rem !important; + } + .gap-lg-11 { + gap: 7rem !important; + } + .gap-lg-12 { + gap: 8rem !important; + } + .row-gap-lg-7 { + row-gap: 3rem !important; + } + .row-gap-lg-8 { + row-gap: 4rem !important; + } + .row-gap-lg-9 { + row-gap: 5rem !important; + } + .row-gap-lg-10 { + row-gap: 6rem !important; + } + .row-gap-lg-11 { + row-gap: 7rem !important; + } + .row-gap-lg-12 { + row-gap: 8rem !important; + } + .column-gap-lg-7 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-lg-8 { + -moz-column-gap: 4rem !important; + column-gap: 4rem !important; + } + .column-gap-lg-9 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-lg-10 { + -moz-column-gap: 6rem !important; + column-gap: 6rem !important; + } + .column-gap-lg-11 { + -moz-column-gap: 7rem !important; + column-gap: 7rem !important; + } + .column-gap-lg-12 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .gx-lg-7 { + --tblr-gutter-x: 3rem; + } + .gx-lg-8 { + --tblr-gutter-x: 4rem; + } + .gx-lg-9 { + --tblr-gutter-x: 5rem; + } + .gx-lg-10 { + --tblr-gutter-x: 6rem; + } + .gx-lg-11 { + --tblr-gutter-x: 7rem; + } + .gx-lg-12 { + --tblr-gutter-x: 8rem; + } + .gy-lg-7 { + --tblr-gutter-y: 3rem; + } + .gy-lg-8 { + --tblr-gutter-y: 4rem; + } + .gy-lg-9 { + --tblr-gutter-y: 5rem; + } + .gy-lg-10 { + --tblr-gutter-y: 6rem; + } + .gy-lg-11 { + --tblr-gutter-y: 7rem; + } + .gy-lg-12 { + --tblr-gutter-y: 8rem; + } + .g-lg-7 { + --tblr-gutter-x: 3rem; + } + .g-lg-8 { + --tblr-gutter-x: 4rem; + } + .g-lg-9 { + --tblr-gutter-x: 5rem; + } + .g-lg-10 { + --tblr-gutter-x: 6rem; + } + .g-lg-11 { + --tblr-gutter-x: 7rem; + } + .g-lg-12 { + --tblr-gutter-x: 8rem; + } +} +@media (min-width: 1200px) { + .m-xl-7 { + margin: 3rem !important; + } + .m-xl-8 { + margin: 4rem !important; + } + .m-xl-9 { + margin: 5rem !important; + } + .m-xl-10 { + margin: 6rem !important; + } + .m-xl-11 { + margin: 7rem !important; + } + .m-xl-12 { + margin: 8rem !important; + } + .mx-xl-7 { + margin-inline-end: 3rem !important; + margin-inline-start: 3rem !important; + } + .mx-xl-8 { + margin-inline-end: 4rem !important; + margin-inline-start: 4rem !important; + } + .mx-xl-9 { + margin-inline-end: 5rem !important; + margin-inline-start: 5rem !important; + } + .mx-xl-10 { + margin-inline-end: 6rem !important; + margin-inline-start: 6rem !important; + } + .mx-xl-11 { + margin-inline-end: 7rem !important; + margin-inline-start: 7rem !important; + } + .mx-xl-12 { + margin-inline-end: 8rem !important; + margin-inline-start: 8rem !important; + } + .my-xl-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .my-xl-9 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-xl-10 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .my-xl-11 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .my-xl-12 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-xl-7 { + margin-top: 3rem !important; + } + .mt-xl-8 { + margin-top: 4rem !important; + } + .mt-xl-9 { + margin-top: 5rem !important; + } + .mt-xl-10 { + margin-top: 6rem !important; + } + .mt-xl-11 { + margin-top: 7rem !important; + } + .mt-xl-12 { + margin-top: 8rem !important; + } + .me-xl-7 { + margin-inline-end: 3rem !important; + } + .me-xl-8 { + margin-inline-end: 4rem !important; + } + .me-xl-9 { + margin-inline-end: 5rem !important; + } + .me-xl-10 { + margin-inline-end: 6rem !important; + } + .me-xl-11 { + margin-inline-end: 7rem !important; + } + .me-xl-12 { + margin-inline-end: 8rem !important; + } + .mb-xl-7 { + margin-bottom: 3rem !important; + } + .mb-xl-8 { + margin-bottom: 4rem !important; + } + .mb-xl-9 { + margin-bottom: 5rem !important; + } + .mb-xl-10 { + margin-bottom: 6rem !important; + } + .mb-xl-11 { + margin-bottom: 7rem !important; + } + .mb-xl-12 { + margin-bottom: 8rem !important; + } + .ms-xl-7 { + margin-inline-start: 3rem !important; + } + .ms-xl-8 { + margin-inline-start: 4rem !important; + } + .ms-xl-9 { + margin-inline-start: 5rem !important; + } + .ms-xl-10 { + margin-inline-start: 6rem !important; + } + .ms-xl-11 { + margin-inline-start: 7rem !important; + } + .ms-xl-12 { + margin-inline-start: 8rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .m-xl-n5 { + margin: -2rem !important; + } + .m-xl-n6 { + margin: -2.5rem !important; + } + .m-xl-n7 { + margin: -3rem !important; + } + .m-xl-n8 { + margin: -4rem !important; + } + .m-xl-n9 { + margin: -5rem !important; + } + .m-xl-n10 { + margin: -6rem !important; + } + .m-xl-n11 { + margin: -7rem !important; + } + .m-xl-n12 { + margin: -8rem !important; + } + .mx-xl-n1 { + margin-inline-end: -0.25rem !important; + margin-inline-start: -0.25rem !important; + } + .mx-xl-n2 { + margin-inline-end: -0.5rem !important; + margin-inline-start: -0.5rem !important; + } + .mx-xl-n3 { + margin-inline-end: -1rem !important; + margin-inline-start: -1rem !important; + } + .mx-xl-n4 { + margin-inline-end: -1.5rem !important; + margin-inline-start: -1.5rem !important; + } + .mx-xl-n5 { + margin-inline-end: -2rem !important; + margin-inline-start: -2rem !important; + } + .mx-xl-n6 { + margin-inline-end: -2.5rem !important; + margin-inline-start: -2.5rem !important; + } + .mx-xl-n7 { + margin-inline-end: -3rem !important; + margin-inline-start: -3rem !important; + } + .mx-xl-n8 { + margin-inline-end: -4rem !important; + margin-inline-start: -4rem !important; + } + .mx-xl-n9 { + margin-inline-end: -5rem !important; + margin-inline-start: -5rem !important; + } + .mx-xl-n10 { + margin-inline-end: -6rem !important; + margin-inline-start: -6rem !important; + } + .mx-xl-n11 { + margin-inline-end: -7rem !important; + margin-inline-start: -7rem !important; + } + .mx-xl-n12 { + margin-inline-end: -8rem !important; + margin-inline-start: -8rem !important; + } + .my-xl-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-xl-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-xl-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-xl-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-xl-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-xl-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .my-xl-n7 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + .my-xl-n8 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + .my-xl-n9 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + .my-xl-n10 { + margin-top: -6rem !important; + margin-bottom: -6rem !important; + } + .my-xl-n11 { + margin-top: -7rem !important; + margin-bottom: -7rem !important; + } + .my-xl-n12 { + margin-top: -8rem !important; + margin-bottom: -8rem !important; + } + .mt-xl-n1 { + margin-top: -0.25rem !important; + } + .mt-xl-n2 { + margin-top: -0.5rem !important; + } + .mt-xl-n3 { + margin-top: -1rem !important; + } + .mt-xl-n4 { + margin-top: -1.5rem !important; + } + .mt-xl-n5 { + margin-top: -2rem !important; + } + .mt-xl-n6 { + margin-top: -2.5rem !important; + } + .mt-xl-n7 { + margin-top: -3rem !important; + } + .mt-xl-n8 { + margin-top: -4rem !important; + } + .mt-xl-n9 { + margin-top: -5rem !important; + } + .mt-xl-n10 { + margin-top: -6rem !important; + } + .mt-xl-n11 { + margin-top: -7rem !important; + } + .mt-xl-n12 { + margin-top: -8rem !important; + } + .me-xl-n1 { + margin-inline-end: -0.25rem !important; + } + .me-xl-n2 { + margin-inline-end: -0.5rem !important; + } + .me-xl-n3 { + margin-inline-end: -1rem !important; + } + .me-xl-n4 { + margin-inline-end: -1.5rem !important; + } + .me-xl-n5 { + margin-inline-end: -2rem !important; + } + .me-xl-n6 { + margin-inline-end: -2.5rem !important; + } + .me-xl-n7 { + margin-inline-end: -3rem !important; + } + .me-xl-n8 { + margin-inline-end: -4rem !important; + } + .me-xl-n9 { + margin-inline-end: -5rem !important; + } + .me-xl-n10 { + margin-inline-end: -6rem !important; + } + .me-xl-n11 { + margin-inline-end: -7rem !important; + } + .me-xl-n12 { + margin-inline-end: -8rem !important; + } + .mb-xl-n1 { + margin-bottom: -0.25rem !important; + } + .mb-xl-n2 { + margin-bottom: -0.5rem !important; + } + .mb-xl-n3 { + margin-bottom: -1rem !important; + } + .mb-xl-n4 { + margin-bottom: -1.5rem !important; + } + .mb-xl-n5 { + margin-bottom: -2rem !important; + } + .mb-xl-n6 { + margin-bottom: -2.5rem !important; + } + .mb-xl-n7 { + margin-bottom: -3rem !important; + } + .mb-xl-n8 { + margin-bottom: -4rem !important; + } + .mb-xl-n9 { + margin-bottom: -5rem !important; + } + .mb-xl-n10 { + margin-bottom: -6rem !important; + } + .mb-xl-n11 { + margin-bottom: -7rem !important; + } + .mb-xl-n12 { + margin-bottom: -8rem !important; + } + .ms-xl-n1 { + margin-inline-start: -0.25rem !important; + } + .ms-xl-n2 { + margin-inline-start: -0.5rem !important; + } + .ms-xl-n3 { + margin-inline-start: -1rem !important; + } + .ms-xl-n4 { + margin-inline-start: -1.5rem !important; + } + .ms-xl-n5 { + margin-inline-start: -2rem !important; + } + .ms-xl-n6 { + margin-inline-start: -2.5rem !important; + } + .ms-xl-n7 { + margin-inline-start: -3rem !important; + } + .ms-xl-n8 { + margin-inline-start: -4rem !important; + } + .ms-xl-n9 { + margin-inline-start: -5rem !important; + } + .ms-xl-n10 { + margin-inline-start: -6rem !important; + } + .ms-xl-n11 { + margin-inline-start: -7rem !important; + } + .ms-xl-n12 { + margin-inline-start: -8rem !important; + } + .p-xl-7 { + padding: 3rem !important; + } + .p-xl-8 { + padding: 4rem !important; + } + .p-xl-9 { + padding: 5rem !important; + } + .p-xl-10 { + padding: 6rem !important; + } + .p-xl-11 { + padding: 7rem !important; + } + .p-xl-12 { + padding: 8rem !important; + } + .px-xl-7 { + padding-inline-end: 3rem !important; + padding-inline-start: 3rem !important; + } + .px-xl-8 { + padding-inline-end: 4rem !important; + padding-inline-start: 4rem !important; + } + .px-xl-9 { + padding-inline-end: 5rem !important; + padding-inline-start: 5rem !important; + } + .px-xl-10 { + padding-inline-end: 6rem !important; + padding-inline-start: 6rem !important; + } + .px-xl-11 { + padding-inline-end: 7rem !important; + padding-inline-start: 7rem !important; + } + .px-xl-12 { + padding-inline-end: 8rem !important; + padding-inline-start: 8rem !important; + } + .py-xl-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-xl-8 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .py-xl-9 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-xl-10 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .py-xl-11 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .py-xl-12 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-xl-7 { + padding-top: 3rem !important; + } + .pt-xl-8 { + padding-top: 4rem !important; + } + .pt-xl-9 { + padding-top: 5rem !important; + } + .pt-xl-10 { + padding-top: 6rem !important; + } + .pt-xl-11 { + padding-top: 7rem !important; + } + .pt-xl-12 { + padding-top: 8rem !important; + } + .pe-xl-7 { + padding-inline-end: 3rem !important; + } + .pe-xl-8 { + padding-inline-end: 4rem !important; + } + .pe-xl-9 { + padding-inline-end: 5rem !important; + } + .pe-xl-10 { + padding-inline-end: 6rem !important; + } + .pe-xl-11 { + padding-inline-end: 7rem !important; + } + .pe-xl-12 { + padding-inline-end: 8rem !important; + } + .pb-xl-7 { + padding-bottom: 3rem !important; + } + .pb-xl-8 { + padding-bottom: 4rem !important; + } + .pb-xl-9 { + padding-bottom: 5rem !important; + } + .pb-xl-10 { + padding-bottom: 6rem !important; + } + .pb-xl-11 { + padding-bottom: 7rem !important; + } + .pb-xl-12 { + padding-bottom: 8rem !important; + } + .ps-xl-7 { + padding-inline-start: 3rem !important; + } + .ps-xl-8 { + padding-inline-start: 4rem !important; + } + .ps-xl-9 { + padding-inline-start: 5rem !important; + } + .ps-xl-10 { + padding-inline-start: 6rem !important; + } + .ps-xl-11 { + padding-inline-start: 7rem !important; + } + .ps-xl-12 { + padding-inline-start: 8rem !important; + } + .gap-xl-7 { + gap: 3rem !important; + } + .gap-xl-8 { + gap: 4rem !important; + } + .gap-xl-9 { + gap: 5rem !important; + } + .gap-xl-10 { + gap: 6rem !important; + } + .gap-xl-11 { + gap: 7rem !important; + } + .gap-xl-12 { + gap: 8rem !important; + } + .row-gap-xl-7 { + row-gap: 3rem !important; + } + .row-gap-xl-8 { + row-gap: 4rem !important; + } + .row-gap-xl-9 { + row-gap: 5rem !important; + } + .row-gap-xl-10 { + row-gap: 6rem !important; + } + .row-gap-xl-11 { + row-gap: 7rem !important; + } + .row-gap-xl-12 { + row-gap: 8rem !important; + } + .column-gap-xl-7 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-xl-8 { + -moz-column-gap: 4rem !important; + column-gap: 4rem !important; + } + .column-gap-xl-9 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-xl-10 { + -moz-column-gap: 6rem !important; + column-gap: 6rem !important; + } + .column-gap-xl-11 { + -moz-column-gap: 7rem !important; + column-gap: 7rem !important; + } + .column-gap-xl-12 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .gx-xl-7 { + --tblr-gutter-x: 3rem; + } + .gx-xl-8 { + --tblr-gutter-x: 4rem; + } + .gx-xl-9 { + --tblr-gutter-x: 5rem; + } + .gx-xl-10 { + --tblr-gutter-x: 6rem; + } + .gx-xl-11 { + --tblr-gutter-x: 7rem; + } + .gx-xl-12 { + --tblr-gutter-x: 8rem; + } + .gy-xl-7 { + --tblr-gutter-y: 3rem; + } + .gy-xl-8 { + --tblr-gutter-y: 4rem; + } + .gy-xl-9 { + --tblr-gutter-y: 5rem; + } + .gy-xl-10 { + --tblr-gutter-y: 6rem; + } + .gy-xl-11 { + --tblr-gutter-y: 7rem; + } + .gy-xl-12 { + --tblr-gutter-y: 8rem; + } + .g-xl-7 { + --tblr-gutter-x: 3rem; + } + .g-xl-8 { + --tblr-gutter-x: 4rem; + } + .g-xl-9 { + --tblr-gutter-x: 5rem; + } + .g-xl-10 { + --tblr-gutter-x: 6rem; + } + .g-xl-11 { + --tblr-gutter-x: 7rem; + } + .g-xl-12 { + --tblr-gutter-x: 8rem; + } +} +@media (min-width: 1400px) { + .m-xxl-7 { + margin: 3rem !important; + } + .m-xxl-8 { + margin: 4rem !important; + } + .m-xxl-9 { + margin: 5rem !important; + } + .m-xxl-10 { + margin: 6rem !important; + } + .m-xxl-11 { + margin: 7rem !important; + } + .m-xxl-12 { + margin: 8rem !important; + } + .mx-xxl-7 { + margin-inline-end: 3rem !important; + margin-inline-start: 3rem !important; + } + .mx-xxl-8 { + margin-inline-end: 4rem !important; + margin-inline-start: 4rem !important; + } + .mx-xxl-9 { + margin-inline-end: 5rem !important; + margin-inline-start: 5rem !important; + } + .mx-xxl-10 { + margin-inline-end: 6rem !important; + margin-inline-start: 6rem !important; + } + .mx-xxl-11 { + margin-inline-end: 7rem !important; + margin-inline-start: 7rem !important; + } + .mx-xxl-12 { + margin-inline-end: 8rem !important; + margin-inline-start: 8rem !important; + } + .my-xxl-7 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-8 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + .my-xxl-9 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + .my-xxl-10 { + margin-top: 6rem !important; + margin-bottom: 6rem !important; + } + .my-xxl-11 { + margin-top: 7rem !important; + margin-bottom: 7rem !important; + } + .my-xxl-12 { + margin-top: 8rem !important; + margin-bottom: 8rem !important; + } + .mt-xxl-7 { + margin-top: 3rem !important; + } + .mt-xxl-8 { + margin-top: 4rem !important; + } + .mt-xxl-9 { + margin-top: 5rem !important; + } + .mt-xxl-10 { + margin-top: 6rem !important; + } + .mt-xxl-11 { + margin-top: 7rem !important; + } + .mt-xxl-12 { + margin-top: 8rem !important; + } + .me-xxl-7 { + margin-inline-end: 3rem !important; + } + .me-xxl-8 { + margin-inline-end: 4rem !important; + } + .me-xxl-9 { + margin-inline-end: 5rem !important; + } + .me-xxl-10 { + margin-inline-end: 6rem !important; + } + .me-xxl-11 { + margin-inline-end: 7rem !important; + } + .me-xxl-12 { + margin-inline-end: 8rem !important; + } + .mb-xxl-7 { + margin-bottom: 3rem !important; + } + .mb-xxl-8 { + margin-bottom: 4rem !important; + } + .mb-xxl-9 { + margin-bottom: 5rem !important; + } + .mb-xxl-10 { + margin-bottom: 6rem !important; + } + .mb-xxl-11 { + margin-bottom: 7rem !important; + } + .mb-xxl-12 { + margin-bottom: 8rem !important; + } + .ms-xxl-7 { + margin-inline-start: 3rem !important; + } + .ms-xxl-8 { + margin-inline-start: 4rem !important; + } + .ms-xxl-9 { + margin-inline-start: 5rem !important; + } + .ms-xxl-10 { + margin-inline-start: 6rem !important; + } + .ms-xxl-11 { + margin-inline-start: 7rem !important; + } + .ms-xxl-12 { + margin-inline-start: 8rem !important; + } + .m-xxl-n1 { + margin: -0.25rem !important; + } + .m-xxl-n2 { + margin: -0.5rem !important; + } + .m-xxl-n3 { + margin: -1rem !important; + } + .m-xxl-n4 { + margin: -1.5rem !important; + } + .m-xxl-n5 { + margin: -2rem !important; + } + .m-xxl-n6 { + margin: -2.5rem !important; + } + .m-xxl-n7 { + margin: -3rem !important; + } + .m-xxl-n8 { + margin: -4rem !important; + } + .m-xxl-n9 { + margin: -5rem !important; + } + .m-xxl-n10 { + margin: -6rem !important; + } + .m-xxl-n11 { + margin: -7rem !important; + } + .m-xxl-n12 { + margin: -8rem !important; + } + .mx-xxl-n1 { + margin-inline-end: -0.25rem !important; + margin-inline-start: -0.25rem !important; + } + .mx-xxl-n2 { + margin-inline-end: -0.5rem !important; + margin-inline-start: -0.5rem !important; + } + .mx-xxl-n3 { + margin-inline-end: -1rem !important; + margin-inline-start: -1rem !important; + } + .mx-xxl-n4 { + margin-inline-end: -1.5rem !important; + margin-inline-start: -1.5rem !important; + } + .mx-xxl-n5 { + margin-inline-end: -2rem !important; + margin-inline-start: -2rem !important; + } + .mx-xxl-n6 { + margin-inline-end: -2.5rem !important; + margin-inline-start: -2.5rem !important; + } + .mx-xxl-n7 { + margin-inline-end: -3rem !important; + margin-inline-start: -3rem !important; + } + .mx-xxl-n8 { + margin-inline-end: -4rem !important; + margin-inline-start: -4rem !important; + } + .mx-xxl-n9 { + margin-inline-end: -5rem !important; + margin-inline-start: -5rem !important; + } + .mx-xxl-n10 { + margin-inline-end: -6rem !important; + margin-inline-start: -6rem !important; + } + .mx-xxl-n11 { + margin-inline-end: -7rem !important; + margin-inline-start: -7rem !important; + } + .mx-xxl-n12 { + margin-inline-end: -8rem !important; + margin-inline-start: -8rem !important; + } + .my-xxl-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-xxl-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-xxl-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-xxl-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-xxl-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-xxl-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .my-xxl-n7 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + .my-xxl-n8 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + .my-xxl-n9 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + .my-xxl-n10 { + margin-top: -6rem !important; + margin-bottom: -6rem !important; + } + .my-xxl-n11 { + margin-top: -7rem !important; + margin-bottom: -7rem !important; + } + .my-xxl-n12 { + margin-top: -8rem !important; + margin-bottom: -8rem !important; + } + .mt-xxl-n1 { + margin-top: -0.25rem !important; + } + .mt-xxl-n2 { + margin-top: -0.5rem !important; + } + .mt-xxl-n3 { + margin-top: -1rem !important; + } + .mt-xxl-n4 { + margin-top: -1.5rem !important; + } + .mt-xxl-n5 { + margin-top: -2rem !important; + } + .mt-xxl-n6 { + margin-top: -2.5rem !important; + } + .mt-xxl-n7 { + margin-top: -3rem !important; + } + .mt-xxl-n8 { + margin-top: -4rem !important; + } + .mt-xxl-n9 { + margin-top: -5rem !important; + } + .mt-xxl-n10 { + margin-top: -6rem !important; + } + .mt-xxl-n11 { + margin-top: -7rem !important; + } + .mt-xxl-n12 { + margin-top: -8rem !important; + } + .me-xxl-n1 { + margin-inline-end: -0.25rem !important; + } + .me-xxl-n2 { + margin-inline-end: -0.5rem !important; + } + .me-xxl-n3 { + margin-inline-end: -1rem !important; + } + .me-xxl-n4 { + margin-inline-end: -1.5rem !important; + } + .me-xxl-n5 { + margin-inline-end: -2rem !important; + } + .me-xxl-n6 { + margin-inline-end: -2.5rem !important; + } + .me-xxl-n7 { + margin-inline-end: -3rem !important; + } + .me-xxl-n8 { + margin-inline-end: -4rem !important; + } + .me-xxl-n9 { + margin-inline-end: -5rem !important; + } + .me-xxl-n10 { + margin-inline-end: -6rem !important; + } + .me-xxl-n11 { + margin-inline-end: -7rem !important; + } + .me-xxl-n12 { + margin-inline-end: -8rem !important; + } + .mb-xxl-n1 { + margin-bottom: -0.25rem !important; + } + .mb-xxl-n2 { + margin-bottom: -0.5rem !important; + } + .mb-xxl-n3 { + margin-bottom: -1rem !important; + } + .mb-xxl-n4 { + margin-bottom: -1.5rem !important; + } + .mb-xxl-n5 { + margin-bottom: -2rem !important; + } + .mb-xxl-n6 { + margin-bottom: -2.5rem !important; + } + .mb-xxl-n7 { + margin-bottom: -3rem !important; + } + .mb-xxl-n8 { + margin-bottom: -4rem !important; + } + .mb-xxl-n9 { + margin-bottom: -5rem !important; + } + .mb-xxl-n10 { + margin-bottom: -6rem !important; + } + .mb-xxl-n11 { + margin-bottom: -7rem !important; + } + .mb-xxl-n12 { + margin-bottom: -8rem !important; + } + .ms-xxl-n1 { + margin-inline-start: -0.25rem !important; + } + .ms-xxl-n2 { + margin-inline-start: -0.5rem !important; + } + .ms-xxl-n3 { + margin-inline-start: -1rem !important; + } + .ms-xxl-n4 { + margin-inline-start: -1.5rem !important; + } + .ms-xxl-n5 { + margin-inline-start: -2rem !important; + } + .ms-xxl-n6 { + margin-inline-start: -2.5rem !important; + } + .ms-xxl-n7 { + margin-inline-start: -3rem !important; + } + .ms-xxl-n8 { + margin-inline-start: -4rem !important; + } + .ms-xxl-n9 { + margin-inline-start: -5rem !important; + } + .ms-xxl-n10 { + margin-inline-start: -6rem !important; + } + .ms-xxl-n11 { + margin-inline-start: -7rem !important; + } + .ms-xxl-n12 { + margin-inline-start: -8rem !important; + } + .p-xxl-7 { + padding: 3rem !important; + } + .p-xxl-8 { + padding: 4rem !important; + } + .p-xxl-9 { + padding: 5rem !important; + } + .p-xxl-10 { + padding: 6rem !important; + } + .p-xxl-11 { + padding: 7rem !important; + } + .p-xxl-12 { + padding: 8rem !important; + } + .px-xxl-7 { + padding-inline-end: 3rem !important; + padding-inline-start: 3rem !important; + } + .px-xxl-8 { + padding-inline-end: 4rem !important; + padding-inline-start: 4rem !important; + } + .px-xxl-9 { + padding-inline-end: 5rem !important; + padding-inline-start: 5rem !important; + } + .px-xxl-10 { + padding-inline-end: 6rem !important; + padding-inline-start: 6rem !important; + } + .px-xxl-11 { + padding-inline-end: 7rem !important; + padding-inline-start: 7rem !important; + } + .px-xxl-12 { + padding-inline-end: 8rem !important; + padding-inline-start: 8rem !important; + } + .py-xxl-7 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .py-xxl-8 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + .py-xxl-9 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + .py-xxl-10 { + padding-top: 6rem !important; + padding-bottom: 6rem !important; + } + .py-xxl-11 { + padding-top: 7rem !important; + padding-bottom: 7rem !important; + } + .py-xxl-12 { + padding-top: 8rem !important; + padding-bottom: 8rem !important; + } + .pt-xxl-7 { + padding-top: 3rem !important; + } + .pt-xxl-8 { + padding-top: 4rem !important; + } + .pt-xxl-9 { + padding-top: 5rem !important; + } + .pt-xxl-10 { + padding-top: 6rem !important; + } + .pt-xxl-11 { + padding-top: 7rem !important; + } + .pt-xxl-12 { + padding-top: 8rem !important; + } + .pe-xxl-7 { + padding-inline-end: 3rem !important; + } + .pe-xxl-8 { + padding-inline-end: 4rem !important; + } + .pe-xxl-9 { + padding-inline-end: 5rem !important; + } + .pe-xxl-10 { + padding-inline-end: 6rem !important; + } + .pe-xxl-11 { + padding-inline-end: 7rem !important; + } + .pe-xxl-12 { + padding-inline-end: 8rem !important; + } + .pb-xxl-7 { + padding-bottom: 3rem !important; + } + .pb-xxl-8 { + padding-bottom: 4rem !important; + } + .pb-xxl-9 { + padding-bottom: 5rem !important; + } + .pb-xxl-10 { + padding-bottom: 6rem !important; + } + .pb-xxl-11 { + padding-bottom: 7rem !important; + } + .pb-xxl-12 { + padding-bottom: 8rem !important; + } + .ps-xxl-7 { + padding-inline-start: 3rem !important; + } + .ps-xxl-8 { + padding-inline-start: 4rem !important; + } + .ps-xxl-9 { + padding-inline-start: 5rem !important; + } + .ps-xxl-10 { + padding-inline-start: 6rem !important; + } + .ps-xxl-11 { + padding-inline-start: 7rem !important; + } + .ps-xxl-12 { + padding-inline-start: 8rem !important; + } + .gap-xxl-7 { + gap: 3rem !important; + } + .gap-xxl-8 { + gap: 4rem !important; + } + .gap-xxl-9 { + gap: 5rem !important; + } + .gap-xxl-10 { + gap: 6rem !important; + } + .gap-xxl-11 { + gap: 7rem !important; + } + .gap-xxl-12 { + gap: 8rem !important; + } + .row-gap-xxl-7 { + row-gap: 3rem !important; + } + .row-gap-xxl-8 { + row-gap: 4rem !important; + } + .row-gap-xxl-9 { + row-gap: 5rem !important; + } + .row-gap-xxl-10 { + row-gap: 6rem !important; + } + .row-gap-xxl-11 { + row-gap: 7rem !important; + } + .row-gap-xxl-12 { + row-gap: 8rem !important; + } + .column-gap-xxl-7 { + -moz-column-gap: 3rem !important; + column-gap: 3rem !important; + } + .column-gap-xxl-8 { + -moz-column-gap: 4rem !important; + column-gap: 4rem !important; + } + .column-gap-xxl-9 { + -moz-column-gap: 5rem !important; + column-gap: 5rem !important; + } + .column-gap-xxl-10 { + -moz-column-gap: 6rem !important; + column-gap: 6rem !important; + } + .column-gap-xxl-11 { + -moz-column-gap: 7rem !important; + column-gap: 7rem !important; + } + .column-gap-xxl-12 { + -moz-column-gap: 8rem !important; + column-gap: 8rem !important; + } + .gx-xxl-7 { + --tblr-gutter-x: 3rem; + } + .gx-xxl-8 { + --tblr-gutter-x: 4rem; + } + .gx-xxl-9 { + --tblr-gutter-x: 5rem; + } + .gx-xxl-10 { + --tblr-gutter-x: 6rem; + } + .gx-xxl-11 { + --tblr-gutter-x: 7rem; + } + .gx-xxl-12 { + --tblr-gutter-x: 8rem; + } + .gy-xxl-7 { + --tblr-gutter-y: 3rem; + } + .gy-xxl-8 { + --tblr-gutter-y: 4rem; + } + .gy-xxl-9 { + --tblr-gutter-y: 5rem; + } + .gy-xxl-10 { + --tblr-gutter-y: 6rem; + } + .gy-xxl-11 { + --tblr-gutter-y: 7rem; + } + .gy-xxl-12 { + --tblr-gutter-y: 8rem; + } + .g-xxl-7 { + --tblr-gutter-x: 3rem; + } + .g-xxl-8 { + --tblr-gutter-x: 4rem; + } + .g-xxl-9 { + --tblr-gutter-x: 5rem; + } + .g-xxl-10 { + --tblr-gutter-x: 6rem; + } + .g-xxl-11 { + --tblr-gutter-x: 7rem; + } + .g-xxl-12 { + --tblr-gutter-x: 8rem; + } +} + +/*# sourceMappingURL=tabler-marketing.css.map */ \ No newline at end of file diff --git a/storage/public/dist/css/tabler-marketing.css.map b/storage/public/dist/css/tabler-marketing.css.map new file mode 100644 index 0000000..2e7d28a --- /dev/null +++ b/storage/public/dist/css/tabler-marketing.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tabler-marketing.css"],"names":[],"mappings":"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AkC;AACpC;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,sCAAsC;IACtC,wCAAwC;EAC1C;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,sCAAsC;EACxC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF;AACA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,sCAAsC;IACtC,wCAAwC;EAC1C;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,sCAAsC;EACxC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF;AACA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,sCAAsC;IACtC,wCAAwC;EAC1C;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,sCAAsC;EACxC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF;AACA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,sCAAsC;IACtC,wCAAwC;EAC1C;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,sCAAsC;EACxC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF;AACA;EACE;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,kCAAkC;IAClC,oCAAoC;EACtC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,sCAAsC;IACtC,wCAAwC;EAC1C;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,qCAAqC;IACrC,uCAAuC;EACzC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,sCAAsC;EACxC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,mCAAmC;IACnC,qCAAqC;EACvC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,mCAAmC;EACrC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,qCAAqC;EACvC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF","file":"tabler-marketing.css","sourcesContent":["/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n.body-marketing {\n --tblr-body-font-size: 1rem;\n --tblr-body-line-height: 1.75;\n}\n\n.body-gradient {\n background: var(--tblr-bg-surface) linear-gradient(to bottom, var(--tblr-bg-surface-secondary) 12%, var(--tblr-bg-surface) 99%) repeat-x top center/100% 100vh;\n}\n\n.hero {\n text-align: center;\n padding: 6.5rem 0;\n}\n\n.hero-title {\n font-size: 3rem;\n font-weight: var(--tblr-font-weight-black);\n letter-spacing: -0.04em;\n line-height: 1.2;\n}\n@media (max-width: 767.98px) {\n .hero-title {\n font-size: 2rem;\n }\n}\n\n.hero-description {\n color: var(--tblr-secondary);\n font-size: var(--tblr-font-size-h2);\n line-height: 1.5;\n margin: 0 auto;\n max-width: 45rem;\n}\n@media (max-width: 575.98px) {\n .hero-description {\n font-size: var(--tblr-font-size-h3);\n }\n}\n\n.hero-description-wide {\n max-width: 61.875rem;\n}\n\n.hero-subheader {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n margin-bottom: 0.5rem;\n}\n\n.hero-img {\n margin: 4rem auto;\n max-width: 65rem;\n border-radius: 8px;\n}\n@supports (corner-shape: squircle) {\n .hero-img {\n corner-shape: squircle;\n border-radius: calc(8px * 2.5) !important;\n }\n}\n.hero-img {\n position: relative;\n z-index: 1;\n}\n.hero-img img,\n.hero-img svg {\n max-width: 100%;\n height: auto;\n display: block;\n position: relative;\n}\n\n.browser {\n border-radius: var(--tblr-border-radius-lg);\n}\n@supports (corner-shape: squircle) {\n .browser {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important;\n }\n}\n.browser {\n box-shadow: 0 0 0 1px var(--tblr-border-color);\n background: var(--tblr-bg-surface-secondary);\n overflow: hidden;\n}\n\n.browser-header {\n padding: 0.25rem 1rem;\n background: var(--tblr-border-color-light) linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.03));\n border-bottom: 1px solid var(--tblr-border-color);\n border-radius: calc(var(--tblr-border-radius-lg) - 1px) calc(var(--tblr-border-radius-lg) - 1px) 0 0;\n}\n@supports (corner-shape: squircle) {\n .browser-header {\n corner-shape: squircle;\n border-radius: calc(calc(var(--tblr-border-radius-lg) - 1px) calc(var(--tblr-border-radius-lg) - 1px) 0 0 * 2.5) !important;\n }\n}\n\n.browser-dots {\n margin-inline-end: 3rem;\n display: flex;\n}\n\n.browser-dots-colored .browser-dot:nth-child(1) {\n background: #fb6058;\n}\n.browser-dots-colored .browser-dot:nth-child(2) {\n background: #fcbe3b;\n}\n.browser-dots-colored .browser-dot:nth-child(3) {\n background: #2ccb4c;\n}\n\n.browser-dot {\n margin-inline-end: 0.5rem;\n width: 0.75rem;\n min-width: 0.75rem;\n height: 0.75rem;\n background: var(--tblr-border-color);\n border-radius: var(--tblr-border-radius-circle);\n}\n@supports (corner-shape: squircle) {\n .browser-dot {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-circle) * 2.5) !important;\n }\n}\n.browser-dot {\n border: 1px solid var(--tblr-border-color-dark);\n}\n\n.browser-input {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n padding: 0.25rem;\n color: var(--tblr-secondary);\n font-size: var(--tblr-font-size-h5);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .browser-input {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.browser-input {\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n background-image: linear-gradient(to bottom, var(--tblr-bg-surface), var(--tblr-bg-surface-secondary));\n}\n.browser-input:hover {\n text-decoration: none;\n}\n\n@keyframes move-forever1 {\n 0% {\n transform: translate(85px, 0%);\n }\n 100% {\n transform: translate(-90px, 0%);\n }\n}\n@keyframes move-forever2 {\n 0% {\n transform: translate(-90px, 0%);\n }\n 100% {\n transform: translate(85px, 0%);\n }\n}\n@keyframes move-forever3 {\n 0% {\n transform: translate(-90px, 0%);\n }\n 100% {\n transform: translate(85px, 0%);\n }\n}\n.section {\n --section-bg: transparent;\n background: var(--section-bg);\n position: relative;\n padding: 5rem 0;\n}\n\n.section-sm {\n padding: 4rem 0;\n}\n\n.section-white {\n --section-bg: var(--tblr-bg-surface);\n}\n\n.section-light {\n --section-bg: var(--tblr-bg-surface-secondary);\n}\n\n.section-primary {\n --section-bg: var(--tblr-primary);\n color: #ffffff;\n}\n\n.section-dark {\n --section-bg: var(--tblr-dark);\n color: #ffffff;\n}\n\n.section-header {\n text-align: center;\n max-width: 45rem;\n margin: 0 auto 5rem;\n}\n.section-sm .section-header {\n margin-bottom: 4rem;\n}\n\n.section-title {\n font-size: var(--tblr-font-size-h1);\n font-weight: var(--tblr-font-weight-semibold);\n line-height: 1.2;\n}\n\n.section-title-lg {\n font-size: 2rem;\n}\n\n.section-description {\n color: var(--tblr-secondary);\n font-size: var(--tblr-font-size-h3);\n line-height: var(--tblr-line-height-h3);\n margin-top: 1rem;\n}\n\n.section-divider {\n position: absolute;\n bottom: 100%;\n pointer-events: none;\n height: 5rem;\n width: 100%;\n}\n.section-divider path {\n fill: var(--section-bg);\n}\n.section-divider .wave-1 {\n animation: move-forever1 30s linear infinite;\n animation-delay: -2s;\n}\n.section-divider .wave-2 {\n animation: move-forever2 24s linear infinite;\n opacity: 0.5;\n animation-delay: -2s;\n}\n.section-divider .wave-3 {\n animation: move-forever3 18s linear infinite;\n opacity: 0.3;\n animation-delay: -2s;\n}\n\n.section-divider-auto {\n height: auto;\n}\n\n.pricing {\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n justify-content: center;\n}\n@media (min-width: 768px) {\n .pricing {\n flex-direction: row;\n }\n}\n\n.pricing-card {\n flex: 1;\n display: flex;\n flex-direction: column;\n background: var(--tblr-bg-surface);\n border: 1px solid var(--tblr-gray-200);\n padding: 2rem;\n margin: 0 0 1rem;\n position: relative;\n box-shadow: var(--tblr-shadow-card);\n text-align: center;\n border-radius: 8px;\n}\n@supports (corner-shape: squircle) {\n .pricing-card {\n corner-shape: squircle;\n border-radius: calc(8px * 2.5) !important;\n }\n}\n@media (min-width: 768px) {\n .pricing-card {\n margin: 1rem -1px;\n max-width: 22rem;\n }\n .pricing-card:first-child {\n border-radius: 8px 0 0 8px;\n }\n @supports (corner-shape: squircle) {\n .pricing-card:first-child {\n corner-shape: squircle;\n border-radius: calc(8px 0 0 8px * 2.5) !important;\n }\n }\n .pricing-card:last-child {\n border-radius: 0 8px 8px 0;\n }\n @supports (corner-shape: squircle) {\n .pricing-card:last-child {\n corner-shape: squircle;\n border-radius: calc(0 8px 8px 0 * 2.5) !important;\n }\n }\n}\n.pricing-card.featured {\n z-index: 1;\n border: 2px solid var(--tblr-primary);\n order: -1;\n}\n@media (min-width: 768px) {\n .pricing-card.featured {\n order: unset;\n margin-top: 0;\n margin-bottom: 0;\n box-shadow: var(--tblr-shadow-card);\n border-radius: 8px;\n }\n @supports (corner-shape: squircle) {\n .pricing-card.featured {\n corner-shape: squircle;\n border-radius: calc(8px * 2.5) !important;\n }\n }\n}\n\n.pricing-title {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.pricing-label {\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n transform: translateY(-50%);\n vertical-align: bottom;\n inset-inline-end: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.pricing-btn {\n margin-top: auto;\n padding-top: 2rem;\n}\n\n.pricing-price {\n display: flex;\n justify-content: center;\n font-size: 2.5rem;\n line-height: 1;\n font-weight: 600;\n margin: 0.75rem 0;\n}\n\n.pricing-price-currency {\n font-size: 1.25rem;\n line-height: 1.5;\n margin-inline-end: 0.25rem;\n font-weight: 600;\n}\n\n.pricing-price-description {\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n color: #6b7280;\n align-self: center;\n margin-inline-start: 0.5rem;\n}\n\n.pricing-features {\n margin: 1rem 0 0;\n padding: 0;\n list-style: none;\n text-align: start;\n}\n.pricing-features > li:not(:first-child) {\n margin-top: 0.25rem;\n}\n\n.shape {\n --tblr-shape-size: 2.5rem;\n --tblr-shape-icon-size: 1.5rem;\n --tblr-shape-border-radius: 35%;\n background-color: var(--tblr-primary-lt);\n color: var(--tblr-primary);\n border-radius: var(--tblr-shape-border-radius);\n}\n@supports (corner-shape: squircle) {\n .shape {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-shape-border-radius) * 2.5) !important;\n }\n}\n.shape {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--tblr-shape-size);\n width: var(--tblr-shape-size);\n}\n.shape .icon {\n width: var(--tblr-shape-icon-size);\n height: var(--tblr-shape-icon-size);\n}\n\n.shape-xxs {\n --tblr-shape-size: 1rem;\n --tblr-shape-icon-size: 0.5rem;\n}\n\n.shape-xs {\n --tblr-shape-size: 1.25rem;\n --tblr-shape-icon-size: 0.75rem;\n}\n\n.shape-sm {\n --tblr-shape-size: 2rem;\n --tblr-shape-icon-size: 1.5rem;\n}\n\n.shape-md {\n --tblr-shape-size: 2.5rem;\n --tblr-shape-icon-size: 1.5rem;\n}\n\n.shape-lg {\n --tblr-shape-size: 3rem;\n --tblr-shape-icon-size: 2rem;\n}\n\n.shape-xl {\n --tblr-shape-size: 5rem;\n --tblr-shape-icon-size: 3rem;\n}\n\n.shape-2xl {\n --tblr-shape-size: 7rem;\n --tblr-shape-icon-size: 5rem;\n}\n\n.shape-blue {\n background: var(--tblr-blue-lt);\n color: var(--tblr-blue);\n}\n\n.shape-azure {\n background: var(--tblr-azure-lt);\n color: var(--tblr-azure);\n}\n\n.shape-indigo {\n background: var(--tblr-indigo-lt);\n color: var(--tblr-indigo);\n}\n\n.shape-purple {\n background: var(--tblr-purple-lt);\n color: var(--tblr-purple);\n}\n\n.shape-pink {\n background: var(--tblr-pink-lt);\n color: var(--tblr-pink);\n}\n\n.shape-red {\n background: var(--tblr-red-lt);\n color: var(--tblr-red);\n}\n\n.shape-orange {\n background: var(--tblr-orange-lt);\n color: var(--tblr-orange);\n}\n\n.shape-yellow {\n background: var(--tblr-yellow-lt);\n color: var(--tblr-yellow);\n}\n\n.shape-lime {\n background: var(--tblr-lime-lt);\n color: var(--tblr-lime);\n}\n\n.shape-green {\n background: var(--tblr-green-lt);\n color: var(--tblr-green);\n}\n\n.shape-teal {\n background: var(--tblr-teal-lt);\n color: var(--tblr-teal);\n}\n\n.shape-cyan {\n background: var(--tblr-cyan-lt);\n color: var(--tblr-cyan);\n}\n\n.shape-black {\n background: var(--tblr-black-lt);\n color: var(--tblr-black);\n}\n\n.shape-white {\n background: var(--tblr-white-lt);\n color: var(--tblr-white);\n}\n\n.shape-gray {\n background: var(--tblr-gray-lt);\n color: var(--tblr-gray);\n}\n\n.shape-gray-dark {\n background: var(--tblr-gray-dark-lt);\n color: var(--tblr-gray-dark);\n}\n\n.m-7 {\n margin: 3rem !important;\n}\n\n.m-8 {\n margin: 4rem !important;\n}\n\n.m-9 {\n margin: 5rem !important;\n}\n\n.m-10 {\n margin: 6rem !important;\n}\n\n.m-11 {\n margin: 7rem !important;\n}\n\n.m-12 {\n margin: 8rem !important;\n}\n\n.mx-7 {\n margin-inline-end: 3rem !important;\n margin-inline-start: 3rem !important;\n}\n\n.mx-8 {\n margin-inline-end: 4rem !important;\n margin-inline-start: 4rem !important;\n}\n\n.mx-9 {\n margin-inline-end: 5rem !important;\n margin-inline-start: 5rem !important;\n}\n\n.mx-10 {\n margin-inline-end: 6rem !important;\n margin-inline-start: 6rem !important;\n}\n\n.mx-11 {\n margin-inline-end: 7rem !important;\n margin-inline-start: 7rem !important;\n}\n\n.mx-12 {\n margin-inline-end: 8rem !important;\n margin-inline-start: 8rem !important;\n}\n\n.my-7 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-8 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n}\n\n.my-9 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n}\n\n.my-10 {\n margin-top: 6rem !important;\n margin-bottom: 6rem !important;\n}\n\n.my-11 {\n margin-top: 7rem !important;\n margin-bottom: 7rem !important;\n}\n\n.my-12 {\n margin-top: 8rem !important;\n margin-bottom: 8rem !important;\n}\n\n.mt-7 {\n margin-top: 3rem !important;\n}\n\n.mt-8 {\n margin-top: 4rem !important;\n}\n\n.mt-9 {\n margin-top: 5rem !important;\n}\n\n.mt-10 {\n margin-top: 6rem !important;\n}\n\n.mt-11 {\n margin-top: 7rem !important;\n}\n\n.mt-12 {\n margin-top: 8rem !important;\n}\n\n.me-7 {\n margin-inline-end: 3rem !important;\n}\n\n.me-8 {\n margin-inline-end: 4rem !important;\n}\n\n.me-9 {\n margin-inline-end: 5rem !important;\n}\n\n.me-10 {\n margin-inline-end: 6rem !important;\n}\n\n.me-11 {\n margin-inline-end: 7rem !important;\n}\n\n.me-12 {\n margin-inline-end: 8rem !important;\n}\n\n.mb-7 {\n margin-bottom: 3rem !important;\n}\n\n.mb-8 {\n margin-bottom: 4rem !important;\n}\n\n.mb-9 {\n margin-bottom: 5rem !important;\n}\n\n.mb-10 {\n margin-bottom: 6rem !important;\n}\n\n.mb-11 {\n margin-bottom: 7rem !important;\n}\n\n.mb-12 {\n margin-bottom: 8rem !important;\n}\n\n.ms-7 {\n margin-inline-start: 3rem !important;\n}\n\n.ms-8 {\n margin-inline-start: 4rem !important;\n}\n\n.ms-9 {\n margin-inline-start: 5rem !important;\n}\n\n.ms-10 {\n margin-inline-start: 6rem !important;\n}\n\n.ms-11 {\n margin-inline-start: 7rem !important;\n}\n\n.ms-12 {\n margin-inline-start: 8rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -2rem !important;\n}\n\n.m-n6 {\n margin: -2.5rem !important;\n}\n\n.m-n7 {\n margin: -3rem !important;\n}\n\n.m-n8 {\n margin: -4rem !important;\n}\n\n.m-n9 {\n margin: -5rem !important;\n}\n\n.m-n10 {\n margin: -6rem !important;\n}\n\n.m-n11 {\n margin: -7rem !important;\n}\n\n.m-n12 {\n margin: -8rem !important;\n}\n\n.mx-n1 {\n margin-inline-end: -0.25rem !important;\n margin-inline-start: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-inline-end: -0.5rem !important;\n margin-inline-start: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-inline-end: -1rem !important;\n margin-inline-start: -1rem !important;\n}\n\n.mx-n4 {\n margin-inline-end: -1.5rem !important;\n margin-inline-start: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-inline-end: -2rem !important;\n margin-inline-start: -2rem !important;\n}\n\n.mx-n6 {\n margin-inline-end: -2.5rem !important;\n margin-inline-start: -2.5rem !important;\n}\n\n.mx-n7 {\n margin-inline-end: -3rem !important;\n margin-inline-start: -3rem !important;\n}\n\n.mx-n8 {\n margin-inline-end: -4rem !important;\n margin-inline-start: -4rem !important;\n}\n\n.mx-n9 {\n margin-inline-end: -5rem !important;\n margin-inline-start: -5rem !important;\n}\n\n.mx-n10 {\n margin-inline-end: -6rem !important;\n margin-inline-start: -6rem !important;\n}\n\n.mx-n11 {\n margin-inline-end: -7rem !important;\n margin-inline-start: -7rem !important;\n}\n\n.mx-n12 {\n margin-inline-end: -8rem !important;\n margin-inline-start: -8rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n}\n\n.my-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n}\n\n.my-n7 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.my-n8 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n}\n\n.my-n9 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n}\n\n.my-n10 {\n margin-top: -6rem !important;\n margin-bottom: -6rem !important;\n}\n\n.my-n11 {\n margin-top: -7rem !important;\n margin-bottom: -7rem !important;\n}\n\n.my-n12 {\n margin-top: -8rem !important;\n margin-bottom: -8rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -2rem !important;\n}\n\n.mt-n6 {\n margin-top: -2.5rem !important;\n}\n\n.mt-n7 {\n margin-top: -3rem !important;\n}\n\n.mt-n8 {\n margin-top: -4rem !important;\n}\n\n.mt-n9 {\n margin-top: -5rem !important;\n}\n\n.mt-n10 {\n margin-top: -6rem !important;\n}\n\n.mt-n11 {\n margin-top: -7rem !important;\n}\n\n.mt-n12 {\n margin-top: -8rem !important;\n}\n\n.me-n1 {\n margin-inline-end: -0.25rem !important;\n}\n\n.me-n2 {\n margin-inline-end: -0.5rem !important;\n}\n\n.me-n3 {\n margin-inline-end: -1rem !important;\n}\n\n.me-n4 {\n margin-inline-end: -1.5rem !important;\n}\n\n.me-n5 {\n margin-inline-end: -2rem !important;\n}\n\n.me-n6 {\n margin-inline-end: -2.5rem !important;\n}\n\n.me-n7 {\n margin-inline-end: -3rem !important;\n}\n\n.me-n8 {\n margin-inline-end: -4rem !important;\n}\n\n.me-n9 {\n margin-inline-end: -5rem !important;\n}\n\n.me-n10 {\n margin-inline-end: -6rem !important;\n}\n\n.me-n11 {\n margin-inline-end: -7rem !important;\n}\n\n.me-n12 {\n margin-inline-end: -8rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -2rem !important;\n}\n\n.mb-n6 {\n margin-bottom: -2.5rem !important;\n}\n\n.mb-n7 {\n margin-bottom: -3rem !important;\n}\n\n.mb-n8 {\n margin-bottom: -4rem !important;\n}\n\n.mb-n9 {\n margin-bottom: -5rem !important;\n}\n\n.mb-n10 {\n margin-bottom: -6rem !important;\n}\n\n.mb-n11 {\n margin-bottom: -7rem !important;\n}\n\n.mb-n12 {\n margin-bottom: -8rem !important;\n}\n\n.ms-n1 {\n margin-inline-start: -0.25rem !important;\n}\n\n.ms-n2 {\n margin-inline-start: -0.5rem !important;\n}\n\n.ms-n3 {\n margin-inline-start: -1rem !important;\n}\n\n.ms-n4 {\n margin-inline-start: -1.5rem !important;\n}\n\n.ms-n5 {\n margin-inline-start: -2rem !important;\n}\n\n.ms-n6 {\n margin-inline-start: -2.5rem !important;\n}\n\n.ms-n7 {\n margin-inline-start: -3rem !important;\n}\n\n.ms-n8 {\n margin-inline-start: -4rem !important;\n}\n\n.ms-n9 {\n margin-inline-start: -5rem !important;\n}\n\n.ms-n10 {\n margin-inline-start: -6rem !important;\n}\n\n.ms-n11 {\n margin-inline-start: -7rem !important;\n}\n\n.ms-n12 {\n margin-inline-start: -8rem !important;\n}\n\n.p-7 {\n padding: 3rem !important;\n}\n\n.p-8 {\n padding: 4rem !important;\n}\n\n.p-9 {\n padding: 5rem !important;\n}\n\n.p-10 {\n padding: 6rem !important;\n}\n\n.p-11 {\n padding: 7rem !important;\n}\n\n.p-12 {\n padding: 8rem !important;\n}\n\n.px-7 {\n padding-inline-end: 3rem !important;\n padding-inline-start: 3rem !important;\n}\n\n.px-8 {\n padding-inline-end: 4rem !important;\n padding-inline-start: 4rem !important;\n}\n\n.px-9 {\n padding-inline-end: 5rem !important;\n padding-inline-start: 5rem !important;\n}\n\n.px-10 {\n padding-inline-end: 6rem !important;\n padding-inline-start: 6rem !important;\n}\n\n.px-11 {\n padding-inline-end: 7rem !important;\n padding-inline-start: 7rem !important;\n}\n\n.px-12 {\n padding-inline-end: 8rem !important;\n padding-inline-start: 8rem !important;\n}\n\n.py-7 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.py-8 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n}\n\n.py-9 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n}\n\n.py-10 {\n padding-top: 6rem !important;\n padding-bottom: 6rem !important;\n}\n\n.py-11 {\n padding-top: 7rem !important;\n padding-bottom: 7rem !important;\n}\n\n.py-12 {\n padding-top: 8rem !important;\n padding-bottom: 8rem !important;\n}\n\n.pt-7 {\n padding-top: 3rem !important;\n}\n\n.pt-8 {\n padding-top: 4rem !important;\n}\n\n.pt-9 {\n padding-top: 5rem !important;\n}\n\n.pt-10 {\n padding-top: 6rem !important;\n}\n\n.pt-11 {\n padding-top: 7rem !important;\n}\n\n.pt-12 {\n padding-top: 8rem !important;\n}\n\n.pe-7 {\n padding-inline-end: 3rem !important;\n}\n\n.pe-8 {\n padding-inline-end: 4rem !important;\n}\n\n.pe-9 {\n padding-inline-end: 5rem !important;\n}\n\n.pe-10 {\n padding-inline-end: 6rem !important;\n}\n\n.pe-11 {\n padding-inline-end: 7rem !important;\n}\n\n.pe-12 {\n padding-inline-end: 8rem !important;\n}\n\n.pb-7 {\n padding-bottom: 3rem !important;\n}\n\n.pb-8 {\n padding-bottom: 4rem !important;\n}\n\n.pb-9 {\n padding-bottom: 5rem !important;\n}\n\n.pb-10 {\n padding-bottom: 6rem !important;\n}\n\n.pb-11 {\n padding-bottom: 7rem !important;\n}\n\n.pb-12 {\n padding-bottom: 8rem !important;\n}\n\n.ps-7 {\n padding-inline-start: 3rem !important;\n}\n\n.ps-8 {\n padding-inline-start: 4rem !important;\n}\n\n.ps-9 {\n padding-inline-start: 5rem !important;\n}\n\n.ps-10 {\n padding-inline-start: 6rem !important;\n}\n\n.ps-11 {\n padding-inline-start: 7rem !important;\n}\n\n.ps-12 {\n padding-inline-start: 8rem !important;\n}\n\n.gap-7 {\n gap: 3rem !important;\n}\n\n.gap-8 {\n gap: 4rem !important;\n}\n\n.gap-9 {\n gap: 5rem !important;\n}\n\n.gap-10 {\n gap: 6rem !important;\n}\n\n.gap-11 {\n gap: 7rem !important;\n}\n\n.gap-12 {\n gap: 8rem !important;\n}\n\n.row-gap-7 {\n row-gap: 3rem !important;\n}\n\n.row-gap-8 {\n row-gap: 4rem !important;\n}\n\n.row-gap-9 {\n row-gap: 5rem !important;\n}\n\n.row-gap-10 {\n row-gap: 6rem !important;\n}\n\n.row-gap-11 {\n row-gap: 7rem !important;\n}\n\n.row-gap-12 {\n row-gap: 8rem !important;\n}\n\n.column-gap-7 {\n column-gap: 3rem !important;\n}\n\n.column-gap-8 {\n column-gap: 4rem !important;\n}\n\n.column-gap-9 {\n column-gap: 5rem !important;\n}\n\n.column-gap-10 {\n column-gap: 6rem !important;\n}\n\n.column-gap-11 {\n column-gap: 7rem !important;\n}\n\n.column-gap-12 {\n column-gap: 8rem !important;\n}\n\n.tracking-tight {\n letter-spacing: -0.04em !important;\n}\n\n.tracking-normal {\n letter-spacing: 0 !important;\n}\n\n.tracking-wide {\n letter-spacing: 0.04em !important;\n}\n\n.w-7 {\n width: 3rem !important;\n}\n\n.w-8 {\n width: 4rem !important;\n}\n\n.w-9 {\n width: 5rem !important;\n}\n\n.w-10 {\n width: 6rem !important;\n}\n\n.w-11 {\n width: 7rem !important;\n}\n\n.w-12 {\n width: 8rem !important;\n}\n\n.h-7 {\n height: 3rem !important;\n}\n\n.h-8 {\n height: 4rem !important;\n}\n\n.h-9 {\n height: 5rem !important;\n}\n\n.h-10 {\n height: 6rem !important;\n}\n\n.h-11 {\n height: 7rem !important;\n}\n\n.h-12 {\n height: 8rem !important;\n}\n\n.filter-grayscale {\n filter: grayscale(100%) !important;\n}\n\n.gx-7 {\n --tblr-gutter-x: 3rem;\n}\n\n.gx-8 {\n --tblr-gutter-x: 4rem;\n}\n\n.gx-9 {\n --tblr-gutter-x: 5rem;\n}\n\n.gx-10 {\n --tblr-gutter-x: 6rem;\n}\n\n.gx-11 {\n --tblr-gutter-x: 7rem;\n}\n\n.gx-12 {\n --tblr-gutter-x: 8rem;\n}\n\n.gy-7 {\n --tblr-gutter-y: 3rem;\n}\n\n.gy-8 {\n --tblr-gutter-y: 4rem;\n}\n\n.gy-9 {\n --tblr-gutter-y: 5rem;\n}\n\n.gy-10 {\n --tblr-gutter-y: 6rem;\n}\n\n.gy-11 {\n --tblr-gutter-y: 7rem;\n}\n\n.gy-12 {\n --tblr-gutter-y: 8rem;\n}\n\n.g-7 {\n --tblr-gutter-x: 3rem;\n}\n\n.g-8 {\n --tblr-gutter-x: 4rem;\n}\n\n.g-9 {\n --tblr-gutter-x: 5rem;\n}\n\n.g-10 {\n --tblr-gutter-x: 6rem;\n}\n\n.g-11 {\n --tblr-gutter-x: 7rem;\n}\n\n.g-12 {\n --tblr-gutter-x: 8rem;\n}\n\n@media (min-width: 576px) {\n .m-sm-7 {\n margin: 3rem !important;\n }\n .m-sm-8 {\n margin: 4rem !important;\n }\n .m-sm-9 {\n margin: 5rem !important;\n }\n .m-sm-10 {\n margin: 6rem !important;\n }\n .m-sm-11 {\n margin: 7rem !important;\n }\n .m-sm-12 {\n margin: 8rem !important;\n }\n .mx-sm-7 {\n margin-inline-end: 3rem !important;\n margin-inline-start: 3rem !important;\n }\n .mx-sm-8 {\n margin-inline-end: 4rem !important;\n margin-inline-start: 4rem !important;\n }\n .mx-sm-9 {\n margin-inline-end: 5rem !important;\n margin-inline-start: 5rem !important;\n }\n .mx-sm-10 {\n margin-inline-end: 6rem !important;\n margin-inline-start: 6rem !important;\n }\n .mx-sm-11 {\n margin-inline-end: 7rem !important;\n margin-inline-start: 7rem !important;\n }\n .mx-sm-12 {\n margin-inline-end: 8rem !important;\n margin-inline-start: 8rem !important;\n }\n .my-sm-7 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-8 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n .my-sm-9 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-sm-10 {\n margin-top: 6rem !important;\n margin-bottom: 6rem !important;\n }\n .my-sm-11 {\n margin-top: 7rem !important;\n margin-bottom: 7rem !important;\n }\n .my-sm-12 {\n margin-top: 8rem !important;\n margin-bottom: 8rem !important;\n }\n .mt-sm-7 {\n margin-top: 3rem !important;\n }\n .mt-sm-8 {\n margin-top: 4rem !important;\n }\n .mt-sm-9 {\n margin-top: 5rem !important;\n }\n .mt-sm-10 {\n margin-top: 6rem !important;\n }\n .mt-sm-11 {\n margin-top: 7rem !important;\n }\n .mt-sm-12 {\n margin-top: 8rem !important;\n }\n .me-sm-7 {\n margin-inline-end: 3rem !important;\n }\n .me-sm-8 {\n margin-inline-end: 4rem !important;\n }\n .me-sm-9 {\n margin-inline-end: 5rem !important;\n }\n .me-sm-10 {\n margin-inline-end: 6rem !important;\n }\n .me-sm-11 {\n margin-inline-end: 7rem !important;\n }\n .me-sm-12 {\n margin-inline-end: 8rem !important;\n }\n .mb-sm-7 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-8 {\n margin-bottom: 4rem !important;\n }\n .mb-sm-9 {\n margin-bottom: 5rem !important;\n }\n .mb-sm-10 {\n margin-bottom: 6rem !important;\n }\n .mb-sm-11 {\n margin-bottom: 7rem !important;\n }\n .mb-sm-12 {\n margin-bottom: 8rem !important;\n }\n .ms-sm-7 {\n margin-inline-start: 3rem !important;\n }\n .ms-sm-8 {\n margin-inline-start: 4rem !important;\n }\n .ms-sm-9 {\n margin-inline-start: 5rem !important;\n }\n .ms-sm-10 {\n margin-inline-start: 6rem !important;\n }\n .ms-sm-11 {\n margin-inline-start: 7rem !important;\n }\n .ms-sm-12 {\n margin-inline-start: 8rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -2rem !important;\n }\n .m-sm-n6 {\n margin: -2.5rem !important;\n }\n .m-sm-n7 {\n margin: -3rem !important;\n }\n .m-sm-n8 {\n margin: -4rem !important;\n }\n .m-sm-n9 {\n margin: -5rem !important;\n }\n .m-sm-n10 {\n margin: -6rem !important;\n }\n .m-sm-n11 {\n margin: -7rem !important;\n }\n .m-sm-n12 {\n margin: -8rem !important;\n }\n .mx-sm-n1 {\n margin-inline-end: -0.25rem !important;\n margin-inline-start: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-inline-end: -0.5rem !important;\n margin-inline-start: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-inline-end: -1rem !important;\n margin-inline-start: -1rem !important;\n }\n .mx-sm-n4 {\n margin-inline-end: -1.5rem !important;\n margin-inline-start: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-inline-end: -2rem !important;\n margin-inline-start: -2rem !important;\n }\n .mx-sm-n6 {\n margin-inline-end: -2.5rem !important;\n margin-inline-start: -2.5rem !important;\n }\n .mx-sm-n7 {\n margin-inline-end: -3rem !important;\n margin-inline-start: -3rem !important;\n }\n .mx-sm-n8 {\n margin-inline-end: -4rem !important;\n margin-inline-start: -4rem !important;\n }\n .mx-sm-n9 {\n margin-inline-end: -5rem !important;\n margin-inline-start: -5rem !important;\n }\n .mx-sm-n10 {\n margin-inline-end: -6rem !important;\n margin-inline-start: -6rem !important;\n }\n .mx-sm-n11 {\n margin-inline-end: -7rem !important;\n margin-inline-start: -7rem !important;\n }\n .mx-sm-n12 {\n margin-inline-end: -8rem !important;\n margin-inline-start: -8rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-sm-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .my-sm-n7 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .my-sm-n8 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n .my-sm-n9 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n .my-sm-n10 {\n margin-top: -6rem !important;\n margin-bottom: -6rem !important;\n }\n .my-sm-n11 {\n margin-top: -7rem !important;\n margin-bottom: -7rem !important;\n }\n .my-sm-n12 {\n margin-top: -8rem !important;\n margin-bottom: -8rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -2rem !important;\n }\n .mt-sm-n6 {\n margin-top: -2.5rem !important;\n }\n .mt-sm-n7 {\n margin-top: -3rem !important;\n }\n .mt-sm-n8 {\n margin-top: -4rem !important;\n }\n .mt-sm-n9 {\n margin-top: -5rem !important;\n }\n .mt-sm-n10 {\n margin-top: -6rem !important;\n }\n .mt-sm-n11 {\n margin-top: -7rem !important;\n }\n .mt-sm-n12 {\n margin-top: -8rem !important;\n }\n .me-sm-n1 {\n margin-inline-end: -0.25rem !important;\n }\n .me-sm-n2 {\n margin-inline-end: -0.5rem !important;\n }\n .me-sm-n3 {\n margin-inline-end: -1rem !important;\n }\n .me-sm-n4 {\n margin-inline-end: -1.5rem !important;\n }\n .me-sm-n5 {\n margin-inline-end: -2rem !important;\n }\n .me-sm-n6 {\n margin-inline-end: -2.5rem !important;\n }\n .me-sm-n7 {\n margin-inline-end: -3rem !important;\n }\n .me-sm-n8 {\n margin-inline-end: -4rem !important;\n }\n .me-sm-n9 {\n margin-inline-end: -5rem !important;\n }\n .me-sm-n10 {\n margin-inline-end: -6rem !important;\n }\n .me-sm-n11 {\n margin-inline-end: -7rem !important;\n }\n .me-sm-n12 {\n margin-inline-end: -8rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-sm-n6 {\n margin-bottom: -2.5rem !important;\n }\n .mb-sm-n7 {\n margin-bottom: -3rem !important;\n }\n .mb-sm-n8 {\n margin-bottom: -4rem !important;\n }\n .mb-sm-n9 {\n margin-bottom: -5rem !important;\n }\n .mb-sm-n10 {\n margin-bottom: -6rem !important;\n }\n .mb-sm-n11 {\n margin-bottom: -7rem !important;\n }\n .mb-sm-n12 {\n margin-bottom: -8rem !important;\n }\n .ms-sm-n1 {\n margin-inline-start: -0.25rem !important;\n }\n .ms-sm-n2 {\n margin-inline-start: -0.5rem !important;\n }\n .ms-sm-n3 {\n margin-inline-start: -1rem !important;\n }\n .ms-sm-n4 {\n margin-inline-start: -1.5rem !important;\n }\n .ms-sm-n5 {\n margin-inline-start: -2rem !important;\n }\n .ms-sm-n6 {\n margin-inline-start: -2.5rem !important;\n }\n .ms-sm-n7 {\n margin-inline-start: -3rem !important;\n }\n .ms-sm-n8 {\n margin-inline-start: -4rem !important;\n }\n .ms-sm-n9 {\n margin-inline-start: -5rem !important;\n }\n .ms-sm-n10 {\n margin-inline-start: -6rem !important;\n }\n .ms-sm-n11 {\n margin-inline-start: -7rem !important;\n }\n .ms-sm-n12 {\n margin-inline-start: -8rem !important;\n }\n .p-sm-7 {\n padding: 3rem !important;\n }\n .p-sm-8 {\n padding: 4rem !important;\n }\n .p-sm-9 {\n padding: 5rem !important;\n }\n .p-sm-10 {\n padding: 6rem !important;\n }\n .p-sm-11 {\n padding: 7rem !important;\n }\n .p-sm-12 {\n padding: 8rem !important;\n }\n .px-sm-7 {\n padding-inline-end: 3rem !important;\n padding-inline-start: 3rem !important;\n }\n .px-sm-8 {\n padding-inline-end: 4rem !important;\n padding-inline-start: 4rem !important;\n }\n .px-sm-9 {\n padding-inline-end: 5rem !important;\n padding-inline-start: 5rem !important;\n }\n .px-sm-10 {\n padding-inline-end: 6rem !important;\n padding-inline-start: 6rem !important;\n }\n .px-sm-11 {\n padding-inline-end: 7rem !important;\n padding-inline-start: 7rem !important;\n }\n .px-sm-12 {\n padding-inline-end: 8rem !important;\n padding-inline-start: 8rem !important;\n }\n .py-sm-7 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .py-sm-8 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n .py-sm-9 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-sm-10 {\n padding-top: 6rem !important;\n padding-bottom: 6rem !important;\n }\n .py-sm-11 {\n padding-top: 7rem !important;\n padding-bottom: 7rem !important;\n }\n .py-sm-12 {\n padding-top: 8rem !important;\n padding-bottom: 8rem !important;\n }\n .pt-sm-7 {\n padding-top: 3rem !important;\n }\n .pt-sm-8 {\n padding-top: 4rem !important;\n }\n .pt-sm-9 {\n padding-top: 5rem !important;\n }\n .pt-sm-10 {\n padding-top: 6rem !important;\n }\n .pt-sm-11 {\n padding-top: 7rem !important;\n }\n .pt-sm-12 {\n padding-top: 8rem !important;\n }\n .pe-sm-7 {\n padding-inline-end: 3rem !important;\n }\n .pe-sm-8 {\n padding-inline-end: 4rem !important;\n }\n .pe-sm-9 {\n padding-inline-end: 5rem !important;\n }\n .pe-sm-10 {\n padding-inline-end: 6rem !important;\n }\n .pe-sm-11 {\n padding-inline-end: 7rem !important;\n }\n .pe-sm-12 {\n padding-inline-end: 8rem !important;\n }\n .pb-sm-7 {\n padding-bottom: 3rem !important;\n }\n .pb-sm-8 {\n padding-bottom: 4rem !important;\n }\n .pb-sm-9 {\n padding-bottom: 5rem !important;\n }\n .pb-sm-10 {\n padding-bottom: 6rem !important;\n }\n .pb-sm-11 {\n padding-bottom: 7rem !important;\n }\n .pb-sm-12 {\n padding-bottom: 8rem !important;\n }\n .ps-sm-7 {\n padding-inline-start: 3rem !important;\n }\n .ps-sm-8 {\n padding-inline-start: 4rem !important;\n }\n .ps-sm-9 {\n padding-inline-start: 5rem !important;\n }\n .ps-sm-10 {\n padding-inline-start: 6rem !important;\n }\n .ps-sm-11 {\n padding-inline-start: 7rem !important;\n }\n .ps-sm-12 {\n padding-inline-start: 8rem !important;\n }\n .gap-sm-7 {\n gap: 3rem !important;\n }\n .gap-sm-8 {\n gap: 4rem !important;\n }\n .gap-sm-9 {\n gap: 5rem !important;\n }\n .gap-sm-10 {\n gap: 6rem !important;\n }\n .gap-sm-11 {\n gap: 7rem !important;\n }\n .gap-sm-12 {\n gap: 8rem !important;\n }\n .row-gap-sm-7 {\n row-gap: 3rem !important;\n }\n .row-gap-sm-8 {\n row-gap: 4rem !important;\n }\n .row-gap-sm-9 {\n row-gap: 5rem !important;\n }\n .row-gap-sm-10 {\n row-gap: 6rem !important;\n }\n .row-gap-sm-11 {\n row-gap: 7rem !important;\n }\n .row-gap-sm-12 {\n row-gap: 8rem !important;\n }\n .column-gap-sm-7 {\n column-gap: 3rem !important;\n }\n .column-gap-sm-8 {\n column-gap: 4rem !important;\n }\n .column-gap-sm-9 {\n column-gap: 5rem !important;\n }\n .column-gap-sm-10 {\n column-gap: 6rem !important;\n }\n .column-gap-sm-11 {\n column-gap: 7rem !important;\n }\n .column-gap-sm-12 {\n column-gap: 8rem !important;\n }\n .gx-sm-7 {\n --tblr-gutter-x: 3rem;\n }\n .gx-sm-8 {\n --tblr-gutter-x: 4rem;\n }\n .gx-sm-9 {\n --tblr-gutter-x: 5rem;\n }\n .gx-sm-10 {\n --tblr-gutter-x: 6rem;\n }\n .gx-sm-11 {\n --tblr-gutter-x: 7rem;\n }\n .gx-sm-12 {\n --tblr-gutter-x: 8rem;\n }\n .gy-sm-7 {\n --tblr-gutter-y: 3rem;\n }\n .gy-sm-8 {\n --tblr-gutter-y: 4rem;\n }\n .gy-sm-9 {\n --tblr-gutter-y: 5rem;\n }\n .gy-sm-10 {\n --tblr-gutter-y: 6rem;\n }\n .gy-sm-11 {\n --tblr-gutter-y: 7rem;\n }\n .gy-sm-12 {\n --tblr-gutter-y: 8rem;\n }\n .g-sm-7 {\n --tblr-gutter-x: 3rem;\n }\n .g-sm-8 {\n --tblr-gutter-x: 4rem;\n }\n .g-sm-9 {\n --tblr-gutter-x: 5rem;\n }\n .g-sm-10 {\n --tblr-gutter-x: 6rem;\n }\n .g-sm-11 {\n --tblr-gutter-x: 7rem;\n }\n .g-sm-12 {\n --tblr-gutter-x: 8rem;\n }\n}\n@media (min-width: 768px) {\n .m-md-7 {\n margin: 3rem !important;\n }\n .m-md-8 {\n margin: 4rem !important;\n }\n .m-md-9 {\n margin: 5rem !important;\n }\n .m-md-10 {\n margin: 6rem !important;\n }\n .m-md-11 {\n margin: 7rem !important;\n }\n .m-md-12 {\n margin: 8rem !important;\n }\n .mx-md-7 {\n margin-inline-end: 3rem !important;\n margin-inline-start: 3rem !important;\n }\n .mx-md-8 {\n margin-inline-end: 4rem !important;\n margin-inline-start: 4rem !important;\n }\n .mx-md-9 {\n margin-inline-end: 5rem !important;\n margin-inline-start: 5rem !important;\n }\n .mx-md-10 {\n margin-inline-end: 6rem !important;\n margin-inline-start: 6rem !important;\n }\n .mx-md-11 {\n margin-inline-end: 7rem !important;\n margin-inline-start: 7rem !important;\n }\n .mx-md-12 {\n margin-inline-end: 8rem !important;\n margin-inline-start: 8rem !important;\n }\n .my-md-7 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-8 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n .my-md-9 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-md-10 {\n margin-top: 6rem !important;\n margin-bottom: 6rem !important;\n }\n .my-md-11 {\n margin-top: 7rem !important;\n margin-bottom: 7rem !important;\n }\n .my-md-12 {\n margin-top: 8rem !important;\n margin-bottom: 8rem !important;\n }\n .mt-md-7 {\n margin-top: 3rem !important;\n }\n .mt-md-8 {\n margin-top: 4rem !important;\n }\n .mt-md-9 {\n margin-top: 5rem !important;\n }\n .mt-md-10 {\n margin-top: 6rem !important;\n }\n .mt-md-11 {\n margin-top: 7rem !important;\n }\n .mt-md-12 {\n margin-top: 8rem !important;\n }\n .me-md-7 {\n margin-inline-end: 3rem !important;\n }\n .me-md-8 {\n margin-inline-end: 4rem !important;\n }\n .me-md-9 {\n margin-inline-end: 5rem !important;\n }\n .me-md-10 {\n margin-inline-end: 6rem !important;\n }\n .me-md-11 {\n margin-inline-end: 7rem !important;\n }\n .me-md-12 {\n margin-inline-end: 8rem !important;\n }\n .mb-md-7 {\n margin-bottom: 3rem !important;\n }\n .mb-md-8 {\n margin-bottom: 4rem !important;\n }\n .mb-md-9 {\n margin-bottom: 5rem !important;\n }\n .mb-md-10 {\n margin-bottom: 6rem !important;\n }\n .mb-md-11 {\n margin-bottom: 7rem !important;\n }\n .mb-md-12 {\n margin-bottom: 8rem !important;\n }\n .ms-md-7 {\n margin-inline-start: 3rem !important;\n }\n .ms-md-8 {\n margin-inline-start: 4rem !important;\n }\n .ms-md-9 {\n margin-inline-start: 5rem !important;\n }\n .ms-md-10 {\n margin-inline-start: 6rem !important;\n }\n .ms-md-11 {\n margin-inline-start: 7rem !important;\n }\n .ms-md-12 {\n margin-inline-start: 8rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -2rem !important;\n }\n .m-md-n6 {\n margin: -2.5rem !important;\n }\n .m-md-n7 {\n margin: -3rem !important;\n }\n .m-md-n8 {\n margin: -4rem !important;\n }\n .m-md-n9 {\n margin: -5rem !important;\n }\n .m-md-n10 {\n margin: -6rem !important;\n }\n .m-md-n11 {\n margin: -7rem !important;\n }\n .m-md-n12 {\n margin: -8rem !important;\n }\n .mx-md-n1 {\n margin-inline-end: -0.25rem !important;\n margin-inline-start: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-inline-end: -0.5rem !important;\n margin-inline-start: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-inline-end: -1rem !important;\n margin-inline-start: -1rem !important;\n }\n .mx-md-n4 {\n margin-inline-end: -1.5rem !important;\n margin-inline-start: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-inline-end: -2rem !important;\n margin-inline-start: -2rem !important;\n }\n .mx-md-n6 {\n margin-inline-end: -2.5rem !important;\n margin-inline-start: -2.5rem !important;\n }\n .mx-md-n7 {\n margin-inline-end: -3rem !important;\n margin-inline-start: -3rem !important;\n }\n .mx-md-n8 {\n margin-inline-end: -4rem !important;\n margin-inline-start: -4rem !important;\n }\n .mx-md-n9 {\n margin-inline-end: -5rem !important;\n margin-inline-start: -5rem !important;\n }\n .mx-md-n10 {\n margin-inline-end: -6rem !important;\n margin-inline-start: -6rem !important;\n }\n .mx-md-n11 {\n margin-inline-end: -7rem !important;\n margin-inline-start: -7rem !important;\n }\n .mx-md-n12 {\n margin-inline-end: -8rem !important;\n margin-inline-start: -8rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-md-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .my-md-n7 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .my-md-n8 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n .my-md-n9 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n .my-md-n10 {\n margin-top: -6rem !important;\n margin-bottom: -6rem !important;\n }\n .my-md-n11 {\n margin-top: -7rem !important;\n margin-bottom: -7rem !important;\n }\n .my-md-n12 {\n margin-top: -8rem !important;\n margin-bottom: -8rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -2rem !important;\n }\n .mt-md-n6 {\n margin-top: -2.5rem !important;\n }\n .mt-md-n7 {\n margin-top: -3rem !important;\n }\n .mt-md-n8 {\n margin-top: -4rem !important;\n }\n .mt-md-n9 {\n margin-top: -5rem !important;\n }\n .mt-md-n10 {\n margin-top: -6rem !important;\n }\n .mt-md-n11 {\n margin-top: -7rem !important;\n }\n .mt-md-n12 {\n margin-top: -8rem !important;\n }\n .me-md-n1 {\n margin-inline-end: -0.25rem !important;\n }\n .me-md-n2 {\n margin-inline-end: -0.5rem !important;\n }\n .me-md-n3 {\n margin-inline-end: -1rem !important;\n }\n .me-md-n4 {\n margin-inline-end: -1.5rem !important;\n }\n .me-md-n5 {\n margin-inline-end: -2rem !important;\n }\n .me-md-n6 {\n margin-inline-end: -2.5rem !important;\n }\n .me-md-n7 {\n margin-inline-end: -3rem !important;\n }\n .me-md-n8 {\n margin-inline-end: -4rem !important;\n }\n .me-md-n9 {\n margin-inline-end: -5rem !important;\n }\n .me-md-n10 {\n margin-inline-end: -6rem !important;\n }\n .me-md-n11 {\n margin-inline-end: -7rem !important;\n }\n .me-md-n12 {\n margin-inline-end: -8rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-md-n6 {\n margin-bottom: -2.5rem !important;\n }\n .mb-md-n7 {\n margin-bottom: -3rem !important;\n }\n .mb-md-n8 {\n margin-bottom: -4rem !important;\n }\n .mb-md-n9 {\n margin-bottom: -5rem !important;\n }\n .mb-md-n10 {\n margin-bottom: -6rem !important;\n }\n .mb-md-n11 {\n margin-bottom: -7rem !important;\n }\n .mb-md-n12 {\n margin-bottom: -8rem !important;\n }\n .ms-md-n1 {\n margin-inline-start: -0.25rem !important;\n }\n .ms-md-n2 {\n margin-inline-start: -0.5rem !important;\n }\n .ms-md-n3 {\n margin-inline-start: -1rem !important;\n }\n .ms-md-n4 {\n margin-inline-start: -1.5rem !important;\n }\n .ms-md-n5 {\n margin-inline-start: -2rem !important;\n }\n .ms-md-n6 {\n margin-inline-start: -2.5rem !important;\n }\n .ms-md-n7 {\n margin-inline-start: -3rem !important;\n }\n .ms-md-n8 {\n margin-inline-start: -4rem !important;\n }\n .ms-md-n9 {\n margin-inline-start: -5rem !important;\n }\n .ms-md-n10 {\n margin-inline-start: -6rem !important;\n }\n .ms-md-n11 {\n margin-inline-start: -7rem !important;\n }\n .ms-md-n12 {\n margin-inline-start: -8rem !important;\n }\n .p-md-7 {\n padding: 3rem !important;\n }\n .p-md-8 {\n padding: 4rem !important;\n }\n .p-md-9 {\n padding: 5rem !important;\n }\n .p-md-10 {\n padding: 6rem !important;\n }\n .p-md-11 {\n padding: 7rem !important;\n }\n .p-md-12 {\n padding: 8rem !important;\n }\n .px-md-7 {\n padding-inline-end: 3rem !important;\n padding-inline-start: 3rem !important;\n }\n .px-md-8 {\n padding-inline-end: 4rem !important;\n padding-inline-start: 4rem !important;\n }\n .px-md-9 {\n padding-inline-end: 5rem !important;\n padding-inline-start: 5rem !important;\n }\n .px-md-10 {\n padding-inline-end: 6rem !important;\n padding-inline-start: 6rem !important;\n }\n .px-md-11 {\n padding-inline-end: 7rem !important;\n padding-inline-start: 7rem !important;\n }\n .px-md-12 {\n padding-inline-end: 8rem !important;\n padding-inline-start: 8rem !important;\n }\n .py-md-7 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .py-md-8 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n .py-md-9 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-md-10 {\n padding-top: 6rem !important;\n padding-bottom: 6rem !important;\n }\n .py-md-11 {\n padding-top: 7rem !important;\n padding-bottom: 7rem !important;\n }\n .py-md-12 {\n padding-top: 8rem !important;\n padding-bottom: 8rem !important;\n }\n .pt-md-7 {\n padding-top: 3rem !important;\n }\n .pt-md-8 {\n padding-top: 4rem !important;\n }\n .pt-md-9 {\n padding-top: 5rem !important;\n }\n .pt-md-10 {\n padding-top: 6rem !important;\n }\n .pt-md-11 {\n padding-top: 7rem !important;\n }\n .pt-md-12 {\n padding-top: 8rem !important;\n }\n .pe-md-7 {\n padding-inline-end: 3rem !important;\n }\n .pe-md-8 {\n padding-inline-end: 4rem !important;\n }\n .pe-md-9 {\n padding-inline-end: 5rem !important;\n }\n .pe-md-10 {\n padding-inline-end: 6rem !important;\n }\n .pe-md-11 {\n padding-inline-end: 7rem !important;\n }\n .pe-md-12 {\n padding-inline-end: 8rem !important;\n }\n .pb-md-7 {\n padding-bottom: 3rem !important;\n }\n .pb-md-8 {\n padding-bottom: 4rem !important;\n }\n .pb-md-9 {\n padding-bottom: 5rem !important;\n }\n .pb-md-10 {\n padding-bottom: 6rem !important;\n }\n .pb-md-11 {\n padding-bottom: 7rem !important;\n }\n .pb-md-12 {\n padding-bottom: 8rem !important;\n }\n .ps-md-7 {\n padding-inline-start: 3rem !important;\n }\n .ps-md-8 {\n padding-inline-start: 4rem !important;\n }\n .ps-md-9 {\n padding-inline-start: 5rem !important;\n }\n .ps-md-10 {\n padding-inline-start: 6rem !important;\n }\n .ps-md-11 {\n padding-inline-start: 7rem !important;\n }\n .ps-md-12 {\n padding-inline-start: 8rem !important;\n }\n .gap-md-7 {\n gap: 3rem !important;\n }\n .gap-md-8 {\n gap: 4rem !important;\n }\n .gap-md-9 {\n gap: 5rem !important;\n }\n .gap-md-10 {\n gap: 6rem !important;\n }\n .gap-md-11 {\n gap: 7rem !important;\n }\n .gap-md-12 {\n gap: 8rem !important;\n }\n .row-gap-md-7 {\n row-gap: 3rem !important;\n }\n .row-gap-md-8 {\n row-gap: 4rem !important;\n }\n .row-gap-md-9 {\n row-gap: 5rem !important;\n }\n .row-gap-md-10 {\n row-gap: 6rem !important;\n }\n .row-gap-md-11 {\n row-gap: 7rem !important;\n }\n .row-gap-md-12 {\n row-gap: 8rem !important;\n }\n .column-gap-md-7 {\n column-gap: 3rem !important;\n }\n .column-gap-md-8 {\n column-gap: 4rem !important;\n }\n .column-gap-md-9 {\n column-gap: 5rem !important;\n }\n .column-gap-md-10 {\n column-gap: 6rem !important;\n }\n .column-gap-md-11 {\n column-gap: 7rem !important;\n }\n .column-gap-md-12 {\n column-gap: 8rem !important;\n }\n .gx-md-7 {\n --tblr-gutter-x: 3rem;\n }\n .gx-md-8 {\n --tblr-gutter-x: 4rem;\n }\n .gx-md-9 {\n --tblr-gutter-x: 5rem;\n }\n .gx-md-10 {\n --tblr-gutter-x: 6rem;\n }\n .gx-md-11 {\n --tblr-gutter-x: 7rem;\n }\n .gx-md-12 {\n --tblr-gutter-x: 8rem;\n }\n .gy-md-7 {\n --tblr-gutter-y: 3rem;\n }\n .gy-md-8 {\n --tblr-gutter-y: 4rem;\n }\n .gy-md-9 {\n --tblr-gutter-y: 5rem;\n }\n .gy-md-10 {\n --tblr-gutter-y: 6rem;\n }\n .gy-md-11 {\n --tblr-gutter-y: 7rem;\n }\n .gy-md-12 {\n --tblr-gutter-y: 8rem;\n }\n .g-md-7 {\n --tblr-gutter-x: 3rem;\n }\n .g-md-8 {\n --tblr-gutter-x: 4rem;\n }\n .g-md-9 {\n --tblr-gutter-x: 5rem;\n }\n .g-md-10 {\n --tblr-gutter-x: 6rem;\n }\n .g-md-11 {\n --tblr-gutter-x: 7rem;\n }\n .g-md-12 {\n --tblr-gutter-x: 8rem;\n }\n}\n@media (min-width: 992px) {\n .m-lg-7 {\n margin: 3rem !important;\n }\n .m-lg-8 {\n margin: 4rem !important;\n }\n .m-lg-9 {\n margin: 5rem !important;\n }\n .m-lg-10 {\n margin: 6rem !important;\n }\n .m-lg-11 {\n margin: 7rem !important;\n }\n .m-lg-12 {\n margin: 8rem !important;\n }\n .mx-lg-7 {\n margin-inline-end: 3rem !important;\n margin-inline-start: 3rem !important;\n }\n .mx-lg-8 {\n margin-inline-end: 4rem !important;\n margin-inline-start: 4rem !important;\n }\n .mx-lg-9 {\n margin-inline-end: 5rem !important;\n margin-inline-start: 5rem !important;\n }\n .mx-lg-10 {\n margin-inline-end: 6rem !important;\n margin-inline-start: 6rem !important;\n }\n .mx-lg-11 {\n margin-inline-end: 7rem !important;\n margin-inline-start: 7rem !important;\n }\n .mx-lg-12 {\n margin-inline-end: 8rem !important;\n margin-inline-start: 8rem !important;\n }\n .my-lg-7 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-8 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n .my-lg-9 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-lg-10 {\n margin-top: 6rem !important;\n margin-bottom: 6rem !important;\n }\n .my-lg-11 {\n margin-top: 7rem !important;\n margin-bottom: 7rem !important;\n }\n .my-lg-12 {\n margin-top: 8rem !important;\n margin-bottom: 8rem !important;\n }\n .mt-lg-7 {\n margin-top: 3rem !important;\n }\n .mt-lg-8 {\n margin-top: 4rem !important;\n }\n .mt-lg-9 {\n margin-top: 5rem !important;\n }\n .mt-lg-10 {\n margin-top: 6rem !important;\n }\n .mt-lg-11 {\n margin-top: 7rem !important;\n }\n .mt-lg-12 {\n margin-top: 8rem !important;\n }\n .me-lg-7 {\n margin-inline-end: 3rem !important;\n }\n .me-lg-8 {\n margin-inline-end: 4rem !important;\n }\n .me-lg-9 {\n margin-inline-end: 5rem !important;\n }\n .me-lg-10 {\n margin-inline-end: 6rem !important;\n }\n .me-lg-11 {\n margin-inline-end: 7rem !important;\n }\n .me-lg-12 {\n margin-inline-end: 8rem !important;\n }\n .mb-lg-7 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-8 {\n margin-bottom: 4rem !important;\n }\n .mb-lg-9 {\n margin-bottom: 5rem !important;\n }\n .mb-lg-10 {\n margin-bottom: 6rem !important;\n }\n .mb-lg-11 {\n margin-bottom: 7rem !important;\n }\n .mb-lg-12 {\n margin-bottom: 8rem !important;\n }\n .ms-lg-7 {\n margin-inline-start: 3rem !important;\n }\n .ms-lg-8 {\n margin-inline-start: 4rem !important;\n }\n .ms-lg-9 {\n margin-inline-start: 5rem !important;\n }\n .ms-lg-10 {\n margin-inline-start: 6rem !important;\n }\n .ms-lg-11 {\n margin-inline-start: 7rem !important;\n }\n .ms-lg-12 {\n margin-inline-start: 8rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -2rem !important;\n }\n .m-lg-n6 {\n margin: -2.5rem !important;\n }\n .m-lg-n7 {\n margin: -3rem !important;\n }\n .m-lg-n8 {\n margin: -4rem !important;\n }\n .m-lg-n9 {\n margin: -5rem !important;\n }\n .m-lg-n10 {\n margin: -6rem !important;\n }\n .m-lg-n11 {\n margin: -7rem !important;\n }\n .m-lg-n12 {\n margin: -8rem !important;\n }\n .mx-lg-n1 {\n margin-inline-end: -0.25rem !important;\n margin-inline-start: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-inline-end: -0.5rem !important;\n margin-inline-start: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-inline-end: -1rem !important;\n margin-inline-start: -1rem !important;\n }\n .mx-lg-n4 {\n margin-inline-end: -1.5rem !important;\n margin-inline-start: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-inline-end: -2rem !important;\n margin-inline-start: -2rem !important;\n }\n .mx-lg-n6 {\n margin-inline-end: -2.5rem !important;\n margin-inline-start: -2.5rem !important;\n }\n .mx-lg-n7 {\n margin-inline-end: -3rem !important;\n margin-inline-start: -3rem !important;\n }\n .mx-lg-n8 {\n margin-inline-end: -4rem !important;\n margin-inline-start: -4rem !important;\n }\n .mx-lg-n9 {\n margin-inline-end: -5rem !important;\n margin-inline-start: -5rem !important;\n }\n .mx-lg-n10 {\n margin-inline-end: -6rem !important;\n margin-inline-start: -6rem !important;\n }\n .mx-lg-n11 {\n margin-inline-end: -7rem !important;\n margin-inline-start: -7rem !important;\n }\n .mx-lg-n12 {\n margin-inline-end: -8rem !important;\n margin-inline-start: -8rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-lg-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .my-lg-n7 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .my-lg-n8 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n .my-lg-n9 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n .my-lg-n10 {\n margin-top: -6rem !important;\n margin-bottom: -6rem !important;\n }\n .my-lg-n11 {\n margin-top: -7rem !important;\n margin-bottom: -7rem !important;\n }\n .my-lg-n12 {\n margin-top: -8rem !important;\n margin-bottom: -8rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -2rem !important;\n }\n .mt-lg-n6 {\n margin-top: -2.5rem !important;\n }\n .mt-lg-n7 {\n margin-top: -3rem !important;\n }\n .mt-lg-n8 {\n margin-top: -4rem !important;\n }\n .mt-lg-n9 {\n margin-top: -5rem !important;\n }\n .mt-lg-n10 {\n margin-top: -6rem !important;\n }\n .mt-lg-n11 {\n margin-top: -7rem !important;\n }\n .mt-lg-n12 {\n margin-top: -8rem !important;\n }\n .me-lg-n1 {\n margin-inline-end: -0.25rem !important;\n }\n .me-lg-n2 {\n margin-inline-end: -0.5rem !important;\n }\n .me-lg-n3 {\n margin-inline-end: -1rem !important;\n }\n .me-lg-n4 {\n margin-inline-end: -1.5rem !important;\n }\n .me-lg-n5 {\n margin-inline-end: -2rem !important;\n }\n .me-lg-n6 {\n margin-inline-end: -2.5rem !important;\n }\n .me-lg-n7 {\n margin-inline-end: -3rem !important;\n }\n .me-lg-n8 {\n margin-inline-end: -4rem !important;\n }\n .me-lg-n9 {\n margin-inline-end: -5rem !important;\n }\n .me-lg-n10 {\n margin-inline-end: -6rem !important;\n }\n .me-lg-n11 {\n margin-inline-end: -7rem !important;\n }\n .me-lg-n12 {\n margin-inline-end: -8rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-lg-n6 {\n margin-bottom: -2.5rem !important;\n }\n .mb-lg-n7 {\n margin-bottom: -3rem !important;\n }\n .mb-lg-n8 {\n margin-bottom: -4rem !important;\n }\n .mb-lg-n9 {\n margin-bottom: -5rem !important;\n }\n .mb-lg-n10 {\n margin-bottom: -6rem !important;\n }\n .mb-lg-n11 {\n margin-bottom: -7rem !important;\n }\n .mb-lg-n12 {\n margin-bottom: -8rem !important;\n }\n .ms-lg-n1 {\n margin-inline-start: -0.25rem !important;\n }\n .ms-lg-n2 {\n margin-inline-start: -0.5rem !important;\n }\n .ms-lg-n3 {\n margin-inline-start: -1rem !important;\n }\n .ms-lg-n4 {\n margin-inline-start: -1.5rem !important;\n }\n .ms-lg-n5 {\n margin-inline-start: -2rem !important;\n }\n .ms-lg-n6 {\n margin-inline-start: -2.5rem !important;\n }\n .ms-lg-n7 {\n margin-inline-start: -3rem !important;\n }\n .ms-lg-n8 {\n margin-inline-start: -4rem !important;\n }\n .ms-lg-n9 {\n margin-inline-start: -5rem !important;\n }\n .ms-lg-n10 {\n margin-inline-start: -6rem !important;\n }\n .ms-lg-n11 {\n margin-inline-start: -7rem !important;\n }\n .ms-lg-n12 {\n margin-inline-start: -8rem !important;\n }\n .p-lg-7 {\n padding: 3rem !important;\n }\n .p-lg-8 {\n padding: 4rem !important;\n }\n .p-lg-9 {\n padding: 5rem !important;\n }\n .p-lg-10 {\n padding: 6rem !important;\n }\n .p-lg-11 {\n padding: 7rem !important;\n }\n .p-lg-12 {\n padding: 8rem !important;\n }\n .px-lg-7 {\n padding-inline-end: 3rem !important;\n padding-inline-start: 3rem !important;\n }\n .px-lg-8 {\n padding-inline-end: 4rem !important;\n padding-inline-start: 4rem !important;\n }\n .px-lg-9 {\n padding-inline-end: 5rem !important;\n padding-inline-start: 5rem !important;\n }\n .px-lg-10 {\n padding-inline-end: 6rem !important;\n padding-inline-start: 6rem !important;\n }\n .px-lg-11 {\n padding-inline-end: 7rem !important;\n padding-inline-start: 7rem !important;\n }\n .px-lg-12 {\n padding-inline-end: 8rem !important;\n padding-inline-start: 8rem !important;\n }\n .py-lg-7 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .py-lg-8 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n .py-lg-9 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-lg-10 {\n padding-top: 6rem !important;\n padding-bottom: 6rem !important;\n }\n .py-lg-11 {\n padding-top: 7rem !important;\n padding-bottom: 7rem !important;\n }\n .py-lg-12 {\n padding-top: 8rem !important;\n padding-bottom: 8rem !important;\n }\n .pt-lg-7 {\n padding-top: 3rem !important;\n }\n .pt-lg-8 {\n padding-top: 4rem !important;\n }\n .pt-lg-9 {\n padding-top: 5rem !important;\n }\n .pt-lg-10 {\n padding-top: 6rem !important;\n }\n .pt-lg-11 {\n padding-top: 7rem !important;\n }\n .pt-lg-12 {\n padding-top: 8rem !important;\n }\n .pe-lg-7 {\n padding-inline-end: 3rem !important;\n }\n .pe-lg-8 {\n padding-inline-end: 4rem !important;\n }\n .pe-lg-9 {\n padding-inline-end: 5rem !important;\n }\n .pe-lg-10 {\n padding-inline-end: 6rem !important;\n }\n .pe-lg-11 {\n padding-inline-end: 7rem !important;\n }\n .pe-lg-12 {\n padding-inline-end: 8rem !important;\n }\n .pb-lg-7 {\n padding-bottom: 3rem !important;\n }\n .pb-lg-8 {\n padding-bottom: 4rem !important;\n }\n .pb-lg-9 {\n padding-bottom: 5rem !important;\n }\n .pb-lg-10 {\n padding-bottom: 6rem !important;\n }\n .pb-lg-11 {\n padding-bottom: 7rem !important;\n }\n .pb-lg-12 {\n padding-bottom: 8rem !important;\n }\n .ps-lg-7 {\n padding-inline-start: 3rem !important;\n }\n .ps-lg-8 {\n padding-inline-start: 4rem !important;\n }\n .ps-lg-9 {\n padding-inline-start: 5rem !important;\n }\n .ps-lg-10 {\n padding-inline-start: 6rem !important;\n }\n .ps-lg-11 {\n padding-inline-start: 7rem !important;\n }\n .ps-lg-12 {\n padding-inline-start: 8rem !important;\n }\n .gap-lg-7 {\n gap: 3rem !important;\n }\n .gap-lg-8 {\n gap: 4rem !important;\n }\n .gap-lg-9 {\n gap: 5rem !important;\n }\n .gap-lg-10 {\n gap: 6rem !important;\n }\n .gap-lg-11 {\n gap: 7rem !important;\n }\n .gap-lg-12 {\n gap: 8rem !important;\n }\n .row-gap-lg-7 {\n row-gap: 3rem !important;\n }\n .row-gap-lg-8 {\n row-gap: 4rem !important;\n }\n .row-gap-lg-9 {\n row-gap: 5rem !important;\n }\n .row-gap-lg-10 {\n row-gap: 6rem !important;\n }\n .row-gap-lg-11 {\n row-gap: 7rem !important;\n }\n .row-gap-lg-12 {\n row-gap: 8rem !important;\n }\n .column-gap-lg-7 {\n column-gap: 3rem !important;\n }\n .column-gap-lg-8 {\n column-gap: 4rem !important;\n }\n .column-gap-lg-9 {\n column-gap: 5rem !important;\n }\n .column-gap-lg-10 {\n column-gap: 6rem !important;\n }\n .column-gap-lg-11 {\n column-gap: 7rem !important;\n }\n .column-gap-lg-12 {\n column-gap: 8rem !important;\n }\n .gx-lg-7 {\n --tblr-gutter-x: 3rem;\n }\n .gx-lg-8 {\n --tblr-gutter-x: 4rem;\n }\n .gx-lg-9 {\n --tblr-gutter-x: 5rem;\n }\n .gx-lg-10 {\n --tblr-gutter-x: 6rem;\n }\n .gx-lg-11 {\n --tblr-gutter-x: 7rem;\n }\n .gx-lg-12 {\n --tblr-gutter-x: 8rem;\n }\n .gy-lg-7 {\n --tblr-gutter-y: 3rem;\n }\n .gy-lg-8 {\n --tblr-gutter-y: 4rem;\n }\n .gy-lg-9 {\n --tblr-gutter-y: 5rem;\n }\n .gy-lg-10 {\n --tblr-gutter-y: 6rem;\n }\n .gy-lg-11 {\n --tblr-gutter-y: 7rem;\n }\n .gy-lg-12 {\n --tblr-gutter-y: 8rem;\n }\n .g-lg-7 {\n --tblr-gutter-x: 3rem;\n }\n .g-lg-8 {\n --tblr-gutter-x: 4rem;\n }\n .g-lg-9 {\n --tblr-gutter-x: 5rem;\n }\n .g-lg-10 {\n --tblr-gutter-x: 6rem;\n }\n .g-lg-11 {\n --tblr-gutter-x: 7rem;\n }\n .g-lg-12 {\n --tblr-gutter-x: 8rem;\n }\n}\n@media (min-width: 1200px) {\n .m-xl-7 {\n margin: 3rem !important;\n }\n .m-xl-8 {\n margin: 4rem !important;\n }\n .m-xl-9 {\n margin: 5rem !important;\n }\n .m-xl-10 {\n margin: 6rem !important;\n }\n .m-xl-11 {\n margin: 7rem !important;\n }\n .m-xl-12 {\n margin: 8rem !important;\n }\n .mx-xl-7 {\n margin-inline-end: 3rem !important;\n margin-inline-start: 3rem !important;\n }\n .mx-xl-8 {\n margin-inline-end: 4rem !important;\n margin-inline-start: 4rem !important;\n }\n .mx-xl-9 {\n margin-inline-end: 5rem !important;\n margin-inline-start: 5rem !important;\n }\n .mx-xl-10 {\n margin-inline-end: 6rem !important;\n margin-inline-start: 6rem !important;\n }\n .mx-xl-11 {\n margin-inline-end: 7rem !important;\n margin-inline-start: 7rem !important;\n }\n .mx-xl-12 {\n margin-inline-end: 8rem !important;\n margin-inline-start: 8rem !important;\n }\n .my-xl-7 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-8 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n .my-xl-9 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-xl-10 {\n margin-top: 6rem !important;\n margin-bottom: 6rem !important;\n }\n .my-xl-11 {\n margin-top: 7rem !important;\n margin-bottom: 7rem !important;\n }\n .my-xl-12 {\n margin-top: 8rem !important;\n margin-bottom: 8rem !important;\n }\n .mt-xl-7 {\n margin-top: 3rem !important;\n }\n .mt-xl-8 {\n margin-top: 4rem !important;\n }\n .mt-xl-9 {\n margin-top: 5rem !important;\n }\n .mt-xl-10 {\n margin-top: 6rem !important;\n }\n .mt-xl-11 {\n margin-top: 7rem !important;\n }\n .mt-xl-12 {\n margin-top: 8rem !important;\n }\n .me-xl-7 {\n margin-inline-end: 3rem !important;\n }\n .me-xl-8 {\n margin-inline-end: 4rem !important;\n }\n .me-xl-9 {\n margin-inline-end: 5rem !important;\n }\n .me-xl-10 {\n margin-inline-end: 6rem !important;\n }\n .me-xl-11 {\n margin-inline-end: 7rem !important;\n }\n .me-xl-12 {\n margin-inline-end: 8rem !important;\n }\n .mb-xl-7 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-8 {\n margin-bottom: 4rem !important;\n }\n .mb-xl-9 {\n margin-bottom: 5rem !important;\n }\n .mb-xl-10 {\n margin-bottom: 6rem !important;\n }\n .mb-xl-11 {\n margin-bottom: 7rem !important;\n }\n .mb-xl-12 {\n margin-bottom: 8rem !important;\n }\n .ms-xl-7 {\n margin-inline-start: 3rem !important;\n }\n .ms-xl-8 {\n margin-inline-start: 4rem !important;\n }\n .ms-xl-9 {\n margin-inline-start: 5rem !important;\n }\n .ms-xl-10 {\n margin-inline-start: 6rem !important;\n }\n .ms-xl-11 {\n margin-inline-start: 7rem !important;\n }\n .ms-xl-12 {\n margin-inline-start: 8rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -2rem !important;\n }\n .m-xl-n6 {\n margin: -2.5rem !important;\n }\n .m-xl-n7 {\n margin: -3rem !important;\n }\n .m-xl-n8 {\n margin: -4rem !important;\n }\n .m-xl-n9 {\n margin: -5rem !important;\n }\n .m-xl-n10 {\n margin: -6rem !important;\n }\n .m-xl-n11 {\n margin: -7rem !important;\n }\n .m-xl-n12 {\n margin: -8rem !important;\n }\n .mx-xl-n1 {\n margin-inline-end: -0.25rem !important;\n margin-inline-start: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-inline-end: -0.5rem !important;\n margin-inline-start: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-inline-end: -1rem !important;\n margin-inline-start: -1rem !important;\n }\n .mx-xl-n4 {\n margin-inline-end: -1.5rem !important;\n margin-inline-start: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-inline-end: -2rem !important;\n margin-inline-start: -2rem !important;\n }\n .mx-xl-n6 {\n margin-inline-end: -2.5rem !important;\n margin-inline-start: -2.5rem !important;\n }\n .mx-xl-n7 {\n margin-inline-end: -3rem !important;\n margin-inline-start: -3rem !important;\n }\n .mx-xl-n8 {\n margin-inline-end: -4rem !important;\n margin-inline-start: -4rem !important;\n }\n .mx-xl-n9 {\n margin-inline-end: -5rem !important;\n margin-inline-start: -5rem !important;\n }\n .mx-xl-n10 {\n margin-inline-end: -6rem !important;\n margin-inline-start: -6rem !important;\n }\n .mx-xl-n11 {\n margin-inline-end: -7rem !important;\n margin-inline-start: -7rem !important;\n }\n .mx-xl-n12 {\n margin-inline-end: -8rem !important;\n margin-inline-start: -8rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-xl-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .my-xl-n7 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .my-xl-n8 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n .my-xl-n9 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n .my-xl-n10 {\n margin-top: -6rem !important;\n margin-bottom: -6rem !important;\n }\n .my-xl-n11 {\n margin-top: -7rem !important;\n margin-bottom: -7rem !important;\n }\n .my-xl-n12 {\n margin-top: -8rem !important;\n margin-bottom: -8rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -2rem !important;\n }\n .mt-xl-n6 {\n margin-top: -2.5rem !important;\n }\n .mt-xl-n7 {\n margin-top: -3rem !important;\n }\n .mt-xl-n8 {\n margin-top: -4rem !important;\n }\n .mt-xl-n9 {\n margin-top: -5rem !important;\n }\n .mt-xl-n10 {\n margin-top: -6rem !important;\n }\n .mt-xl-n11 {\n margin-top: -7rem !important;\n }\n .mt-xl-n12 {\n margin-top: -8rem !important;\n }\n .me-xl-n1 {\n margin-inline-end: -0.25rem !important;\n }\n .me-xl-n2 {\n margin-inline-end: -0.5rem !important;\n }\n .me-xl-n3 {\n margin-inline-end: -1rem !important;\n }\n .me-xl-n4 {\n margin-inline-end: -1.5rem !important;\n }\n .me-xl-n5 {\n margin-inline-end: -2rem !important;\n }\n .me-xl-n6 {\n margin-inline-end: -2.5rem !important;\n }\n .me-xl-n7 {\n margin-inline-end: -3rem !important;\n }\n .me-xl-n8 {\n margin-inline-end: -4rem !important;\n }\n .me-xl-n9 {\n margin-inline-end: -5rem !important;\n }\n .me-xl-n10 {\n margin-inline-end: -6rem !important;\n }\n .me-xl-n11 {\n margin-inline-end: -7rem !important;\n }\n .me-xl-n12 {\n margin-inline-end: -8rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-xl-n6 {\n margin-bottom: -2.5rem !important;\n }\n .mb-xl-n7 {\n margin-bottom: -3rem !important;\n }\n .mb-xl-n8 {\n margin-bottom: -4rem !important;\n }\n .mb-xl-n9 {\n margin-bottom: -5rem !important;\n }\n .mb-xl-n10 {\n margin-bottom: -6rem !important;\n }\n .mb-xl-n11 {\n margin-bottom: -7rem !important;\n }\n .mb-xl-n12 {\n margin-bottom: -8rem !important;\n }\n .ms-xl-n1 {\n margin-inline-start: -0.25rem !important;\n }\n .ms-xl-n2 {\n margin-inline-start: -0.5rem !important;\n }\n .ms-xl-n3 {\n margin-inline-start: -1rem !important;\n }\n .ms-xl-n4 {\n margin-inline-start: -1.5rem !important;\n }\n .ms-xl-n5 {\n margin-inline-start: -2rem !important;\n }\n .ms-xl-n6 {\n margin-inline-start: -2.5rem !important;\n }\n .ms-xl-n7 {\n margin-inline-start: -3rem !important;\n }\n .ms-xl-n8 {\n margin-inline-start: -4rem !important;\n }\n .ms-xl-n9 {\n margin-inline-start: -5rem !important;\n }\n .ms-xl-n10 {\n margin-inline-start: -6rem !important;\n }\n .ms-xl-n11 {\n margin-inline-start: -7rem !important;\n }\n .ms-xl-n12 {\n margin-inline-start: -8rem !important;\n }\n .p-xl-7 {\n padding: 3rem !important;\n }\n .p-xl-8 {\n padding: 4rem !important;\n }\n .p-xl-9 {\n padding: 5rem !important;\n }\n .p-xl-10 {\n padding: 6rem !important;\n }\n .p-xl-11 {\n padding: 7rem !important;\n }\n .p-xl-12 {\n padding: 8rem !important;\n }\n .px-xl-7 {\n padding-inline-end: 3rem !important;\n padding-inline-start: 3rem !important;\n }\n .px-xl-8 {\n padding-inline-end: 4rem !important;\n padding-inline-start: 4rem !important;\n }\n .px-xl-9 {\n padding-inline-end: 5rem !important;\n padding-inline-start: 5rem !important;\n }\n .px-xl-10 {\n padding-inline-end: 6rem !important;\n padding-inline-start: 6rem !important;\n }\n .px-xl-11 {\n padding-inline-end: 7rem !important;\n padding-inline-start: 7rem !important;\n }\n .px-xl-12 {\n padding-inline-end: 8rem !important;\n padding-inline-start: 8rem !important;\n }\n .py-xl-7 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .py-xl-8 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n .py-xl-9 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-xl-10 {\n padding-top: 6rem !important;\n padding-bottom: 6rem !important;\n }\n .py-xl-11 {\n padding-top: 7rem !important;\n padding-bottom: 7rem !important;\n }\n .py-xl-12 {\n padding-top: 8rem !important;\n padding-bottom: 8rem !important;\n }\n .pt-xl-7 {\n padding-top: 3rem !important;\n }\n .pt-xl-8 {\n padding-top: 4rem !important;\n }\n .pt-xl-9 {\n padding-top: 5rem !important;\n }\n .pt-xl-10 {\n padding-top: 6rem !important;\n }\n .pt-xl-11 {\n padding-top: 7rem !important;\n }\n .pt-xl-12 {\n padding-top: 8rem !important;\n }\n .pe-xl-7 {\n padding-inline-end: 3rem !important;\n }\n .pe-xl-8 {\n padding-inline-end: 4rem !important;\n }\n .pe-xl-9 {\n padding-inline-end: 5rem !important;\n }\n .pe-xl-10 {\n padding-inline-end: 6rem !important;\n }\n .pe-xl-11 {\n padding-inline-end: 7rem !important;\n }\n .pe-xl-12 {\n padding-inline-end: 8rem !important;\n }\n .pb-xl-7 {\n padding-bottom: 3rem !important;\n }\n .pb-xl-8 {\n padding-bottom: 4rem !important;\n }\n .pb-xl-9 {\n padding-bottom: 5rem !important;\n }\n .pb-xl-10 {\n padding-bottom: 6rem !important;\n }\n .pb-xl-11 {\n padding-bottom: 7rem !important;\n }\n .pb-xl-12 {\n padding-bottom: 8rem !important;\n }\n .ps-xl-7 {\n padding-inline-start: 3rem !important;\n }\n .ps-xl-8 {\n padding-inline-start: 4rem !important;\n }\n .ps-xl-9 {\n padding-inline-start: 5rem !important;\n }\n .ps-xl-10 {\n padding-inline-start: 6rem !important;\n }\n .ps-xl-11 {\n padding-inline-start: 7rem !important;\n }\n .ps-xl-12 {\n padding-inline-start: 8rem !important;\n }\n .gap-xl-7 {\n gap: 3rem !important;\n }\n .gap-xl-8 {\n gap: 4rem !important;\n }\n .gap-xl-9 {\n gap: 5rem !important;\n }\n .gap-xl-10 {\n gap: 6rem !important;\n }\n .gap-xl-11 {\n gap: 7rem !important;\n }\n .gap-xl-12 {\n gap: 8rem !important;\n }\n .row-gap-xl-7 {\n row-gap: 3rem !important;\n }\n .row-gap-xl-8 {\n row-gap: 4rem !important;\n }\n .row-gap-xl-9 {\n row-gap: 5rem !important;\n }\n .row-gap-xl-10 {\n row-gap: 6rem !important;\n }\n .row-gap-xl-11 {\n row-gap: 7rem !important;\n }\n .row-gap-xl-12 {\n row-gap: 8rem !important;\n }\n .column-gap-xl-7 {\n column-gap: 3rem !important;\n }\n .column-gap-xl-8 {\n column-gap: 4rem !important;\n }\n .column-gap-xl-9 {\n column-gap: 5rem !important;\n }\n .column-gap-xl-10 {\n column-gap: 6rem !important;\n }\n .column-gap-xl-11 {\n column-gap: 7rem !important;\n }\n .column-gap-xl-12 {\n column-gap: 8rem !important;\n }\n .gx-xl-7 {\n --tblr-gutter-x: 3rem;\n }\n .gx-xl-8 {\n --tblr-gutter-x: 4rem;\n }\n .gx-xl-9 {\n --tblr-gutter-x: 5rem;\n }\n .gx-xl-10 {\n --tblr-gutter-x: 6rem;\n }\n .gx-xl-11 {\n --tblr-gutter-x: 7rem;\n }\n .gx-xl-12 {\n --tblr-gutter-x: 8rem;\n }\n .gy-xl-7 {\n --tblr-gutter-y: 3rem;\n }\n .gy-xl-8 {\n --tblr-gutter-y: 4rem;\n }\n .gy-xl-9 {\n --tblr-gutter-y: 5rem;\n }\n .gy-xl-10 {\n --tblr-gutter-y: 6rem;\n }\n .gy-xl-11 {\n --tblr-gutter-y: 7rem;\n }\n .gy-xl-12 {\n --tblr-gutter-y: 8rem;\n }\n .g-xl-7 {\n --tblr-gutter-x: 3rem;\n }\n .g-xl-8 {\n --tblr-gutter-x: 4rem;\n }\n .g-xl-9 {\n --tblr-gutter-x: 5rem;\n }\n .g-xl-10 {\n --tblr-gutter-x: 6rem;\n }\n .g-xl-11 {\n --tblr-gutter-x: 7rem;\n }\n .g-xl-12 {\n --tblr-gutter-x: 8rem;\n }\n}\n@media (min-width: 1400px) {\n .m-xxl-7 {\n margin: 3rem !important;\n }\n .m-xxl-8 {\n margin: 4rem !important;\n }\n .m-xxl-9 {\n margin: 5rem !important;\n }\n .m-xxl-10 {\n margin: 6rem !important;\n }\n .m-xxl-11 {\n margin: 7rem !important;\n }\n .m-xxl-12 {\n margin: 8rem !important;\n }\n .mx-xxl-7 {\n margin-inline-end: 3rem !important;\n margin-inline-start: 3rem !important;\n }\n .mx-xxl-8 {\n margin-inline-end: 4rem !important;\n margin-inline-start: 4rem !important;\n }\n .mx-xxl-9 {\n margin-inline-end: 5rem !important;\n margin-inline-start: 5rem !important;\n }\n .mx-xxl-10 {\n margin-inline-end: 6rem !important;\n margin-inline-start: 6rem !important;\n }\n .mx-xxl-11 {\n margin-inline-end: 7rem !important;\n margin-inline-start: 7rem !important;\n }\n .mx-xxl-12 {\n margin-inline-end: 8rem !important;\n margin-inline-start: 8rem !important;\n }\n .my-xxl-7 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-8 {\n margin-top: 4rem !important;\n margin-bottom: 4rem !important;\n }\n .my-xxl-9 {\n margin-top: 5rem !important;\n margin-bottom: 5rem !important;\n }\n .my-xxl-10 {\n margin-top: 6rem !important;\n margin-bottom: 6rem !important;\n }\n .my-xxl-11 {\n margin-top: 7rem !important;\n margin-bottom: 7rem !important;\n }\n .my-xxl-12 {\n margin-top: 8rem !important;\n margin-bottom: 8rem !important;\n }\n .mt-xxl-7 {\n margin-top: 3rem !important;\n }\n .mt-xxl-8 {\n margin-top: 4rem !important;\n }\n .mt-xxl-9 {\n margin-top: 5rem !important;\n }\n .mt-xxl-10 {\n margin-top: 6rem !important;\n }\n .mt-xxl-11 {\n margin-top: 7rem !important;\n }\n .mt-xxl-12 {\n margin-top: 8rem !important;\n }\n .me-xxl-7 {\n margin-inline-end: 3rem !important;\n }\n .me-xxl-8 {\n margin-inline-end: 4rem !important;\n }\n .me-xxl-9 {\n margin-inline-end: 5rem !important;\n }\n .me-xxl-10 {\n margin-inline-end: 6rem !important;\n }\n .me-xxl-11 {\n margin-inline-end: 7rem !important;\n }\n .me-xxl-12 {\n margin-inline-end: 8rem !important;\n }\n .mb-xxl-7 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-8 {\n margin-bottom: 4rem !important;\n }\n .mb-xxl-9 {\n margin-bottom: 5rem !important;\n }\n .mb-xxl-10 {\n margin-bottom: 6rem !important;\n }\n .mb-xxl-11 {\n margin-bottom: 7rem !important;\n }\n .mb-xxl-12 {\n margin-bottom: 8rem !important;\n }\n .ms-xxl-7 {\n margin-inline-start: 3rem !important;\n }\n .ms-xxl-8 {\n margin-inline-start: 4rem !important;\n }\n .ms-xxl-9 {\n margin-inline-start: 5rem !important;\n }\n .ms-xxl-10 {\n margin-inline-start: 6rem !important;\n }\n .ms-xxl-11 {\n margin-inline-start: 7rem !important;\n }\n .ms-xxl-12 {\n margin-inline-start: 8rem !important;\n }\n .m-xxl-n1 {\n margin: -0.25rem !important;\n }\n .m-xxl-n2 {\n margin: -0.5rem !important;\n }\n .m-xxl-n3 {\n margin: -1rem !important;\n }\n .m-xxl-n4 {\n margin: -1.5rem !important;\n }\n .m-xxl-n5 {\n margin: -2rem !important;\n }\n .m-xxl-n6 {\n margin: -2.5rem !important;\n }\n .m-xxl-n7 {\n margin: -3rem !important;\n }\n .m-xxl-n8 {\n margin: -4rem !important;\n }\n .m-xxl-n9 {\n margin: -5rem !important;\n }\n .m-xxl-n10 {\n margin: -6rem !important;\n }\n .m-xxl-n11 {\n margin: -7rem !important;\n }\n .m-xxl-n12 {\n margin: -8rem !important;\n }\n .mx-xxl-n1 {\n margin-inline-end: -0.25rem !important;\n margin-inline-start: -0.25rem !important;\n }\n .mx-xxl-n2 {\n margin-inline-end: -0.5rem !important;\n margin-inline-start: -0.5rem !important;\n }\n .mx-xxl-n3 {\n margin-inline-end: -1rem !important;\n margin-inline-start: -1rem !important;\n }\n .mx-xxl-n4 {\n margin-inline-end: -1.5rem !important;\n margin-inline-start: -1.5rem !important;\n }\n .mx-xxl-n5 {\n margin-inline-end: -2rem !important;\n margin-inline-start: -2rem !important;\n }\n .mx-xxl-n6 {\n margin-inline-end: -2.5rem !important;\n margin-inline-start: -2.5rem !important;\n }\n .mx-xxl-n7 {\n margin-inline-end: -3rem !important;\n margin-inline-start: -3rem !important;\n }\n .mx-xxl-n8 {\n margin-inline-end: -4rem !important;\n margin-inline-start: -4rem !important;\n }\n .mx-xxl-n9 {\n margin-inline-end: -5rem !important;\n margin-inline-start: -5rem !important;\n }\n .mx-xxl-n10 {\n margin-inline-end: -6rem !important;\n margin-inline-start: -6rem !important;\n }\n .mx-xxl-n11 {\n margin-inline-end: -7rem !important;\n margin-inline-start: -7rem !important;\n }\n .mx-xxl-n12 {\n margin-inline-end: -8rem !important;\n margin-inline-start: -8rem !important;\n }\n .my-xxl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xxl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xxl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xxl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xxl-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-xxl-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .my-xxl-n7 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .my-xxl-n8 {\n margin-top: -4rem !important;\n margin-bottom: -4rem !important;\n }\n .my-xxl-n9 {\n margin-top: -5rem !important;\n margin-bottom: -5rem !important;\n }\n .my-xxl-n10 {\n margin-top: -6rem !important;\n margin-bottom: -6rem !important;\n }\n .my-xxl-n11 {\n margin-top: -7rem !important;\n margin-bottom: -7rem !important;\n }\n .my-xxl-n12 {\n margin-top: -8rem !important;\n margin-bottom: -8rem !important;\n }\n .mt-xxl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xxl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xxl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xxl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xxl-n5 {\n margin-top: -2rem !important;\n }\n .mt-xxl-n6 {\n margin-top: -2.5rem !important;\n }\n .mt-xxl-n7 {\n margin-top: -3rem !important;\n }\n .mt-xxl-n8 {\n margin-top: -4rem !important;\n }\n .mt-xxl-n9 {\n margin-top: -5rem !important;\n }\n .mt-xxl-n10 {\n margin-top: -6rem !important;\n }\n .mt-xxl-n11 {\n margin-top: -7rem !important;\n }\n .mt-xxl-n12 {\n margin-top: -8rem !important;\n }\n .me-xxl-n1 {\n margin-inline-end: -0.25rem !important;\n }\n .me-xxl-n2 {\n margin-inline-end: -0.5rem !important;\n }\n .me-xxl-n3 {\n margin-inline-end: -1rem !important;\n }\n .me-xxl-n4 {\n margin-inline-end: -1.5rem !important;\n }\n .me-xxl-n5 {\n margin-inline-end: -2rem !important;\n }\n .me-xxl-n6 {\n margin-inline-end: -2.5rem !important;\n }\n .me-xxl-n7 {\n margin-inline-end: -3rem !important;\n }\n .me-xxl-n8 {\n margin-inline-end: -4rem !important;\n }\n .me-xxl-n9 {\n margin-inline-end: -5rem !important;\n }\n .me-xxl-n10 {\n margin-inline-end: -6rem !important;\n }\n .me-xxl-n11 {\n margin-inline-end: -7rem !important;\n }\n .me-xxl-n12 {\n margin-inline-end: -8rem !important;\n }\n .mb-xxl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xxl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xxl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xxl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xxl-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-xxl-n6 {\n margin-bottom: -2.5rem !important;\n }\n .mb-xxl-n7 {\n margin-bottom: -3rem !important;\n }\n .mb-xxl-n8 {\n margin-bottom: -4rem !important;\n }\n .mb-xxl-n9 {\n margin-bottom: -5rem !important;\n }\n .mb-xxl-n10 {\n margin-bottom: -6rem !important;\n }\n .mb-xxl-n11 {\n margin-bottom: -7rem !important;\n }\n .mb-xxl-n12 {\n margin-bottom: -8rem !important;\n }\n .ms-xxl-n1 {\n margin-inline-start: -0.25rem !important;\n }\n .ms-xxl-n2 {\n margin-inline-start: -0.5rem !important;\n }\n .ms-xxl-n3 {\n margin-inline-start: -1rem !important;\n }\n .ms-xxl-n4 {\n margin-inline-start: -1.5rem !important;\n }\n .ms-xxl-n5 {\n margin-inline-start: -2rem !important;\n }\n .ms-xxl-n6 {\n margin-inline-start: -2.5rem !important;\n }\n .ms-xxl-n7 {\n margin-inline-start: -3rem !important;\n }\n .ms-xxl-n8 {\n margin-inline-start: -4rem !important;\n }\n .ms-xxl-n9 {\n margin-inline-start: -5rem !important;\n }\n .ms-xxl-n10 {\n margin-inline-start: -6rem !important;\n }\n .ms-xxl-n11 {\n margin-inline-start: -7rem !important;\n }\n .ms-xxl-n12 {\n margin-inline-start: -8rem !important;\n }\n .p-xxl-7 {\n padding: 3rem !important;\n }\n .p-xxl-8 {\n padding: 4rem !important;\n }\n .p-xxl-9 {\n padding: 5rem !important;\n }\n .p-xxl-10 {\n padding: 6rem !important;\n }\n .p-xxl-11 {\n padding: 7rem !important;\n }\n .p-xxl-12 {\n padding: 8rem !important;\n }\n .px-xxl-7 {\n padding-inline-end: 3rem !important;\n padding-inline-start: 3rem !important;\n }\n .px-xxl-8 {\n padding-inline-end: 4rem !important;\n padding-inline-start: 4rem !important;\n }\n .px-xxl-9 {\n padding-inline-end: 5rem !important;\n padding-inline-start: 5rem !important;\n }\n .px-xxl-10 {\n padding-inline-end: 6rem !important;\n padding-inline-start: 6rem !important;\n }\n .px-xxl-11 {\n padding-inline-end: 7rem !important;\n padding-inline-start: 7rem !important;\n }\n .px-xxl-12 {\n padding-inline-end: 8rem !important;\n padding-inline-start: 8rem !important;\n }\n .py-xxl-7 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .py-xxl-8 {\n padding-top: 4rem !important;\n padding-bottom: 4rem !important;\n }\n .py-xxl-9 {\n padding-top: 5rem !important;\n padding-bottom: 5rem !important;\n }\n .py-xxl-10 {\n padding-top: 6rem !important;\n padding-bottom: 6rem !important;\n }\n .py-xxl-11 {\n padding-top: 7rem !important;\n padding-bottom: 7rem !important;\n }\n .py-xxl-12 {\n padding-top: 8rem !important;\n padding-bottom: 8rem !important;\n }\n .pt-xxl-7 {\n padding-top: 3rem !important;\n }\n .pt-xxl-8 {\n padding-top: 4rem !important;\n }\n .pt-xxl-9 {\n padding-top: 5rem !important;\n }\n .pt-xxl-10 {\n padding-top: 6rem !important;\n }\n .pt-xxl-11 {\n padding-top: 7rem !important;\n }\n .pt-xxl-12 {\n padding-top: 8rem !important;\n }\n .pe-xxl-7 {\n padding-inline-end: 3rem !important;\n }\n .pe-xxl-8 {\n padding-inline-end: 4rem !important;\n }\n .pe-xxl-9 {\n padding-inline-end: 5rem !important;\n }\n .pe-xxl-10 {\n padding-inline-end: 6rem !important;\n }\n .pe-xxl-11 {\n padding-inline-end: 7rem !important;\n }\n .pe-xxl-12 {\n padding-inline-end: 8rem !important;\n }\n .pb-xxl-7 {\n padding-bottom: 3rem !important;\n }\n .pb-xxl-8 {\n padding-bottom: 4rem !important;\n }\n .pb-xxl-9 {\n padding-bottom: 5rem !important;\n }\n .pb-xxl-10 {\n padding-bottom: 6rem !important;\n }\n .pb-xxl-11 {\n padding-bottom: 7rem !important;\n }\n .pb-xxl-12 {\n padding-bottom: 8rem !important;\n }\n .ps-xxl-7 {\n padding-inline-start: 3rem !important;\n }\n .ps-xxl-8 {\n padding-inline-start: 4rem !important;\n }\n .ps-xxl-9 {\n padding-inline-start: 5rem !important;\n }\n .ps-xxl-10 {\n padding-inline-start: 6rem !important;\n }\n .ps-xxl-11 {\n padding-inline-start: 7rem !important;\n }\n .ps-xxl-12 {\n padding-inline-start: 8rem !important;\n }\n .gap-xxl-7 {\n gap: 3rem !important;\n }\n .gap-xxl-8 {\n gap: 4rem !important;\n }\n .gap-xxl-9 {\n gap: 5rem !important;\n }\n .gap-xxl-10 {\n gap: 6rem !important;\n }\n .gap-xxl-11 {\n gap: 7rem !important;\n }\n .gap-xxl-12 {\n gap: 8rem !important;\n }\n .row-gap-xxl-7 {\n row-gap: 3rem !important;\n }\n .row-gap-xxl-8 {\n row-gap: 4rem !important;\n }\n .row-gap-xxl-9 {\n row-gap: 5rem !important;\n }\n .row-gap-xxl-10 {\n row-gap: 6rem !important;\n }\n .row-gap-xxl-11 {\n row-gap: 7rem !important;\n }\n .row-gap-xxl-12 {\n row-gap: 8rem !important;\n }\n .column-gap-xxl-7 {\n column-gap: 3rem !important;\n }\n .column-gap-xxl-8 {\n column-gap: 4rem !important;\n }\n .column-gap-xxl-9 {\n column-gap: 5rem !important;\n }\n .column-gap-xxl-10 {\n column-gap: 6rem !important;\n }\n .column-gap-xxl-11 {\n column-gap: 7rem !important;\n }\n .column-gap-xxl-12 {\n column-gap: 8rem !important;\n }\n .gx-xxl-7 {\n --tblr-gutter-x: 3rem;\n }\n .gx-xxl-8 {\n --tblr-gutter-x: 4rem;\n }\n .gx-xxl-9 {\n --tblr-gutter-x: 5rem;\n }\n .gx-xxl-10 {\n --tblr-gutter-x: 6rem;\n }\n .gx-xxl-11 {\n --tblr-gutter-x: 7rem;\n }\n .gx-xxl-12 {\n --tblr-gutter-x: 8rem;\n }\n .gy-xxl-7 {\n --tblr-gutter-y: 3rem;\n }\n .gy-xxl-8 {\n --tblr-gutter-y: 4rem;\n }\n .gy-xxl-9 {\n --tblr-gutter-y: 5rem;\n }\n .gy-xxl-10 {\n --tblr-gutter-y: 6rem;\n }\n .gy-xxl-11 {\n --tblr-gutter-y: 7rem;\n }\n .gy-xxl-12 {\n --tblr-gutter-y: 8rem;\n }\n .g-xxl-7 {\n --tblr-gutter-x: 3rem;\n }\n .g-xxl-8 {\n --tblr-gutter-x: 4rem;\n }\n .g-xxl-9 {\n --tblr-gutter-x: 5rem;\n }\n .g-xxl-10 {\n --tblr-gutter-x: 6rem;\n }\n .g-xxl-11 {\n --tblr-gutter-x: 7rem;\n }\n .g-xxl-12 {\n --tblr-gutter-x: 8rem;\n }\n}\n"]} \ No newline at end of file diff --git a/storage/public/dist/css/tabler-payments.css b/storage/public/dist/css/tabler-payments.css new file mode 100644 index 0000000..e9a53a2 --- /dev/null +++ b/storage/public/dist/css/tabler-payments.css @@ -0,0 +1,915 @@ +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +.payment { + height: 2.5rem; + aspect-ratio: 1.66666; + display: inline-block; + background: no-repeat center/100% 100%; + vertical-align: bottom; + font-style: normal; + box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .payment { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.payment-provider-2c2p { + background-image: url("../img/payments/2c2p.svg"); +} + +.payment-provider-2c2p-dark { + background-image: url("../img/payments/2c2p-dark.svg"); +} + +.payment-provider-2checkout { + background-image: url("../img/payments/2checkout.svg"); +} + +.payment-provider-2checkout-dark { + background-image: url("../img/payments/2checkout-dark.svg"); +} + +.payment-provider-adyen { + background-image: url("../img/payments/adyen.svg"); +} + +.payment-provider-adyen-dark { + background-image: url("../img/payments/adyen-dark.svg"); +} + +.payment-provider-affirm { + background-image: url("../img/payments/affirm.svg"); +} + +.payment-provider-affirm-dark { + background-image: url("../img/payments/affirm-dark.svg"); +} + +.payment-provider-alipay-plus { + background-image: url("../img/payments/alipay-plus.svg"); +} + +.payment-provider-alipay-plus-dark { + background-image: url("../img/payments/alipay-plus-dark.svg"); +} + +.payment-provider-alipay { + background-image: url("../img/payments/alipay.svg"); +} + +.payment-provider-alipay-dark { + background-image: url("../img/payments/alipay-dark.svg"); +} + +.payment-provider-allegro-pay { + background-image: url("../img/payments/allegro-pay.svg"); +} + +.payment-provider-allegro-pay-dark { + background-image: url("../img/payments/allegro-pay-dark.svg"); +} + +.payment-provider-amazon-pay { + background-image: url("../img/payments/amazon-pay.svg"); +} + +.payment-provider-amazon-pay-dark { + background-image: url("../img/payments/amazon-pay-dark.svg"); +} + +.payment-provider-amazon { + background-image: url("../img/payments/amazon.svg"); +} + +.payment-provider-amazon-dark { + background-image: url("../img/payments/amazon-dark.svg"); +} + +.payment-provider-americanexpress { + background-image: url("../img/payments/americanexpress.svg"); +} + +.payment-provider-americanexpress-dark { + background-image: url("../img/payments/americanexpress-dark.svg"); +} + +.payment-provider-applepay { + background-image: url("../img/payments/applepay.svg"); +} + +.payment-provider-applepay-dark { + background-image: url("../img/payments/applepay-dark.svg"); +} + +.payment-provider-authorize { + background-image: url("../img/payments/authorize.svg"); +} + +.payment-provider-authorize-dark { + background-image: url("../img/payments/authorize-dark.svg"); +} + +.payment-provider-autopay { + background-image: url("../img/payments/autopay.svg"); +} + +.payment-provider-autopay-dark { + background-image: url("../img/payments/autopay-dark.svg"); +} + +.payment-provider-bancontact { + background-image: url("../img/payments/bancontact.svg"); +} + +.payment-provider-bancontact-dark { + background-image: url("../img/payments/bancontact-dark.svg"); +} + +.payment-provider-binance-usd { + background-image: url("../img/payments/binance-usd.svg"); +} + +.payment-provider-binance-usd-dark { + background-image: url("../img/payments/binance-usd-dark.svg"); +} + +.payment-provider-bitcoin { + background-image: url("../img/payments/bitcoin.svg"); +} + +.payment-provider-bitcoin-dark { + background-image: url("../img/payments/bitcoin-dark.svg"); +} + +.payment-provider-bitpay { + background-image: url("../img/payments/bitpay.svg"); +} + +.payment-provider-bitpay-dark { + background-image: url("../img/payments/bitpay-dark.svg"); +} + +.payment-provider-bkash { + background-image: url("../img/payments/bkash.svg"); +} + +.payment-provider-bkash-dark { + background-image: url("../img/payments/bkash-dark.svg"); +} + +.payment-provider-blik { + background-image: url("../img/payments/blik.svg"); +} + +.payment-provider-blik-dark { + background-image: url("../img/payments/blik-dark.svg"); +} + +.payment-provider-braintree { + background-image: url("../img/payments/braintree.svg"); +} + +.payment-provider-braintree-dark { + background-image: url("../img/payments/braintree-dark.svg"); +} + +.payment-provider-cash-app { + background-image: url("../img/payments/cash-app.svg"); +} + +.payment-provider-cash-app-dark { + background-image: url("../img/payments/cash-app-dark.svg"); +} + +.payment-provider-chime { + background-image: url("../img/payments/chime.svg"); +} + +.payment-provider-chime-dark { + background-image: url("../img/payments/chime-dark.svg"); +} + +.payment-provider-cirrus { + background-image: url("../img/payments/cirrus.svg"); +} + +.payment-provider-cirrus-dark { + background-image: url("../img/payments/cirrus-dark.svg"); +} + +.payment-provider-clickandbuy { + background-image: url("../img/payments/clickandbuy.svg"); +} + +.payment-provider-clickandbuy-dark { + background-image: url("../img/payments/clickandbuy-dark.svg"); +} + +.payment-provider-coinkite { + background-image: url("../img/payments/coinkite.svg"); +} + +.payment-provider-coinkite-dark { + background-image: url("../img/payments/coinkite-dark.svg"); +} + +.payment-provider-dinersclub { + background-image: url("../img/payments/dinersclub.svg"); +} + +.payment-provider-dinersclub-dark { + background-image: url("../img/payments/dinersclub-dark.svg"); +} + +.payment-provider-directdebit { + background-image: url("../img/payments/directdebit.svg"); +} + +.payment-provider-directdebit-dark { + background-image: url("../img/payments/directdebit-dark.svg"); +} + +.payment-provider-discover { + background-image: url("../img/payments/discover.svg"); +} + +.payment-provider-discover-dark { + background-image: url("../img/payments/discover-dark.svg"); +} + +.payment-provider-dotpay { + background-image: url("../img/payments/dotpay.svg"); +} + +.payment-provider-dotpay-dark { + background-image: url("../img/payments/dotpay-dark.svg"); +} + +.payment-provider-dwolla { + background-image: url("../img/payments/dwolla.svg"); +} + +.payment-provider-dwolla-dark { + background-image: url("../img/payments/dwolla-dark.svg"); +} + +.payment-provider-easypaisa { + background-image: url("../img/payments/easypaisa.svg"); +} + +.payment-provider-easypaisa-dark { + background-image: url("../img/payments/easypaisa-dark.svg"); +} + +.payment-provider-ebay { + background-image: url("../img/payments/ebay.svg"); +} + +.payment-provider-ebay-dark { + background-image: url("../img/payments/ebay-dark.svg"); +} + +.payment-provider-elo { + background-image: url("../img/payments/elo.svg"); +} + +.payment-provider-elo-dark { + background-image: url("../img/payments/elo-dark.svg"); +} + +.payment-provider-epayco { + background-image: url("../img/payments/epayco.svg"); +} + +.payment-provider-epayco-dark { + background-image: url("../img/payments/epayco-dark.svg"); +} + +.payment-provider-esewa { + background-image: url("../img/payments/esewa.svg"); +} + +.payment-provider-esewa-dark { + background-image: url("../img/payments/esewa-dark.svg"); +} + +.payment-provider-ethereum { + background-image: url("../img/payments/ethereum.svg"); +} + +.payment-provider-ethereum-dark { + background-image: url("../img/payments/ethereum-dark.svg"); +} + +.payment-provider-eway { + background-image: url("../img/payments/eway.svg"); +} + +.payment-provider-eway-dark { + background-image: url("../img/payments/eway-dark.svg"); +} + +.payment-provider-fonepay { + background-image: url("../img/payments/fonepay.svg"); +} + +.payment-provider-fonepay-dark { + background-image: url("../img/payments/fonepay-dark.svg"); +} + +.payment-provider-giropay { + background-image: url("../img/payments/giropay.svg"); +} + +.payment-provider-giropay-dark { + background-image: url("../img/payments/giropay-dark.svg"); +} + +.payment-provider-google-pay { + background-image: url("../img/payments/google-pay.svg"); +} + +.payment-provider-google-pay-dark { + background-image: url("../img/payments/google-pay-dark.svg"); +} + +.payment-provider-googlewallet { + background-image: url("../img/payments/googlewallet.svg"); +} + +.payment-provider-googlewallet-dark { + background-image: url("../img/payments/googlewallet-dark.svg"); +} + +.payment-provider-hubspot { + background-image: url("../img/payments/hubspot.svg"); +} + +.payment-provider-hubspot-dark { + background-image: url("../img/payments/hubspot-dark.svg"); +} + +.payment-provider-ingenico { + background-image: url("../img/payments/ingenico.svg"); +} + +.payment-provider-ingenico-dark { + background-image: url("../img/payments/ingenico-dark.svg"); +} + +.payment-provider-ideal { + background-image: url("../img/payments/ideal.svg"); +} + +.payment-provider-ideal-dark { + background-image: url("../img/payments/ideal-dark.svg"); +} + +.payment-provider-imepay { + background-image: url("../img/payments/imepay.svg"); +} + +.payment-provider-imepay-dark { + background-image: url("../img/payments/imepay-dark.svg"); +} + +.payment-provider-jcb { + background-image: url("../img/payments/jcb.svg"); +} + +.payment-provider-jcb-dark { + background-image: url("../img/payments/jcb-dark.svg"); +} + +.payment-provider-khalti { + background-image: url("../img/payments/khalti.svg"); +} + +.payment-provider-khalti-dark { + background-image: url("../img/payments/khalti-dark.svg"); +} + +.payment-provider-klarna { + background-image: url("../img/payments/klarna.svg"); +} + +.payment-provider-klarna-dark { + background-image: url("../img/payments/klarna-dark.svg"); +} + +.payment-provider-laser { + background-image: url("../img/payments/laser.svg"); +} + +.payment-provider-laser-dark { + background-image: url("../img/payments/laser-dark.svg"); +} + +.payment-provider-litecoin { + background-image: url("../img/payments/litecoin.svg"); +} + +.payment-provider-litecoin-dark { + background-image: url("../img/payments/litecoin-dark.svg"); +} + +.payment-provider-maestro { + background-image: url("../img/payments/maestro.svg"); +} + +.payment-provider-maestro-dark { + background-image: url("../img/payments/maestro-dark.svg"); +} + +.payment-provider-mastercard { + background-image: url("../img/payments/mastercard.svg"); +} + +.payment-provider-mastercard-dark { + background-image: url("../img/payments/mastercard-dark.svg"); +} + +.payment-provider-mercado-pago { + background-image: url("../img/payments/mercado-pago.svg"); +} + +.payment-provider-mercado-pago-dark { + background-image: url("../img/payments/mercado-pago-dark.svg"); +} + +.payment-provider-metamask { + background-image: url("../img/payments/metamask.svg"); +} + +.payment-provider-metamask-dark { + background-image: url("../img/payments/metamask-dark.svg"); +} + +.payment-provider-mir { + background-image: url("../img/payments/mir.svg"); +} + +.payment-provider-mir-dark { + background-image: url("../img/payments/mir-dark.svg"); +} + +.payment-provider-monero { + background-image: url("../img/payments/monero.svg"); +} + +.payment-provider-monero-dark { + background-image: url("../img/payments/monero-dark.svg"); +} + +.payment-provider-moneygram { + background-image: url("../img/payments/moneygram.svg"); +} + +.payment-provider-moneygram-dark { + background-image: url("../img/payments/moneygram-dark.svg"); +} + +.payment-provider-neteller { + background-image: url("../img/payments/neteller.svg"); +} + +.payment-provider-neteller-dark { + background-image: url("../img/payments/neteller-dark.svg"); +} + +.payment-provider-ogone { + background-image: url("../img/payments/ogone.svg"); +} + +.payment-provider-ogone-dark { + background-image: url("../img/payments/ogone-dark.svg"); +} + +.payment-provider-okpay { + background-image: url("../img/payments/okpay.svg"); +} + +.payment-provider-okpay-dark { + background-image: url("../img/payments/okpay-dark.svg"); +} + +.payment-provider-opensea { + background-image: url("../img/payments/opensea.svg"); +} + +.payment-provider-opensea-dark { + background-image: url("../img/payments/opensea-dark.svg"); +} + +.payment-provider-paybox { + background-image: url("../img/payments/paybox.svg"); +} + +.payment-provider-paybox-dark { + background-image: url("../img/payments/paybox-dark.svg"); +} + +.payment-provider-payconiq { + background-image: url("../img/payments/payconiq.svg"); +} + +.payment-provider-payconiq-dark { + background-image: url("../img/payments/payconiq-dark.svg"); +} + +.payment-provider-payka { + background-image: url("../img/payments/payka.svg"); +} + +.payment-provider-payka-dark { + background-image: url("../img/payments/payka-dark.svg"); +} + +.payment-provider-payline { + background-image: url("../img/payments/payline.svg"); +} + +.payment-provider-payline-dark { + background-image: url("../img/payments/payline-dark.svg"); +} + +.payment-provider-paymill { + background-image: url("../img/payments/paymill.svg"); +} + +.payment-provider-paymill-dark { + background-image: url("../img/payments/paymill-dark.svg"); +} + +.payment-provider-payone { + background-image: url("../img/payments/payone.svg"); +} + +.payment-provider-payone-dark { + background-image: url("../img/payments/payone-dark.svg"); +} + +.payment-provider-payoneer { + background-image: url("../img/payments/payoneer.svg"); +} + +.payment-provider-payoneer-dark { + background-image: url("../img/payments/payoneer-dark.svg"); +} + +.payment-provider-paypal { + background-image: url("../img/payments/paypal.svg"); +} + +.payment-provider-paypal-dark { + background-image: url("../img/payments/paypal-dark.svg"); +} + +.payment-provider-paypo { + background-image: url("../img/payments/paypo.svg"); +} + +.payment-provider-paypo-dark { + background-image: url("../img/payments/paypo-dark.svg"); +} + +.payment-provider-paysafe { + background-image: url("../img/payments/paysafe.svg"); +} + +.payment-provider-paysafe-dark { + background-image: url("../img/payments/paysafe-dark.svg"); +} + +.payment-provider-paysafecard { + background-image: url("../img/payments/paysafecard.svg"); +} + +.payment-provider-paysafecard-dark { + background-image: url("../img/payments/paysafecard-dark.svg"); +} + +.payment-provider-payu { + background-image: url("../img/payments/payu.svg"); +} + +.payment-provider-payu-dark { + background-image: url("../img/payments/payu-dark.svg"); +} + +.payment-provider-payza { + background-image: url("../img/payments/payza.svg"); +} + +.payment-provider-payza-dark { + background-image: url("../img/payments/payza-dark.svg"); +} + +.payment-provider-poli { + background-image: url("../img/payments/poli.svg"); +} + +.payment-provider-poli-dark { + background-image: url("../img/payments/poli-dark.svg"); +} + +.payment-provider-przelewy24 { + background-image: url("../img/payments/przelewy24.svg"); +} + +.payment-provider-przelewy24-dark { + background-image: url("../img/payments/przelewy24-dark.svg"); +} + +.payment-provider-revolut-pay { + background-image: url("../img/payments/revolut-pay.svg"); +} + +.payment-provider-revolut-pay-dark { + background-image: url("../img/payments/revolut-pay-dark.svg"); +} + +.payment-provider-ripple { + background-image: url("../img/payments/ripple.svg"); +} + +.payment-provider-ripple-dark { + background-image: url("../img/payments/ripple-dark.svg"); +} + +.payment-provider-sage { + background-image: url("../img/payments/sage.svg"); +} + +.payment-provider-sage-dark { + background-image: url("../img/payments/sage-dark.svg"); +} + +.payment-provider-samsung-pay { + background-image: url("../img/payments/samsung-pay.svg"); +} + +.payment-provider-samsung-pay-dark { + background-image: url("../img/payments/samsung-pay-dark.svg"); +} + +.payment-provider-sepa { + background-image: url("../img/payments/sepa.svg"); +} + +.payment-provider-sepa-dark { + background-image: url("../img/payments/sepa-dark.svg"); +} + +.payment-provider-shop-pay { + background-image: url("../img/payments/shop-pay.svg"); +} + +.payment-provider-shop-pay-dark { + background-image: url("../img/payments/shop-pay-dark.svg"); +} + +.payment-provider-shopify { + background-image: url("../img/payments/shopify.svg"); +} + +.payment-provider-shopify-dark { + background-image: url("../img/payments/shopify-dark.svg"); +} + +.payment-provider-skrill { + background-image: url("../img/payments/skrill.svg"); +} + +.payment-provider-skrill-dark { + background-image: url("../img/payments/skrill-dark.svg"); +} + +.payment-provider-solana { + background-image: url("../img/payments/solana.svg"); +} + +.payment-provider-solana-dark { + background-image: url("../img/payments/solana-dark.svg"); +} + +.payment-provider-solo { + background-image: url("../img/payments/solo.svg"); +} + +.payment-provider-solo-dark { + background-image: url("../img/payments/solo-dark.svg"); +} + +.payment-provider-spingo { + background-image: url("../img/payments/spingo.svg"); +} + +.payment-provider-spingo-dark { + background-image: url("../img/payments/spingo-dark.svg"); +} + +.payment-provider-square { + background-image: url("../img/payments/square.svg"); +} + +.payment-provider-square-dark { + background-image: url("../img/payments/square-dark.svg"); +} + +.payment-provider-stax { + background-image: url("../img/payments/stax.svg"); +} + +.payment-provider-stax-dark { + background-image: url("../img/payments/stax-dark.svg"); +} + +.payment-provider-stripe { + background-image: url("../img/payments/stripe.svg"); +} + +.payment-provider-stripe-dark { + background-image: url("../img/payments/stripe-dark.svg"); +} + +.payment-provider-switch { + background-image: url("../img/payments/switch.svg"); +} + +.payment-provider-switch-dark { + background-image: url("../img/payments/switch-dark.svg"); +} + +.payment-provider-tether { + background-image: url("../img/payments/tether.svg"); +} + +.payment-provider-tether-dark { + background-image: url("../img/payments/tether-dark.svg"); +} + +.payment-provider-tpay { + background-image: url("../img/payments/tpay.svg"); +} + +.payment-provider-tpay-dark { + background-image: url("../img/payments/tpay-dark.svg"); +} + +.payment-provider-troy { + background-image: url("../img/payments/troy.svg"); +} + +.payment-provider-troy-dark { + background-image: url("../img/payments/troy-dark.svg"); +} + +.payment-provider-true-usd { + background-image: url("../img/payments/true-usd.svg"); +} + +.payment-provider-true-usd-dark { + background-image: url("../img/payments/true-usd-dark.svg"); +} + +.payment-provider-ukash { + background-image: url("../img/payments/ukash.svg"); +} + +.payment-provider-ukash-dark { + background-image: url("../img/payments/ukash-dark.svg"); +} + +.payment-provider-unionpay { + background-image: url("../img/payments/unionpay.svg"); +} + +.payment-provider-unionpay-dark { + background-image: url("../img/payments/unionpay-dark.svg"); +} + +.payment-provider-venmo { + background-image: url("../img/payments/venmo.svg"); +} + +.payment-provider-venmo-dark { + background-image: url("../img/payments/venmo-dark.svg"); +} + +.payment-provider-verifone { + background-image: url("../img/payments/verifone.svg"); +} + +.payment-provider-verifone-dark { + background-image: url("../img/payments/verifone-dark.svg"); +} + +.payment-provider-verisign { + background-image: url("../img/payments/verisign.svg"); +} + +.payment-provider-verisign-dark { + background-image: url("../img/payments/verisign-dark.svg"); +} + +.payment-provider-visa { + background-image: url("../img/payments/visa.svg"); +} + +.payment-provider-visa-dark { + background-image: url("../img/payments/visa-dark.svg"); +} + +.payment-provider-we-chat-pay { + background-image: url("../img/payments/we-chat-pay.svg"); +} + +.payment-provider-we-chat-pay-dark { + background-image: url("../img/payments/we-chat-pay-dark.svg"); +} + +.payment-provider-webmoney { + background-image: url("../img/payments/webmoney.svg"); +} + +.payment-provider-webmoney-dark { + background-image: url("../img/payments/webmoney-dark.svg"); +} + +.payment-provider-westernunion { + background-image: url("../img/payments/westernunion.svg"); +} + +.payment-provider-westernunion-dark { + background-image: url("../img/payments/westernunion-dark.svg"); +} + +.payment-provider-wise { + background-image: url("../img/payments/wise.svg"); +} + +.payment-provider-wise-dark { + background-image: url("../img/payments/wise-dark.svg"); +} + +.payment-provider-worldpay { + background-image: url("../img/payments/worldpay.svg"); +} + +.payment-provider-worldpay-dark { + background-image: url("../img/payments/worldpay-dark.svg"); +} + +.payment-provider-zelle { + background-image: url("../img/payments/zelle.svg"); +} + +.payment-provider-zelle-dark { + background-image: url("../img/payments/zelle-dark.svg"); +} + +.payment-xxs { + height: 1rem; +} + +.payment-xs { + height: 1.25rem; +} + +.payment-sm { + height: 2rem; +} + +.payment-md { + height: 2.5rem; +} + +.payment-lg { + height: 3rem; +} + +.payment-xl { + height: 5rem; +} + +.payment-2xl { + height: 7rem; +} + +/*# sourceMappingURL=tabler-payments.css.map */ \ No newline at end of file diff --git a/storage/public/dist/css/tabler-payments.css.map b/storage/public/dist/css/tabler-payments.css.map new file mode 100644 index 0000000..c8712ed --- /dev/null +++ b/storage/public/dist/css/tabler-payments.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tabler-payments.css"],"names":[],"mappings":"AAAA;;;;;EAKE;AACF;;;;;;EAME;AACF;EACE,cAAc;EACd,qBAAqB;EACrB,qBAAqB;EACrB,sCAAsC;EACtC,sBAAsB;EACtB,kBAAkB;EAClB,0CAA0C;EAC1C,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,2DAA2D;AAC7D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE,iEAAiE;AACnE;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,2DAA2D;AAC7D;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,2DAA2D;AAC7D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,2DAA2D;AAC7D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,8DAA8D;AAChE;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,8DAA8D;AAChE;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,gDAAgD;AAClD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,2DAA2D;AAC7D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,4DAA4D;AAC9D;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,oDAAoD;AACtD;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,mDAAmD;AACrD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,6DAA6D;AAC/D;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,yDAAyD;AAC3D;;AAEA;EACE,8DAA8D;AAChE;;AAEA;EACE,iDAAiD;AACnD;;AAEA;EACE,sDAAsD;AACxD;;AAEA;EACE,qDAAqD;AACvD;;AAEA;EACE,0DAA0D;AAC5D;;AAEA;EACE,kDAAkD;AACpD;;AAEA;EACE,uDAAuD;AACzD;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,YAAY;AACd","file":"tabler-payments.css","sourcesContent":["/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n.payment {\n height: 2.5rem;\n aspect-ratio: 1.66666;\n display: inline-block;\n background: no-repeat center/100% 100%;\n vertical-align: bottom;\n font-style: normal;\n box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .payment {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.payment-provider-2c2p {\n background-image: url(\"../img/payments/2c2p.svg\");\n}\n\n.payment-provider-2c2p-dark {\n background-image: url(\"../img/payments/2c2p-dark.svg\");\n}\n\n.payment-provider-2checkout {\n background-image: url(\"../img/payments/2checkout.svg\");\n}\n\n.payment-provider-2checkout-dark {\n background-image: url(\"../img/payments/2checkout-dark.svg\");\n}\n\n.payment-provider-adyen {\n background-image: url(\"../img/payments/adyen.svg\");\n}\n\n.payment-provider-adyen-dark {\n background-image: url(\"../img/payments/adyen-dark.svg\");\n}\n\n.payment-provider-affirm {\n background-image: url(\"../img/payments/affirm.svg\");\n}\n\n.payment-provider-affirm-dark {\n background-image: url(\"../img/payments/affirm-dark.svg\");\n}\n\n.payment-provider-alipay-plus {\n background-image: url(\"../img/payments/alipay-plus.svg\");\n}\n\n.payment-provider-alipay-plus-dark {\n background-image: url(\"../img/payments/alipay-plus-dark.svg\");\n}\n\n.payment-provider-alipay {\n background-image: url(\"../img/payments/alipay.svg\");\n}\n\n.payment-provider-alipay-dark {\n background-image: url(\"../img/payments/alipay-dark.svg\");\n}\n\n.payment-provider-allegro-pay {\n background-image: url(\"../img/payments/allegro-pay.svg\");\n}\n\n.payment-provider-allegro-pay-dark {\n background-image: url(\"../img/payments/allegro-pay-dark.svg\");\n}\n\n.payment-provider-amazon-pay {\n background-image: url(\"../img/payments/amazon-pay.svg\");\n}\n\n.payment-provider-amazon-pay-dark {\n background-image: url(\"../img/payments/amazon-pay-dark.svg\");\n}\n\n.payment-provider-amazon {\n background-image: url(\"../img/payments/amazon.svg\");\n}\n\n.payment-provider-amazon-dark {\n background-image: url(\"../img/payments/amazon-dark.svg\");\n}\n\n.payment-provider-americanexpress {\n background-image: url(\"../img/payments/americanexpress.svg\");\n}\n\n.payment-provider-americanexpress-dark {\n background-image: url(\"../img/payments/americanexpress-dark.svg\");\n}\n\n.payment-provider-applepay {\n background-image: url(\"../img/payments/applepay.svg\");\n}\n\n.payment-provider-applepay-dark {\n background-image: url(\"../img/payments/applepay-dark.svg\");\n}\n\n.payment-provider-authorize {\n background-image: url(\"../img/payments/authorize.svg\");\n}\n\n.payment-provider-authorize-dark {\n background-image: url(\"../img/payments/authorize-dark.svg\");\n}\n\n.payment-provider-autopay {\n background-image: url(\"../img/payments/autopay.svg\");\n}\n\n.payment-provider-autopay-dark {\n background-image: url(\"../img/payments/autopay-dark.svg\");\n}\n\n.payment-provider-bancontact {\n background-image: url(\"../img/payments/bancontact.svg\");\n}\n\n.payment-provider-bancontact-dark {\n background-image: url(\"../img/payments/bancontact-dark.svg\");\n}\n\n.payment-provider-binance-usd {\n background-image: url(\"../img/payments/binance-usd.svg\");\n}\n\n.payment-provider-binance-usd-dark {\n background-image: url(\"../img/payments/binance-usd-dark.svg\");\n}\n\n.payment-provider-bitcoin {\n background-image: url(\"../img/payments/bitcoin.svg\");\n}\n\n.payment-provider-bitcoin-dark {\n background-image: url(\"../img/payments/bitcoin-dark.svg\");\n}\n\n.payment-provider-bitpay {\n background-image: url(\"../img/payments/bitpay.svg\");\n}\n\n.payment-provider-bitpay-dark {\n background-image: url(\"../img/payments/bitpay-dark.svg\");\n}\n\n.payment-provider-bkash {\n background-image: url(\"../img/payments/bkash.svg\");\n}\n\n.payment-provider-bkash-dark {\n background-image: url(\"../img/payments/bkash-dark.svg\");\n}\n\n.payment-provider-blik {\n background-image: url(\"../img/payments/blik.svg\");\n}\n\n.payment-provider-blik-dark {\n background-image: url(\"../img/payments/blik-dark.svg\");\n}\n\n.payment-provider-braintree {\n background-image: url(\"../img/payments/braintree.svg\");\n}\n\n.payment-provider-braintree-dark {\n background-image: url(\"../img/payments/braintree-dark.svg\");\n}\n\n.payment-provider-cash-app {\n background-image: url(\"../img/payments/cash-app.svg\");\n}\n\n.payment-provider-cash-app-dark {\n background-image: url(\"../img/payments/cash-app-dark.svg\");\n}\n\n.payment-provider-chime {\n background-image: url(\"../img/payments/chime.svg\");\n}\n\n.payment-provider-chime-dark {\n background-image: url(\"../img/payments/chime-dark.svg\");\n}\n\n.payment-provider-cirrus {\n background-image: url(\"../img/payments/cirrus.svg\");\n}\n\n.payment-provider-cirrus-dark {\n background-image: url(\"../img/payments/cirrus-dark.svg\");\n}\n\n.payment-provider-clickandbuy {\n background-image: url(\"../img/payments/clickandbuy.svg\");\n}\n\n.payment-provider-clickandbuy-dark {\n background-image: url(\"../img/payments/clickandbuy-dark.svg\");\n}\n\n.payment-provider-coinkite {\n background-image: url(\"../img/payments/coinkite.svg\");\n}\n\n.payment-provider-coinkite-dark {\n background-image: url(\"../img/payments/coinkite-dark.svg\");\n}\n\n.payment-provider-dinersclub {\n background-image: url(\"../img/payments/dinersclub.svg\");\n}\n\n.payment-provider-dinersclub-dark {\n background-image: url(\"../img/payments/dinersclub-dark.svg\");\n}\n\n.payment-provider-directdebit {\n background-image: url(\"../img/payments/directdebit.svg\");\n}\n\n.payment-provider-directdebit-dark {\n background-image: url(\"../img/payments/directdebit-dark.svg\");\n}\n\n.payment-provider-discover {\n background-image: url(\"../img/payments/discover.svg\");\n}\n\n.payment-provider-discover-dark {\n background-image: url(\"../img/payments/discover-dark.svg\");\n}\n\n.payment-provider-dotpay {\n background-image: url(\"../img/payments/dotpay.svg\");\n}\n\n.payment-provider-dotpay-dark {\n background-image: url(\"../img/payments/dotpay-dark.svg\");\n}\n\n.payment-provider-dwolla {\n background-image: url(\"../img/payments/dwolla.svg\");\n}\n\n.payment-provider-dwolla-dark {\n background-image: url(\"../img/payments/dwolla-dark.svg\");\n}\n\n.payment-provider-easypaisa {\n background-image: url(\"../img/payments/easypaisa.svg\");\n}\n\n.payment-provider-easypaisa-dark {\n background-image: url(\"../img/payments/easypaisa-dark.svg\");\n}\n\n.payment-provider-ebay {\n background-image: url(\"../img/payments/ebay.svg\");\n}\n\n.payment-provider-ebay-dark {\n background-image: url(\"../img/payments/ebay-dark.svg\");\n}\n\n.payment-provider-elo {\n background-image: url(\"../img/payments/elo.svg\");\n}\n\n.payment-provider-elo-dark {\n background-image: url(\"../img/payments/elo-dark.svg\");\n}\n\n.payment-provider-epayco {\n background-image: url(\"../img/payments/epayco.svg\");\n}\n\n.payment-provider-epayco-dark {\n background-image: url(\"../img/payments/epayco-dark.svg\");\n}\n\n.payment-provider-esewa {\n background-image: url(\"../img/payments/esewa.svg\");\n}\n\n.payment-provider-esewa-dark {\n background-image: url(\"../img/payments/esewa-dark.svg\");\n}\n\n.payment-provider-ethereum {\n background-image: url(\"../img/payments/ethereum.svg\");\n}\n\n.payment-provider-ethereum-dark {\n background-image: url(\"../img/payments/ethereum-dark.svg\");\n}\n\n.payment-provider-eway {\n background-image: url(\"../img/payments/eway.svg\");\n}\n\n.payment-provider-eway-dark {\n background-image: url(\"../img/payments/eway-dark.svg\");\n}\n\n.payment-provider-fonepay {\n background-image: url(\"../img/payments/fonepay.svg\");\n}\n\n.payment-provider-fonepay-dark {\n background-image: url(\"../img/payments/fonepay-dark.svg\");\n}\n\n.payment-provider-giropay {\n background-image: url(\"../img/payments/giropay.svg\");\n}\n\n.payment-provider-giropay-dark {\n background-image: url(\"../img/payments/giropay-dark.svg\");\n}\n\n.payment-provider-google-pay {\n background-image: url(\"../img/payments/google-pay.svg\");\n}\n\n.payment-provider-google-pay-dark {\n background-image: url(\"../img/payments/google-pay-dark.svg\");\n}\n\n.payment-provider-googlewallet {\n background-image: url(\"../img/payments/googlewallet.svg\");\n}\n\n.payment-provider-googlewallet-dark {\n background-image: url(\"../img/payments/googlewallet-dark.svg\");\n}\n\n.payment-provider-hubspot {\n background-image: url(\"../img/payments/hubspot.svg\");\n}\n\n.payment-provider-hubspot-dark {\n background-image: url(\"../img/payments/hubspot-dark.svg\");\n}\n\n.payment-provider-ingenico {\n background-image: url(\"../img/payments/ingenico.svg\");\n}\n\n.payment-provider-ingenico-dark {\n background-image: url(\"../img/payments/ingenico-dark.svg\");\n}\n\n.payment-provider-ideal {\n background-image: url(\"../img/payments/ideal.svg\");\n}\n\n.payment-provider-ideal-dark {\n background-image: url(\"../img/payments/ideal-dark.svg\");\n}\n\n.payment-provider-imepay {\n background-image: url(\"../img/payments/imepay.svg\");\n}\n\n.payment-provider-imepay-dark {\n background-image: url(\"../img/payments/imepay-dark.svg\");\n}\n\n.payment-provider-jcb {\n background-image: url(\"../img/payments/jcb.svg\");\n}\n\n.payment-provider-jcb-dark {\n background-image: url(\"../img/payments/jcb-dark.svg\");\n}\n\n.payment-provider-khalti {\n background-image: url(\"../img/payments/khalti.svg\");\n}\n\n.payment-provider-khalti-dark {\n background-image: url(\"../img/payments/khalti-dark.svg\");\n}\n\n.payment-provider-klarna {\n background-image: url(\"../img/payments/klarna.svg\");\n}\n\n.payment-provider-klarna-dark {\n background-image: url(\"../img/payments/klarna-dark.svg\");\n}\n\n.payment-provider-laser {\n background-image: url(\"../img/payments/laser.svg\");\n}\n\n.payment-provider-laser-dark {\n background-image: url(\"../img/payments/laser-dark.svg\");\n}\n\n.payment-provider-litecoin {\n background-image: url(\"../img/payments/litecoin.svg\");\n}\n\n.payment-provider-litecoin-dark {\n background-image: url(\"../img/payments/litecoin-dark.svg\");\n}\n\n.payment-provider-maestro {\n background-image: url(\"../img/payments/maestro.svg\");\n}\n\n.payment-provider-maestro-dark {\n background-image: url(\"../img/payments/maestro-dark.svg\");\n}\n\n.payment-provider-mastercard {\n background-image: url(\"../img/payments/mastercard.svg\");\n}\n\n.payment-provider-mastercard-dark {\n background-image: url(\"../img/payments/mastercard-dark.svg\");\n}\n\n.payment-provider-mercado-pago {\n background-image: url(\"../img/payments/mercado-pago.svg\");\n}\n\n.payment-provider-mercado-pago-dark {\n background-image: url(\"../img/payments/mercado-pago-dark.svg\");\n}\n\n.payment-provider-metamask {\n background-image: url(\"../img/payments/metamask.svg\");\n}\n\n.payment-provider-metamask-dark {\n background-image: url(\"../img/payments/metamask-dark.svg\");\n}\n\n.payment-provider-mir {\n background-image: url(\"../img/payments/mir.svg\");\n}\n\n.payment-provider-mir-dark {\n background-image: url(\"../img/payments/mir-dark.svg\");\n}\n\n.payment-provider-monero {\n background-image: url(\"../img/payments/monero.svg\");\n}\n\n.payment-provider-monero-dark {\n background-image: url(\"../img/payments/monero-dark.svg\");\n}\n\n.payment-provider-moneygram {\n background-image: url(\"../img/payments/moneygram.svg\");\n}\n\n.payment-provider-moneygram-dark {\n background-image: url(\"../img/payments/moneygram-dark.svg\");\n}\n\n.payment-provider-neteller {\n background-image: url(\"../img/payments/neteller.svg\");\n}\n\n.payment-provider-neteller-dark {\n background-image: url(\"../img/payments/neteller-dark.svg\");\n}\n\n.payment-provider-ogone {\n background-image: url(\"../img/payments/ogone.svg\");\n}\n\n.payment-provider-ogone-dark {\n background-image: url(\"../img/payments/ogone-dark.svg\");\n}\n\n.payment-provider-okpay {\n background-image: url(\"../img/payments/okpay.svg\");\n}\n\n.payment-provider-okpay-dark {\n background-image: url(\"../img/payments/okpay-dark.svg\");\n}\n\n.payment-provider-opensea {\n background-image: url(\"../img/payments/opensea.svg\");\n}\n\n.payment-provider-opensea-dark {\n background-image: url(\"../img/payments/opensea-dark.svg\");\n}\n\n.payment-provider-paybox {\n background-image: url(\"../img/payments/paybox.svg\");\n}\n\n.payment-provider-paybox-dark {\n background-image: url(\"../img/payments/paybox-dark.svg\");\n}\n\n.payment-provider-payconiq {\n background-image: url(\"../img/payments/payconiq.svg\");\n}\n\n.payment-provider-payconiq-dark {\n background-image: url(\"../img/payments/payconiq-dark.svg\");\n}\n\n.payment-provider-payka {\n background-image: url(\"../img/payments/payka.svg\");\n}\n\n.payment-provider-payka-dark {\n background-image: url(\"../img/payments/payka-dark.svg\");\n}\n\n.payment-provider-payline {\n background-image: url(\"../img/payments/payline.svg\");\n}\n\n.payment-provider-payline-dark {\n background-image: url(\"../img/payments/payline-dark.svg\");\n}\n\n.payment-provider-paymill {\n background-image: url(\"../img/payments/paymill.svg\");\n}\n\n.payment-provider-paymill-dark {\n background-image: url(\"../img/payments/paymill-dark.svg\");\n}\n\n.payment-provider-payone {\n background-image: url(\"../img/payments/payone.svg\");\n}\n\n.payment-provider-payone-dark {\n background-image: url(\"../img/payments/payone-dark.svg\");\n}\n\n.payment-provider-payoneer {\n background-image: url(\"../img/payments/payoneer.svg\");\n}\n\n.payment-provider-payoneer-dark {\n background-image: url(\"../img/payments/payoneer-dark.svg\");\n}\n\n.payment-provider-paypal {\n background-image: url(\"../img/payments/paypal.svg\");\n}\n\n.payment-provider-paypal-dark {\n background-image: url(\"../img/payments/paypal-dark.svg\");\n}\n\n.payment-provider-paypo {\n background-image: url(\"../img/payments/paypo.svg\");\n}\n\n.payment-provider-paypo-dark {\n background-image: url(\"../img/payments/paypo-dark.svg\");\n}\n\n.payment-provider-paysafe {\n background-image: url(\"../img/payments/paysafe.svg\");\n}\n\n.payment-provider-paysafe-dark {\n background-image: url(\"../img/payments/paysafe-dark.svg\");\n}\n\n.payment-provider-paysafecard {\n background-image: url(\"../img/payments/paysafecard.svg\");\n}\n\n.payment-provider-paysafecard-dark {\n background-image: url(\"../img/payments/paysafecard-dark.svg\");\n}\n\n.payment-provider-payu {\n background-image: url(\"../img/payments/payu.svg\");\n}\n\n.payment-provider-payu-dark {\n background-image: url(\"../img/payments/payu-dark.svg\");\n}\n\n.payment-provider-payza {\n background-image: url(\"../img/payments/payza.svg\");\n}\n\n.payment-provider-payza-dark {\n background-image: url(\"../img/payments/payza-dark.svg\");\n}\n\n.payment-provider-poli {\n background-image: url(\"../img/payments/poli.svg\");\n}\n\n.payment-provider-poli-dark {\n background-image: url(\"../img/payments/poli-dark.svg\");\n}\n\n.payment-provider-przelewy24 {\n background-image: url(\"../img/payments/przelewy24.svg\");\n}\n\n.payment-provider-przelewy24-dark {\n background-image: url(\"../img/payments/przelewy24-dark.svg\");\n}\n\n.payment-provider-revolut-pay {\n background-image: url(\"../img/payments/revolut-pay.svg\");\n}\n\n.payment-provider-revolut-pay-dark {\n background-image: url(\"../img/payments/revolut-pay-dark.svg\");\n}\n\n.payment-provider-ripple {\n background-image: url(\"../img/payments/ripple.svg\");\n}\n\n.payment-provider-ripple-dark {\n background-image: url(\"../img/payments/ripple-dark.svg\");\n}\n\n.payment-provider-sage {\n background-image: url(\"../img/payments/sage.svg\");\n}\n\n.payment-provider-sage-dark {\n background-image: url(\"../img/payments/sage-dark.svg\");\n}\n\n.payment-provider-samsung-pay {\n background-image: url(\"../img/payments/samsung-pay.svg\");\n}\n\n.payment-provider-samsung-pay-dark {\n background-image: url(\"../img/payments/samsung-pay-dark.svg\");\n}\n\n.payment-provider-sepa {\n background-image: url(\"../img/payments/sepa.svg\");\n}\n\n.payment-provider-sepa-dark {\n background-image: url(\"../img/payments/sepa-dark.svg\");\n}\n\n.payment-provider-shop-pay {\n background-image: url(\"../img/payments/shop-pay.svg\");\n}\n\n.payment-provider-shop-pay-dark {\n background-image: url(\"../img/payments/shop-pay-dark.svg\");\n}\n\n.payment-provider-shopify {\n background-image: url(\"../img/payments/shopify.svg\");\n}\n\n.payment-provider-shopify-dark {\n background-image: url(\"../img/payments/shopify-dark.svg\");\n}\n\n.payment-provider-skrill {\n background-image: url(\"../img/payments/skrill.svg\");\n}\n\n.payment-provider-skrill-dark {\n background-image: url(\"../img/payments/skrill-dark.svg\");\n}\n\n.payment-provider-solana {\n background-image: url(\"../img/payments/solana.svg\");\n}\n\n.payment-provider-solana-dark {\n background-image: url(\"../img/payments/solana-dark.svg\");\n}\n\n.payment-provider-solo {\n background-image: url(\"../img/payments/solo.svg\");\n}\n\n.payment-provider-solo-dark {\n background-image: url(\"../img/payments/solo-dark.svg\");\n}\n\n.payment-provider-spingo {\n background-image: url(\"../img/payments/spingo.svg\");\n}\n\n.payment-provider-spingo-dark {\n background-image: url(\"../img/payments/spingo-dark.svg\");\n}\n\n.payment-provider-square {\n background-image: url(\"../img/payments/square.svg\");\n}\n\n.payment-provider-square-dark {\n background-image: url(\"../img/payments/square-dark.svg\");\n}\n\n.payment-provider-stax {\n background-image: url(\"../img/payments/stax.svg\");\n}\n\n.payment-provider-stax-dark {\n background-image: url(\"../img/payments/stax-dark.svg\");\n}\n\n.payment-provider-stripe {\n background-image: url(\"../img/payments/stripe.svg\");\n}\n\n.payment-provider-stripe-dark {\n background-image: url(\"../img/payments/stripe-dark.svg\");\n}\n\n.payment-provider-switch {\n background-image: url(\"../img/payments/switch.svg\");\n}\n\n.payment-provider-switch-dark {\n background-image: url(\"../img/payments/switch-dark.svg\");\n}\n\n.payment-provider-tether {\n background-image: url(\"../img/payments/tether.svg\");\n}\n\n.payment-provider-tether-dark {\n background-image: url(\"../img/payments/tether-dark.svg\");\n}\n\n.payment-provider-tpay {\n background-image: url(\"../img/payments/tpay.svg\");\n}\n\n.payment-provider-tpay-dark {\n background-image: url(\"../img/payments/tpay-dark.svg\");\n}\n\n.payment-provider-troy {\n background-image: url(\"../img/payments/troy.svg\");\n}\n\n.payment-provider-troy-dark {\n background-image: url(\"../img/payments/troy-dark.svg\");\n}\n\n.payment-provider-true-usd {\n background-image: url(\"../img/payments/true-usd.svg\");\n}\n\n.payment-provider-true-usd-dark {\n background-image: url(\"../img/payments/true-usd-dark.svg\");\n}\n\n.payment-provider-ukash {\n background-image: url(\"../img/payments/ukash.svg\");\n}\n\n.payment-provider-ukash-dark {\n background-image: url(\"../img/payments/ukash-dark.svg\");\n}\n\n.payment-provider-unionpay {\n background-image: url(\"../img/payments/unionpay.svg\");\n}\n\n.payment-provider-unionpay-dark {\n background-image: url(\"../img/payments/unionpay-dark.svg\");\n}\n\n.payment-provider-venmo {\n background-image: url(\"../img/payments/venmo.svg\");\n}\n\n.payment-provider-venmo-dark {\n background-image: url(\"../img/payments/venmo-dark.svg\");\n}\n\n.payment-provider-verifone {\n background-image: url(\"../img/payments/verifone.svg\");\n}\n\n.payment-provider-verifone-dark {\n background-image: url(\"../img/payments/verifone-dark.svg\");\n}\n\n.payment-provider-verisign {\n background-image: url(\"../img/payments/verisign.svg\");\n}\n\n.payment-provider-verisign-dark {\n background-image: url(\"../img/payments/verisign-dark.svg\");\n}\n\n.payment-provider-visa {\n background-image: url(\"../img/payments/visa.svg\");\n}\n\n.payment-provider-visa-dark {\n background-image: url(\"../img/payments/visa-dark.svg\");\n}\n\n.payment-provider-we-chat-pay {\n background-image: url(\"../img/payments/we-chat-pay.svg\");\n}\n\n.payment-provider-we-chat-pay-dark {\n background-image: url(\"../img/payments/we-chat-pay-dark.svg\");\n}\n\n.payment-provider-webmoney {\n background-image: url(\"../img/payments/webmoney.svg\");\n}\n\n.payment-provider-webmoney-dark {\n background-image: url(\"../img/payments/webmoney-dark.svg\");\n}\n\n.payment-provider-westernunion {\n background-image: url(\"../img/payments/westernunion.svg\");\n}\n\n.payment-provider-westernunion-dark {\n background-image: url(\"../img/payments/westernunion-dark.svg\");\n}\n\n.payment-provider-wise {\n background-image: url(\"../img/payments/wise.svg\");\n}\n\n.payment-provider-wise-dark {\n background-image: url(\"../img/payments/wise-dark.svg\");\n}\n\n.payment-provider-worldpay {\n background-image: url(\"../img/payments/worldpay.svg\");\n}\n\n.payment-provider-worldpay-dark {\n background-image: url(\"../img/payments/worldpay-dark.svg\");\n}\n\n.payment-provider-zelle {\n background-image: url(\"../img/payments/zelle.svg\");\n}\n\n.payment-provider-zelle-dark {\n background-image: url(\"../img/payments/zelle-dark.svg\");\n}\n\n.payment-xxs {\n height: 1rem;\n}\n\n.payment-xs {\n height: 1.25rem;\n}\n\n.payment-sm {\n height: 2rem;\n}\n\n.payment-md {\n height: 2.5rem;\n}\n\n.payment-lg {\n height: 3rem;\n}\n\n.payment-xl {\n height: 5rem;\n}\n\n.payment-2xl {\n height: 7rem;\n}\n"]} \ No newline at end of file diff --git a/storage/public/dist/css/tabler-props.css b/storage/public/dist/css/tabler-props.css new file mode 100644 index 0000000..61c8f8a --- /dev/null +++ b/storage/public/dist/css/tabler-props.css @@ -0,0 +1,449 @@ +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +:root, +:host { + /** Fonts */ + --tblr-font-monospace: Geist Mono, Monaco, Consolas, Liberation Mono, Courier New, monospace; + --tblr-font-sans-serif: Geist, -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; + --tblr-font-serif: Georgia, Times New Roman, times, serif; + --tblr-font-comic: Comic Sans MS, Comic Sans, Chalkboard SE, Comic Neue, sans-serif, cursive; + /** Gray colors */ + --tblr-gray-50: #f9fafb; + --tblr-gray-100: #f3f4f6; + --tblr-gray-200: #e5e7eb; + --tblr-gray-300: #d1d5db; + --tblr-gray-400: #9ca3af; + --tblr-gray-500: #6b7280; + --tblr-gray-600: #4b5563; + --tblr-gray-700: #374151; + --tblr-gray-800: #1f2937; + --tblr-gray-900: #111827; + --tblr-gray-950: #030712; + --tblr-white: #ffffff; + --tblr-black: #000000; + --tblr-dark: #1f2937; + --tblr-light: #f9fafb; + /** Brand colors */ + --tblr-brand: #066fd1; + /** Theme colors */ + --tblr-primary: #066fd1; + --tblr-primary-rgb: 6, 111, 209; + --tblr-primary-fg: var(--tblr-light); + --tblr-primary-darken: rgb(5.4, 99.9, 188.1); + --tblr-primary-darken: color-mix(in oklab, var(--tblr-primary), transparent 20%); + --tblr-primary-lt: rgb(230.1, 240.6, 250.4); + --tblr-primary-lt: color-mix(in oklab, var(--tblr-primary) 10%, transparent); + --tblr-primary-200: color-mix(in oklab, var(--tblr-primary) 20%, transparent); + --tblr-primary-lt-rgb: 230.1, 240.6, 250.4; + --tblr-secondary: #6b7280; + --tblr-secondary-rgb: 107, 114, 128; + --tblr-secondary-fg: var(--tblr-light); + --tblr-secondary-darken: rgb(96.3, 102.6, 115.2); + --tblr-secondary-darken: color-mix(in oklab, var(--tblr-secondary), transparent 20%); + --tblr-secondary-lt: rgb(240.2, 240.9, 242.3); + --tblr-secondary-lt: color-mix(in oklab, var(--tblr-secondary) 10%, transparent); + --tblr-secondary-200: color-mix(in oklab, var(--tblr-secondary) 20%, transparent); + --tblr-secondary-lt-rgb: 240.2, 240.9, 242.3; + --tblr-success: #2fb344; + --tblr-success-rgb: 47, 179, 68; + --tblr-success-fg: var(--tblr-light); + --tblr-success-darken: rgb(42.3, 161.1, 61.2); + --tblr-success-darken: color-mix(in oklab, var(--tblr-success), transparent 20%); + --tblr-success-lt: rgb(234.2, 247.4, 236.3); + --tblr-success-lt: color-mix(in oklab, var(--tblr-success) 10%, transparent); + --tblr-success-200: color-mix(in oklab, var(--tblr-success) 20%, transparent); + --tblr-success-lt-rgb: 234.2, 247.4, 236.3; + --tblr-info: #4299e1; + --tblr-info-rgb: 66, 153, 225; + --tblr-info-fg: var(--tblr-light); + --tblr-info-darken: rgb(59.4, 137.7, 202.5); + --tblr-info-darken: color-mix(in oklab, var(--tblr-info), transparent 20%); + --tblr-info-lt: rgb(236.1, 244.8, 252); + --tblr-info-lt: color-mix(in oklab, var(--tblr-info) 10%, transparent); + --tblr-info-200: color-mix(in oklab, var(--tblr-info) 20%, transparent); + --tblr-info-lt-rgb: 236.1, 244.8, 252; + --tblr-warning: #f59f00; + --tblr-warning-rgb: 245, 159, 0; + --tblr-warning-fg: var(--tblr-light); + --tblr-warning-darken: rgb(220.5, 143.1, 0); + --tblr-warning-darken: color-mix(in oklab, var(--tblr-warning), transparent 20%); + --tblr-warning-lt: rgb(254, 245.4, 229.5); + --tblr-warning-lt: color-mix(in oklab, var(--tblr-warning) 10%, transparent); + --tblr-warning-200: color-mix(in oklab, var(--tblr-warning) 20%, transparent); + --tblr-warning-lt-rgb: 254, 245.4, 229.5; + --tblr-danger: #d63939; + --tblr-danger-rgb: 214, 57, 57; + --tblr-danger-fg: var(--tblr-light); + --tblr-danger-darken: rgb(192.6, 51.3, 51.3); + --tblr-danger-darken: color-mix(in oklab, var(--tblr-danger), transparent 20%); + --tblr-danger-lt: rgb(250.9, 235.2, 235.2); + --tblr-danger-lt: color-mix(in oklab, var(--tblr-danger) 10%, transparent); + --tblr-danger-200: color-mix(in oklab, var(--tblr-danger) 20%, transparent); + --tblr-danger-lt-rgb: 250.9, 235.2, 235.2; + --tblr-light: #f9fafb; + --tblr-light-rgb: 249, 250, 251; + --tblr-light-fg: var(--tblr-dark); + --tblr-light-darken: rgb(224.1, 225, 225.9); + --tblr-light-darken: color-mix(in oklab, var(--tblr-light), transparent 20%); + --tblr-light-lt: rgb(254.4, 254.5, 254.6); + --tblr-light-lt: color-mix(in oklab, var(--tblr-light) 10%, transparent); + --tblr-light-200: color-mix(in oklab, var(--tblr-light) 20%, transparent); + --tblr-light-lt-rgb: 254.4, 254.5, 254.6; + --tblr-dark: #1f2937; + --tblr-dark-rgb: 31, 41, 55; + --tblr-dark-fg: var(--tblr-light); + --tblr-dark-darken: rgb(27.9, 36.9, 49.5); + --tblr-dark-darken: color-mix(in oklab, var(--tblr-dark), transparent 20%); + --tblr-dark-lt: rgb(232.6, 233.6, 235); + --tblr-dark-lt: color-mix(in oklab, var(--tblr-dark) 10%, transparent); + --tblr-dark-200: color-mix(in oklab, var(--tblr-dark) 20%, transparent); + --tblr-dark-lt-rgb: 232.6, 233.6, 235; + --tblr-muted: #6b7280; + --tblr-muted-rgb: 107, 114, 128; + --tblr-muted-fg: var(--tblr-light); + --tblr-muted-darken: rgb(96.3, 102.6, 115.2); + --tblr-muted-darken: color-mix(in oklab, var(--tblr-muted), transparent 20%); + --tblr-muted-lt: rgb(240.2, 240.9, 242.3); + --tblr-muted-lt: color-mix(in oklab, var(--tblr-muted) 10%, transparent); + --tblr-muted-200: color-mix(in oklab, var(--tblr-muted) 20%, transparent); + --tblr-muted-lt-rgb: 240.2, 240.9, 242.3; + --tblr-blue: #066fd1; + --tblr-blue-rgb: 6, 111, 209; + --tblr-blue-fg: var(--tblr-light); + --tblr-blue-darken: rgb(5.4, 99.9, 188.1); + --tblr-blue-darken: color-mix(in oklab, var(--tblr-blue), transparent 20%); + --tblr-blue-lt: rgb(230.1, 240.6, 250.4); + --tblr-blue-lt: color-mix(in oklab, var(--tblr-blue) 10%, transparent); + --tblr-blue-200: color-mix(in oklab, var(--tblr-blue) 20%, transparent); + --tblr-blue-lt-rgb: 230.1, 240.6, 250.4; + --tblr-azure: #4299e1; + --tblr-azure-rgb: 66, 153, 225; + --tblr-azure-fg: var(--tblr-light); + --tblr-azure-darken: rgb(59.4, 137.7, 202.5); + --tblr-azure-darken: color-mix(in oklab, var(--tblr-azure), transparent 20%); + --tblr-azure-lt: rgb(236.1, 244.8, 252); + --tblr-azure-lt: color-mix(in oklab, var(--tblr-azure) 10%, transparent); + --tblr-azure-200: color-mix(in oklab, var(--tblr-azure) 20%, transparent); + --tblr-azure-lt-rgb: 236.1, 244.8, 252; + --tblr-indigo: #4263eb; + --tblr-indigo-rgb: 66, 99, 235; + --tblr-indigo-fg: var(--tblr-light); + --tblr-indigo-darken: rgb(59.4, 89.1, 211.5); + --tblr-indigo-darken: color-mix(in oklab, var(--tblr-indigo), transparent 20%); + --tblr-indigo-lt: rgb(236.1, 239.4, 253); + --tblr-indigo-lt: color-mix(in oklab, var(--tblr-indigo) 10%, transparent); + --tblr-indigo-200: color-mix(in oklab, var(--tblr-indigo) 20%, transparent); + --tblr-indigo-lt-rgb: 236.1, 239.4, 253; + --tblr-purple: #ae3ec9; + --tblr-purple-rgb: 174, 62, 201; + --tblr-purple-fg: var(--tblr-light); + --tblr-purple-darken: rgb(156.6, 55.8, 180.9); + --tblr-purple-darken: color-mix(in oklab, var(--tblr-purple), transparent 20%); + --tblr-purple-lt: rgb(246.9, 235.7, 249.6); + --tblr-purple-lt: color-mix(in oklab, var(--tblr-purple) 10%, transparent); + --tblr-purple-200: color-mix(in oklab, var(--tblr-purple) 20%, transparent); + --tblr-purple-lt-rgb: 246.9, 235.7, 249.6; + --tblr-pink: #d6336c; + --tblr-pink-rgb: 214, 51, 108; + --tblr-pink-fg: var(--tblr-light); + --tblr-pink-darken: rgb(192.6, 45.9, 97.2); + --tblr-pink-darken: color-mix(in oklab, var(--tblr-pink), transparent 20%); + --tblr-pink-lt: rgb(250.9, 234.6, 240.3); + --tblr-pink-lt: color-mix(in oklab, var(--tblr-pink) 10%, transparent); + --tblr-pink-200: color-mix(in oklab, var(--tblr-pink) 20%, transparent); + --tblr-pink-lt-rgb: 250.9, 234.6, 240.3; + --tblr-red: #d63939; + --tblr-red-rgb: 214, 57, 57; + --tblr-red-fg: var(--tblr-light); + --tblr-red-darken: rgb(192.6, 51.3, 51.3); + --tblr-red-darken: color-mix(in oklab, var(--tblr-red), transparent 20%); + --tblr-red-lt: rgb(250.9, 235.2, 235.2); + --tblr-red-lt: color-mix(in oklab, var(--tblr-red) 10%, transparent); + --tblr-red-200: color-mix(in oklab, var(--tblr-red) 20%, transparent); + --tblr-red-lt-rgb: 250.9, 235.2, 235.2; + --tblr-orange: #f76707; + --tblr-orange-rgb: 247, 103, 7; + --tblr-orange-fg: var(--tblr-light); + --tblr-orange-darken: rgb(222.3, 92.7, 6.3); + --tblr-orange-darken: color-mix(in oklab, var(--tblr-orange), transparent 20%); + --tblr-orange-lt: rgb(254.2, 239.8, 230.2); + --tblr-orange-lt: color-mix(in oklab, var(--tblr-orange) 10%, transparent); + --tblr-orange-200: color-mix(in oklab, var(--tblr-orange) 20%, transparent); + --tblr-orange-lt-rgb: 254.2, 239.8, 230.2; + --tblr-yellow: #f59f00; + --tblr-yellow-rgb: 245, 159, 0; + --tblr-yellow-fg: var(--tblr-light); + --tblr-yellow-darken: rgb(220.5, 143.1, 0); + --tblr-yellow-darken: color-mix(in oklab, var(--tblr-yellow), transparent 20%); + --tblr-yellow-lt: rgb(254, 245.4, 229.5); + --tblr-yellow-lt: color-mix(in oklab, var(--tblr-yellow) 10%, transparent); + --tblr-yellow-200: color-mix(in oklab, var(--tblr-yellow) 20%, transparent); + --tblr-yellow-lt-rgb: 254, 245.4, 229.5; + --tblr-lime: #74b816; + --tblr-lime-rgb: 116, 184, 22; + --tblr-lime-fg: var(--tblr-light); + --tblr-lime-darken: rgb(104.4, 165.6, 19.8); + --tblr-lime-darken: color-mix(in oklab, var(--tblr-lime), transparent 20%); + --tblr-lime-lt: rgb(241.1, 247.9, 231.7); + --tblr-lime-lt: color-mix(in oklab, var(--tblr-lime) 10%, transparent); + --tblr-lime-200: color-mix(in oklab, var(--tblr-lime) 20%, transparent); + --tblr-lime-lt-rgb: 241.1, 247.9, 231.7; + --tblr-green: #2fb344; + --tblr-green-rgb: 47, 179, 68; + --tblr-green-fg: var(--tblr-light); + --tblr-green-darken: rgb(42.3, 161.1, 61.2); + --tblr-green-darken: color-mix(in oklab, var(--tblr-green), transparent 20%); + --tblr-green-lt: rgb(234.2, 247.4, 236.3); + --tblr-green-lt: color-mix(in oklab, var(--tblr-green) 10%, transparent); + --tblr-green-200: color-mix(in oklab, var(--tblr-green) 20%, transparent); + --tblr-green-lt-rgb: 234.2, 247.4, 236.3; + --tblr-teal: #0ca678; + --tblr-teal-rgb: 12, 166, 120; + --tblr-teal-fg: var(--tblr-light); + --tblr-teal-darken: rgb(10.8, 149.4, 108); + --tblr-teal-darken: color-mix(in oklab, var(--tblr-teal), transparent 20%); + --tblr-teal-lt: rgb(230.7, 246.1, 241.5); + --tblr-teal-lt: color-mix(in oklab, var(--tblr-teal) 10%, transparent); + --tblr-teal-200: color-mix(in oklab, var(--tblr-teal) 20%, transparent); + --tblr-teal-lt-rgb: 230.7, 246.1, 241.5; + --tblr-cyan: #17a2b8; + --tblr-cyan-rgb: 23, 162, 184; + --tblr-cyan-fg: var(--tblr-light); + --tblr-cyan-darken: rgb(20.7, 145.8, 165.6); + --tblr-cyan-darken: color-mix(in oklab, var(--tblr-cyan), transparent 20%); + --tblr-cyan-lt: rgb(231.8, 245.7, 247.9); + --tblr-cyan-lt: color-mix(in oklab, var(--tblr-cyan) 10%, transparent); + --tblr-cyan-200: color-mix(in oklab, var(--tblr-cyan) 20%, transparent); + --tblr-cyan-lt-rgb: 231.8, 245.7, 247.9; + --tblr-x: #000000; + --tblr-x-rgb: 0, 0, 0; + --tblr-x-fg: var(--tblr-light); + --tblr-x-darken: black; + --tblr-x-darken: color-mix(in oklab, var(--tblr-x), transparent 20%); + --tblr-x-lt: rgb(229.5, 229.5, 229.5); + --tblr-x-lt: color-mix(in oklab, var(--tblr-x) 10%, transparent); + --tblr-x-200: color-mix(in oklab, var(--tblr-x) 20%, transparent); + --tblr-x-lt-rgb: 229.5, 229.5, 229.5; + --tblr-facebook: #1877f2; + --tblr-facebook-rgb: 24, 119, 242; + --tblr-facebook-fg: var(--tblr-light); + --tblr-facebook-darken: rgb(21.6, 107.1, 217.8); + --tblr-facebook-darken: color-mix(in oklab, var(--tblr-facebook), transparent 20%); + --tblr-facebook-lt: rgb(231.9, 241.4, 253.7); + --tblr-facebook-lt: color-mix(in oklab, var(--tblr-facebook) 10%, transparent); + --tblr-facebook-200: color-mix(in oklab, var(--tblr-facebook) 20%, transparent); + --tblr-facebook-lt-rgb: 231.9, 241.4, 253.7; + --tblr-twitter: #1da1f2; + --tblr-twitter-rgb: 29, 161, 242; + --tblr-twitter-fg: var(--tblr-light); + --tblr-twitter-darken: rgb(26.1, 144.9, 217.8); + --tblr-twitter-darken: color-mix(in oklab, var(--tblr-twitter), transparent 20%); + --tblr-twitter-lt: rgb(232.4, 245.6, 253.7); + --tblr-twitter-lt: color-mix(in oklab, var(--tblr-twitter) 10%, transparent); + --tblr-twitter-200: color-mix(in oklab, var(--tblr-twitter) 20%, transparent); + --tblr-twitter-lt-rgb: 232.4, 245.6, 253.7; + --tblr-linkedin: #0a66c2; + --tblr-linkedin-rgb: 10, 102, 194; + --tblr-linkedin-fg: var(--tblr-light); + --tblr-linkedin-darken: rgb(9, 91.8, 174.6); + --tblr-linkedin-darken: color-mix(in oklab, var(--tblr-linkedin), transparent 20%); + --tblr-linkedin-lt: rgb(230.5, 239.7, 248.9); + --tblr-linkedin-lt: color-mix(in oklab, var(--tblr-linkedin) 10%, transparent); + --tblr-linkedin-200: color-mix(in oklab, var(--tblr-linkedin) 20%, transparent); + --tblr-linkedin-lt-rgb: 230.5, 239.7, 248.9; + --tblr-google: #dc4e41; + --tblr-google-rgb: 220, 78, 65; + --tblr-google-fg: var(--tblr-light); + --tblr-google-darken: rgb(198, 70.2, 58.5); + --tblr-google-darken: color-mix(in oklab, var(--tblr-google), transparent 20%); + --tblr-google-lt: rgb(251.5, 237.3, 236); + --tblr-google-lt: color-mix(in oklab, var(--tblr-google) 10%, transparent); + --tblr-google-200: color-mix(in oklab, var(--tblr-google) 20%, transparent); + --tblr-google-lt-rgb: 251.5, 237.3, 236; + --tblr-youtube: #ff0000; + --tblr-youtube-rgb: 255, 0, 0; + --tblr-youtube-fg: var(--tblr-light); + --tblr-youtube-darken: rgb(229.5, 0, 0); + --tblr-youtube-darken: color-mix(in oklab, var(--tblr-youtube), transparent 20%); + --tblr-youtube-lt: rgb(255, 229.5, 229.5); + --tblr-youtube-lt: color-mix(in oklab, var(--tblr-youtube) 10%, transparent); + --tblr-youtube-200: color-mix(in oklab, var(--tblr-youtube) 20%, transparent); + --tblr-youtube-lt-rgb: 255, 229.5, 229.5; + --tblr-vimeo: #1ab7ea; + --tblr-vimeo-rgb: 26, 183, 234; + --tblr-vimeo-fg: var(--tblr-light); + --tblr-vimeo-darken: rgb(23.4, 164.7, 210.6); + --tblr-vimeo-darken: color-mix(in oklab, var(--tblr-vimeo), transparent 20%); + --tblr-vimeo-lt: rgb(232.1, 247.8, 252.9); + --tblr-vimeo-lt: color-mix(in oklab, var(--tblr-vimeo) 10%, transparent); + --tblr-vimeo-200: color-mix(in oklab, var(--tblr-vimeo) 20%, transparent); + --tblr-vimeo-lt-rgb: 232.1, 247.8, 252.9; + --tblr-dribbble: #ea4c89; + --tblr-dribbble-rgb: 234, 76, 137; + --tblr-dribbble-fg: var(--tblr-light); + --tblr-dribbble-darken: rgb(210.6, 68.4, 123.3); + --tblr-dribbble-darken: color-mix(in oklab, var(--tblr-dribbble), transparent 20%); + --tblr-dribbble-lt: rgb(252.9, 237.1, 243.2); + --tblr-dribbble-lt: color-mix(in oklab, var(--tblr-dribbble) 10%, transparent); + --tblr-dribbble-200: color-mix(in oklab, var(--tblr-dribbble) 20%, transparent); + --tblr-dribbble-lt-rgb: 252.9, 237.1, 243.2; + --tblr-github: #181717; + --tblr-github-rgb: 24, 23, 23; + --tblr-github-fg: var(--tblr-light); + --tblr-github-darken: rgb(21.6, 20.7, 20.7); + --tblr-github-darken: color-mix(in oklab, var(--tblr-github), transparent 20%); + --tblr-github-lt: rgb(231.9, 231.8, 231.8); + --tblr-github-lt: color-mix(in oklab, var(--tblr-github) 10%, transparent); + --tblr-github-200: color-mix(in oklab, var(--tblr-github) 20%, transparent); + --tblr-github-lt-rgb: 231.9, 231.8, 231.8; + --tblr-instagram: #e4405f; + --tblr-instagram-rgb: 228, 64, 95; + --tblr-instagram-fg: var(--tblr-light); + --tblr-instagram-darken: rgb(205.2, 57.6, 85.5); + --tblr-instagram-darken: color-mix(in oklab, var(--tblr-instagram), transparent 20%); + --tblr-instagram-lt: rgb(252.3, 235.9, 239); + --tblr-instagram-lt: color-mix(in oklab, var(--tblr-instagram) 10%, transparent); + --tblr-instagram-200: color-mix(in oklab, var(--tblr-instagram) 20%, transparent); + --tblr-instagram-lt-rgb: 252.3, 235.9, 239; + --tblr-pinterest: #bd081c; + --tblr-pinterest-rgb: 189, 8, 28; + --tblr-pinterest-fg: var(--tblr-light); + --tblr-pinterest-darken: rgb(170.1, 7.2, 25.2); + --tblr-pinterest-darken: color-mix(in oklab, var(--tblr-pinterest), transparent 20%); + --tblr-pinterest-lt: rgb(248.4, 230.3, 232.3); + --tblr-pinterest-lt: color-mix(in oklab, var(--tblr-pinterest) 10%, transparent); + --tblr-pinterest-200: color-mix(in oklab, var(--tblr-pinterest) 20%, transparent); + --tblr-pinterest-lt-rgb: 248.4, 230.3, 232.3; + --tblr-vk: #6383a8; + --tblr-vk-rgb: 99, 131, 168; + --tblr-vk-fg: var(--tblr-light); + --tblr-vk-darken: rgb(89.1, 117.9, 151.2); + --tblr-vk-darken: color-mix(in oklab, var(--tblr-vk), transparent 20%); + --tblr-vk-lt: rgb(239.4, 242.6, 246.3); + --tblr-vk-lt: color-mix(in oklab, var(--tblr-vk) 10%, transparent); + --tblr-vk-200: color-mix(in oklab, var(--tblr-vk) 20%, transparent); + --tblr-vk-lt-rgb: 239.4, 242.6, 246.3; + --tblr-rss: #ffa500; + --tblr-rss-rgb: 255, 165, 0; + --tblr-rss-fg: var(--tblr-dark); + --tblr-rss-darken: rgb(229.5, 148.5, 0); + --tblr-rss-darken: color-mix(in oklab, var(--tblr-rss), transparent 20%); + --tblr-rss-lt: rgb(255, 246, 229.5); + --tblr-rss-lt: color-mix(in oklab, var(--tblr-rss) 10%, transparent); + --tblr-rss-200: color-mix(in oklab, var(--tblr-rss) 20%, transparent); + --tblr-rss-lt-rgb: 255, 246, 229.5; + --tblr-flickr: #0063dc; + --tblr-flickr-rgb: 0, 99, 220; + --tblr-flickr-fg: var(--tblr-light); + --tblr-flickr-darken: rgb(0, 89.1, 198); + --tblr-flickr-darken: color-mix(in oklab, var(--tblr-flickr), transparent 20%); + --tblr-flickr-lt: rgb(229.5, 239.4, 251.5); + --tblr-flickr-lt: color-mix(in oklab, var(--tblr-flickr) 10%, transparent); + --tblr-flickr-200: color-mix(in oklab, var(--tblr-flickr) 20%, transparent); + --tblr-flickr-lt-rgb: 229.5, 239.4, 251.5; + --tblr-bitbucket: #0052cc; + --tblr-bitbucket-rgb: 0, 82, 204; + --tblr-bitbucket-fg: var(--tblr-light); + --tblr-bitbucket-darken: rgb(0, 73.8, 183.6); + --tblr-bitbucket-darken: color-mix(in oklab, var(--tblr-bitbucket), transparent 20%); + --tblr-bitbucket-lt: rgb(229.5, 237.7, 249.9); + --tblr-bitbucket-lt: color-mix(in oklab, var(--tblr-bitbucket) 10%, transparent); + --tblr-bitbucket-200: color-mix(in oklab, var(--tblr-bitbucket) 20%, transparent); + --tblr-bitbucket-lt-rgb: 229.5, 237.7, 249.9; + --tblr-tabler: #066fd1; + --tblr-tabler-rgb: 6, 111, 209; + --tblr-tabler-fg: var(--tblr-light); + --tblr-tabler-darken: rgb(5.4, 99.9, 188.1); + --tblr-tabler-darken: color-mix(in oklab, var(--tblr-tabler), transparent 20%); + --tblr-tabler-lt: rgb(230.1, 240.6, 250.4); + --tblr-tabler-lt: color-mix(in oklab, var(--tblr-tabler) 10%, transparent); + --tblr-tabler-200: color-mix(in oklab, var(--tblr-tabler) 20%, transparent); + --tblr-tabler-lt-rgb: 230.1, 240.6, 250.4; + /** Gray colors */ + --tblr-gray-50-fg: var(--tblr-body-color); + --tblr-gray-100-fg: var(--tblr-body-color); + --tblr-gray-200-fg: var(--tblr-body-color); + --tblr-gray-300-fg: var(--tblr-body-color); + --tblr-gray-400-fg: var(--tblr-white); + --tblr-gray-500-fg: var(--tblr-white); + --tblr-gray-600-fg: var(--tblr-white); + --tblr-gray-700-fg: var(--tblr-white); + --tblr-gray-800-fg: var(--tblr-white); + --tblr-gray-900-fg: var(--tblr-white); + --tblr-gray-950-fg: var(--tblr-white); + /** Spacers */ + --tblr-spacer-0: 0; + --tblr-spacer-1: 0.25rem; + --tblr-spacer-2: 0.5rem; + --tblr-spacer-3: 1rem; + --tblr-spacer-4: 1.5rem; + --tblr-spacer-5: 2rem; + --tblr-spacer-6: 2.5rem; + /** Font sizes */ + --tblr-font-weight-light: 300; + --tblr-font-weight-normal: 400; + --tblr-font-weight-medium: 500; + --tblr-font-weight-semibold: 600; + --tblr-font-weight-bold: 700; + --tblr-font-weight-headings: var(--tblr-font-weight-semibold); + --tblr-font-size-h1: 1.5rem; + --tblr-font-size-h2: 1.25rem; + --tblr-font-size-h3: 1rem; + --tblr-font-size-h4: 0.875rem; + --tblr-font-size-h5: 0.75rem; + --tblr-font-size-h6: 0.625rem; + --tblr-line-height-h1: 2rem; + --tblr-line-height-h2: 1.75rem; + --tblr-line-height-h3: 1.5rem; + --tblr-line-height-h4: 1.25rem; + --tblr-line-height-h5: 1rem; + --tblr-line-height-h6: 1rem; + --tblr-line-height-base: 1.4285714286; + --tblr-line-height-sm: 1.1428571429; + --tblr-line-height-lg: 1.7142857143; + --tblr-line-height-xl: 2; + /** Shadows */ + --tblr-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08); + --tblr-shadow-xs: 0 1px 2px 0 rgba(18, 18, 23, 0.05); + --tblr-shadow-sm: 0 1px 3px 0 rgba(18, 18, 23, 0.1), 0 1px 2px 0 rgba(18, 18, 23, 0.06); + --tblr-shadow-md: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08); + --tblr-shadow-lg: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08); + --tblr-shadow-xl: 0px 10px 10px -5px rgba(18, 18, 23, 0.04), 0px 20px 25px -5px rgba(18, 18, 23, 0.1); + --tblr-shadow-2xl: 0px 25px 50px -12px rgba(18, 18, 23, 0.25); + --tblr-shadow-overlay: 0px 2px 4px 0px rgba(18, 18, 23, 0.04), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 0px 0px 1px rgba(18, 18, 23, 0.1); + --tblr-shadow-border: 0px 0px 0px 1px rgba(18, 18, 23, 0.1); + --tblr-shadow-transparent: 0 0 0 0 transparent; + --tblr-shadow-input: 0 1px 2px 0 rgba(18, 18, 23, 0.05); + --tblr-shadow-card: 0 1px 2px 0 rgba(18, 18, 23, 0.05); + --tblr-shadow-card-hover: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08); + --tblr-shadow-dropdown: 0px 2px 4px 0px rgba(18, 18, 23, 0.04), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 0px 0px 1px rgba(18, 18, 23, 0.1); + /** Border radiuses */ + --tblr-border-radius-scale: 1; + --tblr-border-radius-0: calc(0 * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-xs: calc(2px * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-sm: calc(4px * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-md: calc(6px * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-lg: calc(8px * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-pill: calc(100rem * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius: var(--tblr-border-radius-md); + /** Backdrops */ + --tblr-backdrop-opacity: 0.32; + --tblr-backdrop-bg: var(--tblr-bg-surface-dark); + --tblr-backdrop-bg-dark: color-mix(in srgb, var(--tblr-color-dark), transparent var(--tblr-backdrop-opacity)); + --tblr-backdrop-bg-light: color-mix(in srgb, var(--tblr-color-light), transparent var(--tblr-backdrop-opacity)); + --tblr-backdrop-blur: 4px; + --tblr-backdrop-filter: blur(var(--tblr-backdrop-blur)); +} + +/*# sourceMappingURL=tabler-props.css.map */ \ No newline at end of file diff --git a/storage/public/dist/css/tabler-props.css.map b/storage/public/dist/css/tabler-props.css.map new file mode 100644 index 0000000..c72a6fa --- /dev/null +++ b/storage/public/dist/css/tabler-props.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tabler-props.css"],"names":[],"mappings":"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","file":"tabler-props.css","sourcesContent":["/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n:root,\n:host {\n /** Fonts */\n --tblr-font-monospace: Geist Mono, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n --tblr-font-sans-serif: Geist, -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif;\n --tblr-font-serif: Georgia, Times New Roman, times, serif;\n --tblr-font-comic: Comic Sans MS, Comic Sans, Chalkboard SE, Comic Neue, sans-serif, cursive;\n /** Gray colors */\n --tblr-gray-50: #f9fafb;\n --tblr-gray-100: #f3f4f6;\n --tblr-gray-200: #e5e7eb;\n --tblr-gray-300: #d1d5db;\n --tblr-gray-400: #9ca3af;\n --tblr-gray-500: #6b7280;\n --tblr-gray-600: #4b5563;\n --tblr-gray-700: #374151;\n --tblr-gray-800: #1f2937;\n --tblr-gray-900: #111827;\n --tblr-gray-950: #030712;\n --tblr-white: #ffffff;\n --tblr-black: #000000;\n --tblr-dark: #1f2937;\n --tblr-light: #f9fafb;\n /** Brand colors */\n --tblr-brand: #066fd1;\n /** Theme colors */\n --tblr-primary: #066fd1;\n --tblr-primary-rgb: 6, 111, 209;\n --tblr-primary-fg: var(--tblr-light);\n --tblr-primary-darken: rgb(5.4, 99.9, 188.1);\n --tblr-primary-darken: color-mix(in oklab, var(--tblr-primary), transparent 20%);\n --tblr-primary-lt: rgb(230.1, 240.6, 250.4);\n --tblr-primary-lt: color-mix(in oklab, var(--tblr-primary) 10%, transparent);\n --tblr-primary-200: color-mix(in oklab, var(--tblr-primary) 20%, transparent);\n --tblr-primary-lt-rgb: 230.1, 240.6, 250.4;\n --tblr-secondary: #6b7280;\n --tblr-secondary-rgb: 107, 114, 128;\n --tblr-secondary-fg: var(--tblr-light);\n --tblr-secondary-darken: rgb(96.3, 102.6, 115.2);\n --tblr-secondary-darken: color-mix(in oklab, var(--tblr-secondary), transparent 20%);\n --tblr-secondary-lt: rgb(240.2, 240.9, 242.3);\n --tblr-secondary-lt: color-mix(in oklab, var(--tblr-secondary) 10%, transparent);\n --tblr-secondary-200: color-mix(in oklab, var(--tblr-secondary) 20%, transparent);\n --tblr-secondary-lt-rgb: 240.2, 240.9, 242.3;\n --tblr-success: #2fb344;\n --tblr-success-rgb: 47, 179, 68;\n --tblr-success-fg: var(--tblr-light);\n --tblr-success-darken: rgb(42.3, 161.1, 61.2);\n --tblr-success-darken: color-mix(in oklab, var(--tblr-success), transparent 20%);\n --tblr-success-lt: rgb(234.2, 247.4, 236.3);\n --tblr-success-lt: color-mix(in oklab, var(--tblr-success) 10%, transparent);\n --tblr-success-200: color-mix(in oklab, var(--tblr-success) 20%, transparent);\n --tblr-success-lt-rgb: 234.2, 247.4, 236.3;\n --tblr-info: #4299e1;\n --tblr-info-rgb: 66, 153, 225;\n --tblr-info-fg: var(--tblr-light);\n --tblr-info-darken: rgb(59.4, 137.7, 202.5);\n --tblr-info-darken: color-mix(in oklab, var(--tblr-info), transparent 20%);\n --tblr-info-lt: rgb(236.1, 244.8, 252);\n --tblr-info-lt: color-mix(in oklab, var(--tblr-info) 10%, transparent);\n --tblr-info-200: color-mix(in oklab, var(--tblr-info) 20%, transparent);\n --tblr-info-lt-rgb: 236.1, 244.8, 252;\n --tblr-warning: #f59f00;\n --tblr-warning-rgb: 245, 159, 0;\n --tblr-warning-fg: var(--tblr-light);\n --tblr-warning-darken: rgb(220.5, 143.1, 0);\n --tblr-warning-darken: color-mix(in oklab, var(--tblr-warning), transparent 20%);\n --tblr-warning-lt: rgb(254, 245.4, 229.5);\n --tblr-warning-lt: color-mix(in oklab, var(--tblr-warning) 10%, transparent);\n --tblr-warning-200: color-mix(in oklab, var(--tblr-warning) 20%, transparent);\n --tblr-warning-lt-rgb: 254, 245.4, 229.5;\n --tblr-danger: #d63939;\n --tblr-danger-rgb: 214, 57, 57;\n --tblr-danger-fg: var(--tblr-light);\n --tblr-danger-darken: rgb(192.6, 51.3, 51.3);\n --tblr-danger-darken: color-mix(in oklab, var(--tblr-danger), transparent 20%);\n --tblr-danger-lt: rgb(250.9, 235.2, 235.2);\n --tblr-danger-lt: color-mix(in oklab, var(--tblr-danger) 10%, transparent);\n --tblr-danger-200: color-mix(in oklab, var(--tblr-danger) 20%, transparent);\n --tblr-danger-lt-rgb: 250.9, 235.2, 235.2;\n --tblr-light: #f9fafb;\n --tblr-light-rgb: 249, 250, 251;\n --tblr-light-fg: var(--tblr-dark);\n --tblr-light-darken: rgb(224.1, 225, 225.9);\n --tblr-light-darken: color-mix(in oklab, var(--tblr-light), transparent 20%);\n --tblr-light-lt: rgb(254.4, 254.5, 254.6);\n --tblr-light-lt: color-mix(in oklab, var(--tblr-light) 10%, transparent);\n --tblr-light-200: color-mix(in oklab, var(--tblr-light) 20%, transparent);\n --tblr-light-lt-rgb: 254.4, 254.5, 254.6;\n --tblr-dark: #1f2937;\n --tblr-dark-rgb: 31, 41, 55;\n --tblr-dark-fg: var(--tblr-light);\n --tblr-dark-darken: rgb(27.9, 36.9, 49.5);\n --tblr-dark-darken: color-mix(in oklab, var(--tblr-dark), transparent 20%);\n --tblr-dark-lt: rgb(232.6, 233.6, 235);\n --tblr-dark-lt: color-mix(in oklab, var(--tblr-dark) 10%, transparent);\n --tblr-dark-200: color-mix(in oklab, var(--tblr-dark) 20%, transparent);\n --tblr-dark-lt-rgb: 232.6, 233.6, 235;\n --tblr-muted: #6b7280;\n --tblr-muted-rgb: 107, 114, 128;\n --tblr-muted-fg: var(--tblr-light);\n --tblr-muted-darken: rgb(96.3, 102.6, 115.2);\n --tblr-muted-darken: color-mix(in oklab, var(--tblr-muted), transparent 20%);\n --tblr-muted-lt: rgb(240.2, 240.9, 242.3);\n --tblr-muted-lt: color-mix(in oklab, var(--tblr-muted) 10%, transparent);\n --tblr-muted-200: color-mix(in oklab, var(--tblr-muted) 20%, transparent);\n --tblr-muted-lt-rgb: 240.2, 240.9, 242.3;\n --tblr-blue: #066fd1;\n --tblr-blue-rgb: 6, 111, 209;\n --tblr-blue-fg: var(--tblr-light);\n --tblr-blue-darken: rgb(5.4, 99.9, 188.1);\n --tblr-blue-darken: color-mix(in oklab, var(--tblr-blue), transparent 20%);\n --tblr-blue-lt: rgb(230.1, 240.6, 250.4);\n --tblr-blue-lt: color-mix(in oklab, var(--tblr-blue) 10%, transparent);\n --tblr-blue-200: color-mix(in oklab, var(--tblr-blue) 20%, transparent);\n --tblr-blue-lt-rgb: 230.1, 240.6, 250.4;\n --tblr-azure: #4299e1;\n --tblr-azure-rgb: 66, 153, 225;\n --tblr-azure-fg: var(--tblr-light);\n --tblr-azure-darken: rgb(59.4, 137.7, 202.5);\n --tblr-azure-darken: color-mix(in oklab, var(--tblr-azure), transparent 20%);\n --tblr-azure-lt: rgb(236.1, 244.8, 252);\n --tblr-azure-lt: color-mix(in oklab, var(--tblr-azure) 10%, transparent);\n --tblr-azure-200: color-mix(in oklab, var(--tblr-azure) 20%, transparent);\n --tblr-azure-lt-rgb: 236.1, 244.8, 252;\n --tblr-indigo: #4263eb;\n --tblr-indigo-rgb: 66, 99, 235;\n --tblr-indigo-fg: var(--tblr-light);\n --tblr-indigo-darken: rgb(59.4, 89.1, 211.5);\n --tblr-indigo-darken: color-mix(in oklab, var(--tblr-indigo), transparent 20%);\n --tblr-indigo-lt: rgb(236.1, 239.4, 253);\n --tblr-indigo-lt: color-mix(in oklab, var(--tblr-indigo) 10%, transparent);\n --tblr-indigo-200: color-mix(in oklab, var(--tblr-indigo) 20%, transparent);\n --tblr-indigo-lt-rgb: 236.1, 239.4, 253;\n --tblr-purple: #ae3ec9;\n --tblr-purple-rgb: 174, 62, 201;\n --tblr-purple-fg: var(--tblr-light);\n --tblr-purple-darken: rgb(156.6, 55.8, 180.9);\n --tblr-purple-darken: color-mix(in oklab, var(--tblr-purple), transparent 20%);\n --tblr-purple-lt: rgb(246.9, 235.7, 249.6);\n --tblr-purple-lt: color-mix(in oklab, var(--tblr-purple) 10%, transparent);\n --tblr-purple-200: color-mix(in oklab, var(--tblr-purple) 20%, transparent);\n --tblr-purple-lt-rgb: 246.9, 235.7, 249.6;\n --tblr-pink: #d6336c;\n --tblr-pink-rgb: 214, 51, 108;\n --tblr-pink-fg: var(--tblr-light);\n --tblr-pink-darken: rgb(192.6, 45.9, 97.2);\n --tblr-pink-darken: color-mix(in oklab, var(--tblr-pink), transparent 20%);\n --tblr-pink-lt: rgb(250.9, 234.6, 240.3);\n --tblr-pink-lt: color-mix(in oklab, var(--tblr-pink) 10%, transparent);\n --tblr-pink-200: color-mix(in oklab, var(--tblr-pink) 20%, transparent);\n --tblr-pink-lt-rgb: 250.9, 234.6, 240.3;\n --tblr-red: #d63939;\n --tblr-red-rgb: 214, 57, 57;\n --tblr-red-fg: var(--tblr-light);\n --tblr-red-darken: rgb(192.6, 51.3, 51.3);\n --tblr-red-darken: color-mix(in oklab, var(--tblr-red), transparent 20%);\n --tblr-red-lt: rgb(250.9, 235.2, 235.2);\n --tblr-red-lt: color-mix(in oklab, var(--tblr-red) 10%, transparent);\n --tblr-red-200: color-mix(in oklab, var(--tblr-red) 20%, transparent);\n --tblr-red-lt-rgb: 250.9, 235.2, 235.2;\n --tblr-orange: #f76707;\n --tblr-orange-rgb: 247, 103, 7;\n --tblr-orange-fg: var(--tblr-light);\n --tblr-orange-darken: rgb(222.3, 92.7, 6.3);\n --tblr-orange-darken: color-mix(in oklab, var(--tblr-orange), transparent 20%);\n --tblr-orange-lt: rgb(254.2, 239.8, 230.2);\n --tblr-orange-lt: color-mix(in oklab, var(--tblr-orange) 10%, transparent);\n --tblr-orange-200: color-mix(in oklab, var(--tblr-orange) 20%, transparent);\n --tblr-orange-lt-rgb: 254.2, 239.8, 230.2;\n --tblr-yellow: #f59f00;\n --tblr-yellow-rgb: 245, 159, 0;\n --tblr-yellow-fg: var(--tblr-light);\n --tblr-yellow-darken: rgb(220.5, 143.1, 0);\n --tblr-yellow-darken: color-mix(in oklab, var(--tblr-yellow), transparent 20%);\n --tblr-yellow-lt: rgb(254, 245.4, 229.5);\n --tblr-yellow-lt: color-mix(in oklab, var(--tblr-yellow) 10%, transparent);\n --tblr-yellow-200: color-mix(in oklab, var(--tblr-yellow) 20%, transparent);\n --tblr-yellow-lt-rgb: 254, 245.4, 229.5;\n --tblr-lime: #74b816;\n --tblr-lime-rgb: 116, 184, 22;\n --tblr-lime-fg: var(--tblr-light);\n --tblr-lime-darken: rgb(104.4, 165.6, 19.8);\n --tblr-lime-darken: color-mix(in oklab, var(--tblr-lime), transparent 20%);\n --tblr-lime-lt: rgb(241.1, 247.9, 231.7);\n --tblr-lime-lt: color-mix(in oklab, var(--tblr-lime) 10%, transparent);\n --tblr-lime-200: color-mix(in oklab, var(--tblr-lime) 20%, transparent);\n --tblr-lime-lt-rgb: 241.1, 247.9, 231.7;\n --tblr-green: #2fb344;\n --tblr-green-rgb: 47, 179, 68;\n --tblr-green-fg: var(--tblr-light);\n --tblr-green-darken: rgb(42.3, 161.1, 61.2);\n --tblr-green-darken: color-mix(in oklab, var(--tblr-green), transparent 20%);\n --tblr-green-lt: rgb(234.2, 247.4, 236.3);\n --tblr-green-lt: color-mix(in oklab, var(--tblr-green) 10%, transparent);\n --tblr-green-200: color-mix(in oklab, var(--tblr-green) 20%, transparent);\n --tblr-green-lt-rgb: 234.2, 247.4, 236.3;\n --tblr-teal: #0ca678;\n --tblr-teal-rgb: 12, 166, 120;\n --tblr-teal-fg: var(--tblr-light);\n --tblr-teal-darken: rgb(10.8, 149.4, 108);\n --tblr-teal-darken: color-mix(in oklab, var(--tblr-teal), transparent 20%);\n --tblr-teal-lt: rgb(230.7, 246.1, 241.5);\n --tblr-teal-lt: color-mix(in oklab, var(--tblr-teal) 10%, transparent);\n --tblr-teal-200: color-mix(in oklab, var(--tblr-teal) 20%, transparent);\n --tblr-teal-lt-rgb: 230.7, 246.1, 241.5;\n --tblr-cyan: #17a2b8;\n --tblr-cyan-rgb: 23, 162, 184;\n --tblr-cyan-fg: var(--tblr-light);\n --tblr-cyan-darken: rgb(20.7, 145.8, 165.6);\n --tblr-cyan-darken: color-mix(in oklab, var(--tblr-cyan), transparent 20%);\n --tblr-cyan-lt: rgb(231.8, 245.7, 247.9);\n --tblr-cyan-lt: color-mix(in oklab, var(--tblr-cyan) 10%, transparent);\n --tblr-cyan-200: color-mix(in oklab, var(--tblr-cyan) 20%, transparent);\n --tblr-cyan-lt-rgb: 231.8, 245.7, 247.9;\n --tblr-x: #000000;\n --tblr-x-rgb: 0, 0, 0;\n --tblr-x-fg: var(--tblr-light);\n --tblr-x-darken: black;\n --tblr-x-darken: color-mix(in oklab, var(--tblr-x), transparent 20%);\n --tblr-x-lt: rgb(229.5, 229.5, 229.5);\n --tblr-x-lt: color-mix(in oklab, var(--tblr-x) 10%, transparent);\n --tblr-x-200: color-mix(in oklab, var(--tblr-x) 20%, transparent);\n --tblr-x-lt-rgb: 229.5, 229.5, 229.5;\n --tblr-facebook: #1877f2;\n --tblr-facebook-rgb: 24, 119, 242;\n --tblr-facebook-fg: var(--tblr-light);\n --tblr-facebook-darken: rgb(21.6, 107.1, 217.8);\n --tblr-facebook-darken: color-mix(in oklab, var(--tblr-facebook), transparent 20%);\n --tblr-facebook-lt: rgb(231.9, 241.4, 253.7);\n --tblr-facebook-lt: color-mix(in oklab, var(--tblr-facebook) 10%, transparent);\n --tblr-facebook-200: color-mix(in oklab, var(--tblr-facebook) 20%, transparent);\n --tblr-facebook-lt-rgb: 231.9, 241.4, 253.7;\n --tblr-twitter: #1da1f2;\n --tblr-twitter-rgb: 29, 161, 242;\n --tblr-twitter-fg: var(--tblr-light);\n --tblr-twitter-darken: rgb(26.1, 144.9, 217.8);\n --tblr-twitter-darken: color-mix(in oklab, var(--tblr-twitter), transparent 20%);\n --tblr-twitter-lt: rgb(232.4, 245.6, 253.7);\n --tblr-twitter-lt: color-mix(in oklab, var(--tblr-twitter) 10%, transparent);\n --tblr-twitter-200: color-mix(in oklab, var(--tblr-twitter) 20%, transparent);\n --tblr-twitter-lt-rgb: 232.4, 245.6, 253.7;\n --tblr-linkedin: #0a66c2;\n --tblr-linkedin-rgb: 10, 102, 194;\n --tblr-linkedin-fg: var(--tblr-light);\n --tblr-linkedin-darken: rgb(9, 91.8, 174.6);\n --tblr-linkedin-darken: color-mix(in oklab, var(--tblr-linkedin), transparent 20%);\n --tblr-linkedin-lt: rgb(230.5, 239.7, 248.9);\n --tblr-linkedin-lt: color-mix(in oklab, var(--tblr-linkedin) 10%, transparent);\n --tblr-linkedin-200: color-mix(in oklab, var(--tblr-linkedin) 20%, transparent);\n --tblr-linkedin-lt-rgb: 230.5, 239.7, 248.9;\n --tblr-google: #dc4e41;\n --tblr-google-rgb: 220, 78, 65;\n --tblr-google-fg: var(--tblr-light);\n --tblr-google-darken: rgb(198, 70.2, 58.5);\n --tblr-google-darken: color-mix(in oklab, var(--tblr-google), transparent 20%);\n --tblr-google-lt: rgb(251.5, 237.3, 236);\n --tblr-google-lt: color-mix(in oklab, var(--tblr-google) 10%, transparent);\n --tblr-google-200: color-mix(in oklab, var(--tblr-google) 20%, transparent);\n --tblr-google-lt-rgb: 251.5, 237.3, 236;\n --tblr-youtube: #ff0000;\n --tblr-youtube-rgb: 255, 0, 0;\n --tblr-youtube-fg: var(--tblr-light);\n --tblr-youtube-darken: rgb(229.5, 0, 0);\n --tblr-youtube-darken: color-mix(in oklab, var(--tblr-youtube), transparent 20%);\n --tblr-youtube-lt: rgb(255, 229.5, 229.5);\n --tblr-youtube-lt: color-mix(in oklab, var(--tblr-youtube) 10%, transparent);\n --tblr-youtube-200: color-mix(in oklab, var(--tblr-youtube) 20%, transparent);\n --tblr-youtube-lt-rgb: 255, 229.5, 229.5;\n --tblr-vimeo: #1ab7ea;\n --tblr-vimeo-rgb: 26, 183, 234;\n --tblr-vimeo-fg: var(--tblr-light);\n --tblr-vimeo-darken: rgb(23.4, 164.7, 210.6);\n --tblr-vimeo-darken: color-mix(in oklab, var(--tblr-vimeo), transparent 20%);\n --tblr-vimeo-lt: rgb(232.1, 247.8, 252.9);\n --tblr-vimeo-lt: color-mix(in oklab, var(--tblr-vimeo) 10%, transparent);\n --tblr-vimeo-200: color-mix(in oklab, var(--tblr-vimeo) 20%, transparent);\n --tblr-vimeo-lt-rgb: 232.1, 247.8, 252.9;\n --tblr-dribbble: #ea4c89;\n --tblr-dribbble-rgb: 234, 76, 137;\n --tblr-dribbble-fg: var(--tblr-light);\n --tblr-dribbble-darken: rgb(210.6, 68.4, 123.3);\n --tblr-dribbble-darken: color-mix(in oklab, var(--tblr-dribbble), transparent 20%);\n --tblr-dribbble-lt: rgb(252.9, 237.1, 243.2);\n --tblr-dribbble-lt: color-mix(in oklab, var(--tblr-dribbble) 10%, transparent);\n --tblr-dribbble-200: color-mix(in oklab, var(--tblr-dribbble) 20%, transparent);\n --tblr-dribbble-lt-rgb: 252.9, 237.1, 243.2;\n --tblr-github: #181717;\n --tblr-github-rgb: 24, 23, 23;\n --tblr-github-fg: var(--tblr-light);\n --tblr-github-darken: rgb(21.6, 20.7, 20.7);\n --tblr-github-darken: color-mix(in oklab, var(--tblr-github), transparent 20%);\n --tblr-github-lt: rgb(231.9, 231.8, 231.8);\n --tblr-github-lt: color-mix(in oklab, var(--tblr-github) 10%, transparent);\n --tblr-github-200: color-mix(in oklab, var(--tblr-github) 20%, transparent);\n --tblr-github-lt-rgb: 231.9, 231.8, 231.8;\n --tblr-instagram: #e4405f;\n --tblr-instagram-rgb: 228, 64, 95;\n --tblr-instagram-fg: var(--tblr-light);\n --tblr-instagram-darken: rgb(205.2, 57.6, 85.5);\n --tblr-instagram-darken: color-mix(in oklab, var(--tblr-instagram), transparent 20%);\n --tblr-instagram-lt: rgb(252.3, 235.9, 239);\n --tblr-instagram-lt: color-mix(in oklab, var(--tblr-instagram) 10%, transparent);\n --tblr-instagram-200: color-mix(in oklab, var(--tblr-instagram) 20%, transparent);\n --tblr-instagram-lt-rgb: 252.3, 235.9, 239;\n --tblr-pinterest: #bd081c;\n --tblr-pinterest-rgb: 189, 8, 28;\n --tblr-pinterest-fg: var(--tblr-light);\n --tblr-pinterest-darken: rgb(170.1, 7.2, 25.2);\n --tblr-pinterest-darken: color-mix(in oklab, var(--tblr-pinterest), transparent 20%);\n --tblr-pinterest-lt: rgb(248.4, 230.3, 232.3);\n --tblr-pinterest-lt: color-mix(in oklab, var(--tblr-pinterest) 10%, transparent);\n --tblr-pinterest-200: color-mix(in oklab, var(--tblr-pinterest) 20%, transparent);\n --tblr-pinterest-lt-rgb: 248.4, 230.3, 232.3;\n --tblr-vk: #6383a8;\n --tblr-vk-rgb: 99, 131, 168;\n --tblr-vk-fg: var(--tblr-light);\n --tblr-vk-darken: rgb(89.1, 117.9, 151.2);\n --tblr-vk-darken: color-mix(in oklab, var(--tblr-vk), transparent 20%);\n --tblr-vk-lt: rgb(239.4, 242.6, 246.3);\n --tblr-vk-lt: color-mix(in oklab, var(--tblr-vk) 10%, transparent);\n --tblr-vk-200: color-mix(in oklab, var(--tblr-vk) 20%, transparent);\n --tblr-vk-lt-rgb: 239.4, 242.6, 246.3;\n --tblr-rss: #ffa500;\n --tblr-rss-rgb: 255, 165, 0;\n --tblr-rss-fg: var(--tblr-dark);\n --tblr-rss-darken: rgb(229.5, 148.5, 0);\n --tblr-rss-darken: color-mix(in oklab, var(--tblr-rss), transparent 20%);\n --tblr-rss-lt: rgb(255, 246, 229.5);\n --tblr-rss-lt: color-mix(in oklab, var(--tblr-rss) 10%, transparent);\n --tblr-rss-200: color-mix(in oklab, var(--tblr-rss) 20%, transparent);\n --tblr-rss-lt-rgb: 255, 246, 229.5;\n --tblr-flickr: #0063dc;\n --tblr-flickr-rgb: 0, 99, 220;\n --tblr-flickr-fg: var(--tblr-light);\n --tblr-flickr-darken: rgb(0, 89.1, 198);\n --tblr-flickr-darken: color-mix(in oklab, var(--tblr-flickr), transparent 20%);\n --tblr-flickr-lt: rgb(229.5, 239.4, 251.5);\n --tblr-flickr-lt: color-mix(in oklab, var(--tblr-flickr) 10%, transparent);\n --tblr-flickr-200: color-mix(in oklab, var(--tblr-flickr) 20%, transparent);\n --tblr-flickr-lt-rgb: 229.5, 239.4, 251.5;\n --tblr-bitbucket: #0052cc;\n --tblr-bitbucket-rgb: 0, 82, 204;\n --tblr-bitbucket-fg: var(--tblr-light);\n --tblr-bitbucket-darken: rgb(0, 73.8, 183.6);\n --tblr-bitbucket-darken: color-mix(in oklab, var(--tblr-bitbucket), transparent 20%);\n --tblr-bitbucket-lt: rgb(229.5, 237.7, 249.9);\n --tblr-bitbucket-lt: color-mix(in oklab, var(--tblr-bitbucket) 10%, transparent);\n --tblr-bitbucket-200: color-mix(in oklab, var(--tblr-bitbucket) 20%, transparent);\n --tblr-bitbucket-lt-rgb: 229.5, 237.7, 249.9;\n --tblr-tabler: #066fd1;\n --tblr-tabler-rgb: 6, 111, 209;\n --tblr-tabler-fg: var(--tblr-light);\n --tblr-tabler-darken: rgb(5.4, 99.9, 188.1);\n --tblr-tabler-darken: color-mix(in oklab, var(--tblr-tabler), transparent 20%);\n --tblr-tabler-lt: rgb(230.1, 240.6, 250.4);\n --tblr-tabler-lt: color-mix(in oklab, var(--tblr-tabler) 10%, transparent);\n --tblr-tabler-200: color-mix(in oklab, var(--tblr-tabler) 20%, transparent);\n --tblr-tabler-lt-rgb: 230.1, 240.6, 250.4;\n /** Gray colors */\n --tblr-gray-50-fg: var(--tblr-body-color);\n --tblr-gray-100-fg: var(--tblr-body-color);\n --tblr-gray-200-fg: var(--tblr-body-color);\n --tblr-gray-300-fg: var(--tblr-body-color);\n --tblr-gray-400-fg: var(--tblr-white);\n --tblr-gray-500-fg: var(--tblr-white);\n --tblr-gray-600-fg: var(--tblr-white);\n --tblr-gray-700-fg: var(--tblr-white);\n --tblr-gray-800-fg: var(--tblr-white);\n --tblr-gray-900-fg: var(--tblr-white);\n --tblr-gray-950-fg: var(--tblr-white);\n /** Spacers */\n --tblr-spacer-0: 0;\n --tblr-spacer-1: 0.25rem;\n --tblr-spacer-2: 0.5rem;\n --tblr-spacer-3: 1rem;\n --tblr-spacer-4: 1.5rem;\n --tblr-spacer-5: 2rem;\n --tblr-spacer-6: 2.5rem;\n /** Font sizes */\n --tblr-font-weight-light: 300;\n --tblr-font-weight-normal: 400;\n --tblr-font-weight-medium: 500;\n --tblr-font-weight-semibold: 600;\n --tblr-font-weight-bold: 700;\n --tblr-font-weight-headings: var(--tblr-font-weight-semibold);\n --tblr-font-size-h1: 1.5rem;\n --tblr-font-size-h2: 1.25rem;\n --tblr-font-size-h3: 1rem;\n --tblr-font-size-h4: 0.875rem;\n --tblr-font-size-h5: 0.75rem;\n --tblr-font-size-h6: 0.625rem;\n --tblr-line-height-h1: 2rem;\n --tblr-line-height-h2: 1.75rem;\n --tblr-line-height-h3: 1.5rem;\n --tblr-line-height-h4: 1.25rem;\n --tblr-line-height-h5: 1rem;\n --tblr-line-height-h6: 1rem;\n --tblr-line-height-base: 1.4285714286;\n --tblr-line-height-sm: 1.1428571429;\n --tblr-line-height-lg: 1.7142857143;\n --tblr-line-height-xl: 2;\n /** Shadows */\n --tblr-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08);\n --tblr-shadow-xs: 0 1px 2px 0 rgba(18, 18, 23, 0.05);\n --tblr-shadow-sm: 0 1px 3px 0 rgba(18, 18, 23, 0.1), 0 1px 2px 0 rgba(18, 18, 23, 0.06);\n --tblr-shadow-md: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08);\n --tblr-shadow-lg: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08);\n --tblr-shadow-xl: 0px 10px 10px -5px rgba(18, 18, 23, 0.04), 0px 20px 25px -5px rgba(18, 18, 23, 0.1);\n --tblr-shadow-2xl: 0px 25px 50px -12px rgba(18, 18, 23, 0.25);\n --tblr-shadow-overlay: 0px 2px 4px 0px rgba(18, 18, 23, 0.04), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 0px 0px 1px rgba(18, 18, 23, 0.1);\n --tblr-shadow-border: 0px 0px 0px 1px rgba(18, 18, 23, 0.1);\n --tblr-shadow-transparent: 0 0 0 0 transparent;\n --tblr-shadow-input: 0 1px 2px 0 rgba(18, 18, 23, 0.05);\n --tblr-shadow-card: 0 1px 2px 0 rgba(18, 18, 23, 0.05);\n --tblr-shadow-card-hover: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08);\n --tblr-shadow-dropdown: 0px 2px 4px 0px rgba(18, 18, 23, 0.04), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 0px 0px 1px rgba(18, 18, 23, 0.1);\n /** Border radiuses */\n --tblr-border-radius-scale: 1;\n --tblr-border-radius-0: calc(0 * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-xs: calc(2px * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-sm: calc(4px * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-md: calc(6px * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-lg: calc(8px * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-pill: calc(100rem * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius: var(--tblr-border-radius-md);\n /** Backdrops */\n --tblr-backdrop-opacity: 0.32;\n --tblr-backdrop-bg: var(--tblr-bg-surface-dark);\n --tblr-backdrop-bg-dark: color-mix(in srgb, var(--tblr-color-dark), transparent var(--tblr-backdrop-opacity));\n --tblr-backdrop-bg-light: color-mix(in srgb, var(--tblr-color-light), transparent var(--tblr-backdrop-opacity));\n --tblr-backdrop-blur: 4px;\n --tblr-backdrop-filter: blur(var(--tblr-backdrop-blur));\n}\n"]} \ No newline at end of file diff --git a/storage/public/dist/css/tabler-socials.css b/storage/public/dist/css/tabler-socials.css new file mode 100644 index 0000000..1a94d16 --- /dev/null +++ b/storage/public/dist/css/tabler-socials.css @@ -0,0 +1,226 @@ +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +.social { + position: relative; + display: inline-block; + height: 2.5rem; + aspect-ratio: 1; + background: no-repeat center/cover; + vertical-align: bottom; +} + +.social-app-apple { + background-image: url("../img/social/apple.svg"); +} +.social-app-apple.social-gray { + background-image: url("../img/social/apple-gray.svg"); +} + +.social-app-discord { + background-image: url("../img/social/discord.svg"); +} +.social-app-discord.social-gray { + background-image: url("../img/social/discord-gray.svg"); +} + +.social-app-dribbble { + background-image: url("../img/social/dribbble.svg"); +} +.social-app-dribbble.social-gray { + background-image: url("../img/social/dribbble-gray.svg"); +} + +.social-app-facebook { + background-image: url("../img/social/facebook.svg"); +} +.social-app-facebook.social-gray { + background-image: url("../img/social/facebook-gray.svg"); +} + +.social-app-figma { + background-image: url("../img/social/figma.svg"); +} +.social-app-figma.social-gray { + background-image: url("../img/social/figma-gray.svg"); +} + +.social-app-github { + background-image: url("../img/social/github.svg"); +} +.social-app-github.social-gray { + background-image: url("../img/social/github-gray.svg"); +} + +.social-app-google { + background-image: url("../img/social/google.svg"); +} +.social-app-google.social-gray { + background-image: url("../img/social/google-gray.svg"); +} + +.social-app-instagram { + background-image: url("../img/social/instagram.svg"); +} +.social-app-instagram.social-gray { + background-image: url("../img/social/instagram-gray.svg"); +} + +.social-app-linkedin { + background-image: url("../img/social/linkedin.svg"); +} +.social-app-linkedin.social-gray { + background-image: url("../img/social/linkedin-gray.svg"); +} + +.social-app-medium { + background-image: url("../img/social/medium.svg"); +} +.social-app-medium.social-gray { + background-image: url("../img/social/medium-gray.svg"); +} + +.social-app-meta { + background-image: url("../img/social/meta.svg"); +} +.social-app-meta.social-gray { + background-image: url("../img/social/meta-gray.svg"); +} + +.social-app-metamask { + background-image: url("../img/social/metamask.svg"); +} +.social-app-metamask.social-gray { + background-image: url("../img/social/metamask-gray.svg"); +} + +.social-app-pinterest { + background-image: url("../img/social/pinterest.svg"); +} +.social-app-pinterest.social-gray { + background-image: url("../img/social/pinterest-gray.svg"); +} + +.social-app-reddit { + background-image: url("../img/social/reddit.svg"); +} +.social-app-reddit.social-gray { + background-image: url("../img/social/reddit-gray.svg"); +} + +.social-app-signal { + background-image: url("../img/social/signal.svg"); +} +.social-app-signal.social-gray { + background-image: url("../img/social/signal-gray.svg"); +} + +.social-app-skype { + background-image: url("../img/social/skype.svg"); +} +.social-app-skype.social-gray { + background-image: url("../img/social/skype-gray.svg"); +} + +.social-app-snapchat { + background-image: url("../img/social/snapchat.svg"); +} +.social-app-snapchat.social-gray { + background-image: url("../img/social/snapchat-gray.svg"); +} + +.social-app-spotify { + background-image: url("../img/social/spotify.svg"); +} +.social-app-spotify.social-gray { + background-image: url("../img/social/spotify-gray.svg"); +} + +.social-app-telegram { + background-image: url("../img/social/telegram.svg"); +} +.social-app-telegram.social-gray { + background-image: url("../img/social/telegram-gray.svg"); +} + +.social-app-tiktok { + background-image: url("../img/social/tiktok.svg"); +} +.social-app-tiktok.social-gray { + background-image: url("../img/social/tiktok-gray.svg"); +} + +.social-app-tumblr { + background-image: url("../img/social/tumblr.svg"); +} +.social-app-tumblr.social-gray { + background-image: url("../img/social/tumblr-gray.svg"); +} + +.social-app-twitch { + background-image: url("../img/social/twitch.svg"); +} +.social-app-twitch.social-gray { + background-image: url("../img/social/twitch-gray.svg"); +} + +.social-app-vk { + background-image: url("../img/social/vk.svg"); +} +.social-app-vk.social-gray { + background-image: url("../img/social/vk-gray.svg"); +} + +.social-app-x { + background-image: url("../img/social/x.svg"); +} +.social-app-x.social-gray { + background-image: url("../img/social/x-gray.svg"); +} + +.social-app-youtube { + background-image: url("../img/social/youtube.svg"); +} +.social-app-youtube.social-gray { + background-image: url("../img/social/youtube-gray.svg"); +} + +.social-xxs { + height: 1rem; +} + +.social-xs { + height: 1.25rem; +} + +.social-sm { + height: 2rem; +} + +.social-md { + height: 2.5rem; +} + +.social-lg { + height: 3rem; +} + +.social-xl { + height: 5rem; +} + +.social-2xl { + height: 7rem; +} + +/*# sourceMappingURL=tabler-socials.css.map */ \ No newline at end of file diff --git a/storage/public/dist/css/tabler-socials.css.map b/storage/public/dist/css/tabler-socials.css.map new file mode 100644 index 0000000..01d6047 --- /dev/null +++ b/storage/public/dist/css/tabler-socials.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tabler-socials.css"],"names":[],"mappings":"AAAA;;;;;EAKE;AACF;;;;;;EAME;AACF;EACE,kBAAkB;EAClB,qBAAqB;EACrB,cAAc;EACd,eAAe;EACf,kCAAkC;EAClC,sBAAsB;AACxB;;AAEA;EACE,gDAAgD;AAClD;AACA;EACE,qDAAqD;AACvD;;AAEA;EACE,kDAAkD;AACpD;AACA;EACE,uDAAuD;AACzD;;AAEA;EACE,mDAAmD;AACrD;AACA;EACE,wDAAwD;AAC1D;;AAEA;EACE,mDAAmD;AACrD;AACA;EACE,wDAAwD;AAC1D;;AAEA;EACE,gDAAgD;AAClD;AACA;EACE,qDAAqD;AACvD;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,sDAAsD;AACxD;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,sDAAsD;AACxD;;AAEA;EACE,oDAAoD;AACtD;AACA;EACE,yDAAyD;AAC3D;;AAEA;EACE,mDAAmD;AACrD;AACA;EACE,wDAAwD;AAC1D;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,sDAAsD;AACxD;;AAEA;EACE,+CAA+C;AACjD;AACA;EACE,oDAAoD;AACtD;;AAEA;EACE,mDAAmD;AACrD;AACA;EACE,wDAAwD;AAC1D;;AAEA;EACE,oDAAoD;AACtD;AACA;EACE,yDAAyD;AAC3D;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,sDAAsD;AACxD;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,sDAAsD;AACxD;;AAEA;EACE,gDAAgD;AAClD;AACA;EACE,qDAAqD;AACvD;;AAEA;EACE,mDAAmD;AACrD;AACA;EACE,wDAAwD;AAC1D;;AAEA;EACE,kDAAkD;AACpD;AACA;EACE,uDAAuD;AACzD;;AAEA;EACE,mDAAmD;AACrD;AACA;EACE,wDAAwD;AAC1D;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,sDAAsD;AACxD;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,sDAAsD;AACxD;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,sDAAsD;AACxD;;AAEA;EACE,6CAA6C;AAC/C;AACA;EACE,kDAAkD;AACpD;;AAEA;EACE,4CAA4C;AAC9C;AACA;EACE,iDAAiD;AACnD;;AAEA;EACE,kDAAkD;AACpD;AACA;EACE,uDAAuD;AACzD;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,YAAY;AACd","file":"tabler-socials.css","sourcesContent":["/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n.social {\n position: relative;\n display: inline-block;\n height: 2.5rem;\n aspect-ratio: 1;\n background: no-repeat center/cover;\n vertical-align: bottom;\n}\n\n.social-app-apple {\n background-image: url(\"../img/social/apple.svg\");\n}\n.social-app-apple.social-gray {\n background-image: url(\"../img/social/apple-gray.svg\");\n}\n\n.social-app-discord {\n background-image: url(\"../img/social/discord.svg\");\n}\n.social-app-discord.social-gray {\n background-image: url(\"../img/social/discord-gray.svg\");\n}\n\n.social-app-dribbble {\n background-image: url(\"../img/social/dribbble.svg\");\n}\n.social-app-dribbble.social-gray {\n background-image: url(\"../img/social/dribbble-gray.svg\");\n}\n\n.social-app-facebook {\n background-image: url(\"../img/social/facebook.svg\");\n}\n.social-app-facebook.social-gray {\n background-image: url(\"../img/social/facebook-gray.svg\");\n}\n\n.social-app-figma {\n background-image: url(\"../img/social/figma.svg\");\n}\n.social-app-figma.social-gray {\n background-image: url(\"../img/social/figma-gray.svg\");\n}\n\n.social-app-github {\n background-image: url(\"../img/social/github.svg\");\n}\n.social-app-github.social-gray {\n background-image: url(\"../img/social/github-gray.svg\");\n}\n\n.social-app-google {\n background-image: url(\"../img/social/google.svg\");\n}\n.social-app-google.social-gray {\n background-image: url(\"../img/social/google-gray.svg\");\n}\n\n.social-app-instagram {\n background-image: url(\"../img/social/instagram.svg\");\n}\n.social-app-instagram.social-gray {\n background-image: url(\"../img/social/instagram-gray.svg\");\n}\n\n.social-app-linkedin {\n background-image: url(\"../img/social/linkedin.svg\");\n}\n.social-app-linkedin.social-gray {\n background-image: url(\"../img/social/linkedin-gray.svg\");\n}\n\n.social-app-medium {\n background-image: url(\"../img/social/medium.svg\");\n}\n.social-app-medium.social-gray {\n background-image: url(\"../img/social/medium-gray.svg\");\n}\n\n.social-app-meta {\n background-image: url(\"../img/social/meta.svg\");\n}\n.social-app-meta.social-gray {\n background-image: url(\"../img/social/meta-gray.svg\");\n}\n\n.social-app-metamask {\n background-image: url(\"../img/social/metamask.svg\");\n}\n.social-app-metamask.social-gray {\n background-image: url(\"../img/social/metamask-gray.svg\");\n}\n\n.social-app-pinterest {\n background-image: url(\"../img/social/pinterest.svg\");\n}\n.social-app-pinterest.social-gray {\n background-image: url(\"../img/social/pinterest-gray.svg\");\n}\n\n.social-app-reddit {\n background-image: url(\"../img/social/reddit.svg\");\n}\n.social-app-reddit.social-gray {\n background-image: url(\"../img/social/reddit-gray.svg\");\n}\n\n.social-app-signal {\n background-image: url(\"../img/social/signal.svg\");\n}\n.social-app-signal.social-gray {\n background-image: url(\"../img/social/signal-gray.svg\");\n}\n\n.social-app-skype {\n background-image: url(\"../img/social/skype.svg\");\n}\n.social-app-skype.social-gray {\n background-image: url(\"../img/social/skype-gray.svg\");\n}\n\n.social-app-snapchat {\n background-image: url(\"../img/social/snapchat.svg\");\n}\n.social-app-snapchat.social-gray {\n background-image: url(\"../img/social/snapchat-gray.svg\");\n}\n\n.social-app-spotify {\n background-image: url(\"../img/social/spotify.svg\");\n}\n.social-app-spotify.social-gray {\n background-image: url(\"../img/social/spotify-gray.svg\");\n}\n\n.social-app-telegram {\n background-image: url(\"../img/social/telegram.svg\");\n}\n.social-app-telegram.social-gray {\n background-image: url(\"../img/social/telegram-gray.svg\");\n}\n\n.social-app-tiktok {\n background-image: url(\"../img/social/tiktok.svg\");\n}\n.social-app-tiktok.social-gray {\n background-image: url(\"../img/social/tiktok-gray.svg\");\n}\n\n.social-app-tumblr {\n background-image: url(\"../img/social/tumblr.svg\");\n}\n.social-app-tumblr.social-gray {\n background-image: url(\"../img/social/tumblr-gray.svg\");\n}\n\n.social-app-twitch {\n background-image: url(\"../img/social/twitch.svg\");\n}\n.social-app-twitch.social-gray {\n background-image: url(\"../img/social/twitch-gray.svg\");\n}\n\n.social-app-vk {\n background-image: url(\"../img/social/vk.svg\");\n}\n.social-app-vk.social-gray {\n background-image: url(\"../img/social/vk-gray.svg\");\n}\n\n.social-app-x {\n background-image: url(\"../img/social/x.svg\");\n}\n.social-app-x.social-gray {\n background-image: url(\"../img/social/x-gray.svg\");\n}\n\n.social-app-youtube {\n background-image: url(\"../img/social/youtube.svg\");\n}\n.social-app-youtube.social-gray {\n background-image: url(\"../img/social/youtube-gray.svg\");\n}\n\n.social-xxs {\n height: 1rem;\n}\n\n.social-xs {\n height: 1.25rem;\n}\n\n.social-sm {\n height: 2rem;\n}\n\n.social-md {\n height: 2.5rem;\n}\n\n.social-lg {\n height: 3rem;\n}\n\n.social-xl {\n height: 5rem;\n}\n\n.social-2xl {\n height: 7rem;\n}\n"]} \ No newline at end of file diff --git a/storage/public/dist/css/tabler-themes.css b/storage/public/dist/css/tabler-themes.css new file mode 100644 index 0000000..bdb3d49 --- /dev/null +++ b/storage/public/dist/css/tabler-themes.css @@ -0,0 +1,240 @@ +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +[data-bs-theme-base=slate], +[data-theme-base=slate] { + --tblr-gray-50: #f8fafc; + --tblr-gray-100: #f1f5f9; + --tblr-gray-200: #e2e8f0; + --tblr-gray-300: #cbd5e1; + --tblr-gray-400: #94a3b8; + --tblr-gray-500: #64748b; + --tblr-gray-600: #475569; + --tblr-gray-700: #334155; + --tblr-gray-800: #1e293b; + --tblr-gray-900: #0f172a; + --tblr-gray-950: #020617; +} + +[data-bs-theme-base=gray], +[data-theme-base=gray] { + --tblr-gray-50: #f9fafb; + --tblr-gray-100: #f3f4f6; + --tblr-gray-200: #e5e7eb; + --tblr-gray-300: #d1d5db; + --tblr-gray-400: #9ca3af; + --tblr-gray-500: #6b7280; + --tblr-gray-600: #4b5563; + --tblr-gray-700: #374151; + --tblr-gray-800: #1f2937; + --tblr-gray-900: #111827; + --tblr-gray-950: #030712; +} + +[data-bs-theme-base=zinc], +[data-theme-base=zinc] { + --tblr-gray-50: #fafafa; + --tblr-gray-100: #f4f4f5; + --tblr-gray-200: #e4e4e7; + --tblr-gray-300: #d4d4d8; + --tblr-gray-400: #a1a1aa; + --tblr-gray-500: #71717a; + --tblr-gray-600: #52525b; + --tblr-gray-700: #3f3f46; + --tblr-gray-800: #27272a; + --tblr-gray-900: #18181b; + --tblr-gray-950: #09090b; +} + +[data-bs-theme-base=neutral], +[data-theme-base=neutral] { + --tblr-gray-50: #fafafa; + --tblr-gray-100: #f5f5f5; + --tblr-gray-200: #e5e5e5; + --tblr-gray-300: #d4d4d4; + --tblr-gray-400: #a3a3a3; + --tblr-gray-500: #737373; + --tblr-gray-600: #525252; + --tblr-gray-700: #404040; + --tblr-gray-800: #262626; + --tblr-gray-900: #171717; + --tblr-gray-950: #0a0a0a; +} + +[data-bs-theme-base=stone], +[data-theme-base=stone] { + --tblr-gray-50: #fafaf9; + --tblr-gray-100: #f5f5f4; + --tblr-gray-200: #e7e5e4; + --tblr-gray-300: #d6d3d1; + --tblr-gray-400: #a8a29e; + --tblr-gray-500: #78716c; + --tblr-gray-600: #57534e; + --tblr-gray-700: #44403c; + --tblr-gray-800: #292524; + --tblr-gray-900: #1c1917; + --tblr-gray-950: #0c0a09; +} + +[data-bs-theme-base=pink], +[data-theme-base=pink] { + --tblr-gray-50: #fdf2f8; + --tblr-gray-100: #fce7f3; + --tblr-gray-200: #fbcfe8; + --tblr-gray-300: #f9a8d4; + --tblr-gray-400: #f472b6; + --tblr-gray-500: #ec4899; + --tblr-gray-600: #db2777; + --tblr-gray-700: #be185d; + --tblr-gray-800: #9d174d; + --tblr-gray-900: #831843; + --tblr-gray-950: #500724; +} + +[data-bs-theme-primary=blue], +[data-theme-primary=blue] { + --tblr-primary: #066fd1; + --tblr-primary-rgb: 6, 111, 209; +} + +[data-bs-theme-primary=azure], +[data-theme-primary=azure] { + --tblr-primary: #4299e1; + --tblr-primary-rgb: 66, 153, 225; +} + +[data-bs-theme-primary=indigo], +[data-theme-primary=indigo] { + --tblr-primary: #4263eb; + --tblr-primary-rgb: 66, 99, 235; +} + +[data-bs-theme-primary=purple], +[data-theme-primary=purple] { + --tblr-primary: #ae3ec9; + --tblr-primary-rgb: 174, 62, 201; +} + +[data-bs-theme-primary=pink], +[data-theme-primary=pink] { + --tblr-primary: #d6336c; + --tblr-primary-rgb: 214, 51, 108; +} + +[data-bs-theme-primary=red], +[data-theme-primary=red] { + --tblr-primary: #d63939; + --tblr-primary-rgb: 214, 57, 57; +} + +[data-bs-theme-primary=orange], +[data-theme-primary=orange] { + --tblr-primary: #f76707; + --tblr-primary-rgb: 247, 103, 7; +} + +[data-bs-theme-primary=yellow], +[data-theme-primary=yellow] { + --tblr-primary: #f59f00; + --tblr-primary-rgb: 245, 159, 0; +} + +[data-bs-theme-primary=lime], +[data-theme-primary=lime] { + --tblr-primary: #74b816; + --tblr-primary-rgb: 116, 184, 22; +} + +[data-bs-theme-primary=green], +[data-theme-primary=green] { + --tblr-primary: #2fb344; + --tblr-primary-rgb: 47, 179, 68; +} + +[data-bs-theme-primary=teal], +[data-theme-primary=teal] { + --tblr-primary: #0ca678; + --tblr-primary-rgb: 12, 166, 120; +} + +[data-bs-theme-primary=cyan], +[data-theme-primary=cyan] { + --tblr-primary: #17a2b8; + --tblr-primary-rgb: 23, 162, 184; +} + +[data-bs-theme-radius="0"], +[data-theme-radius="0"] { + --tblr-border-radius-scale: 0; +} + +[data-bs-theme-radius="0.5"], +[data-theme-radius="0.5"] { + --tblr-border-radius-scale: 0.5; +} + +[data-bs-theme-radius="1"], +[data-theme-radius="1"] { + --tblr-border-radius-scale: 1; +} + +[data-bs-theme-radius="1.5"], +[data-theme-radius="1.5"] { + --tblr-border-radius-scale: 1.5; +} + +[data-bs-theme-radius="2"], +[data-theme-radius="2"] { + --tblr-border-radius-scale: 2; +} + +[data-bs-theme-primary=inverted], +[data-theme-primary=inverted] { + --tblr-primary: var(--tblr-gray-800); + --tblr-primary-fg: var(--tblr-light); + --tblr-primary-rgb: 31, 41, 55; +} +[data-bs-theme-primary=inverted][data-bs-theme=dark], +[data-bs-theme-primary=inverted] [data-bs-theme=dark], [data-bs-theme-primary=inverted][data-theme=dark], +[data-bs-theme-primary=inverted] [data-theme=dark], +[data-theme-primary=inverted][data-bs-theme=dark], +[data-theme-primary=inverted] [data-bs-theme=dark], +[data-theme-primary=inverted][data-theme=dark], +[data-theme-primary=inverted] [data-theme=dark] { + --tblr-primary: #f9fafb; + --tblr-primary-fg: var(--tblr-dark); + --tblr-primary-rgb: 249, 250, 251; +} + +[data-bs-theme-font=monospace], +[data-theme-font=monospace] { + --tblr-body-font-family: var(--tblr-font-monospace); + --tblr-body-font-size: 80%; +} + +[data-bs-theme-font=sans-serif], +[data-theme-font=sans-serif] { + --tblr-body-font-family: var(--tblr-font-sans-serif); +} + +[data-bs-theme-font=serif], +[data-theme-font=serif] { + --tblr-body-font-family: var(--tblr-font-serif); +} + +[data-bs-theme-font=comic], +[data-theme-font=comic] { + --tblr-body-font-family: var(--tblr-font-comic); +} + +/*# sourceMappingURL=tabler-themes.css.map */ \ No newline at end of file diff --git a/storage/public/dist/css/tabler-themes.css.map b/storage/public/dist/css/tabler-themes.css.map new file mode 100644 index 0000000..9d3f376 --- /dev/null +++ b/storage/public/dist/css/tabler-themes.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tabler-themes.css"],"names":[],"mappings":"AAAA;;;;;EAKE;AACF;;;;;;EAME;AACF;;EAEE,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;AAC1B;;AAEA;;EAEE,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;AAC1B;;AAEA;;EAEE,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;AAC1B;;AAEA;;EAEE,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;AAC1B;;AAEA;;EAEE,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;AAC1B;;AAEA;;EAEE,uBAAuB;EACvB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;EACxB,wBAAwB;AAC1B;;AAEA;;EAEE,uBAAuB;EACvB,+BAA+B;AACjC;;AAEA;;EAEE,uBAAuB;EACvB,gCAAgC;AAClC;;AAEA;;EAEE,uBAAuB;EACvB,+BAA+B;AACjC;;AAEA;;EAEE,uBAAuB;EACvB,gCAAgC;AAClC;;AAEA;;EAEE,uBAAuB;EACvB,gCAAgC;AAClC;;AAEA;;EAEE,uBAAuB;EACvB,+BAA+B;AACjC;;AAEA;;EAEE,uBAAuB;EACvB,+BAA+B;AACjC;;AAEA;;EAEE,uBAAuB;EACvB,+BAA+B;AACjC;;AAEA;;EAEE,uBAAuB;EACvB,gCAAgC;AAClC;;AAEA;;EAEE,uBAAuB;EACvB,+BAA+B;AACjC;;AAEA;;EAEE,uBAAuB;EACvB,gCAAgC;AAClC;;AAEA;;EAEE,uBAAuB;EACvB,gCAAgC;AAClC;;AAEA;;EAEE,6BAA6B;AAC/B;;AAEA;;EAEE,+BAA+B;AACjC;;AAEA;;EAEE,6BAA6B;AAC/B;;AAEA;;EAEE,+BAA+B;AACjC;;AAEA;;EAEE,6BAA6B;AAC/B;;AAEA;;EAEE,oCAAoC;EACpC,oCAAoC;EACpC,8BAA8B;AAChC;AACA;;;;;;;EAOE,uBAAuB;EACvB,mCAAmC;EACnC,iCAAiC;AACnC;;AAEA;;EAEE,mDAAmD;EACnD,0BAA0B;AAC5B;;AAEA;;EAEE,oDAAoD;AACtD;;AAEA;;EAEE,+CAA+C;AACjD;;AAEA;;EAEE,+CAA+C;AACjD","file":"tabler-themes.css","sourcesContent":["/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n[data-bs-theme-base=slate],\n[data-theme-base=slate] {\n --tblr-gray-50: #f8fafc;\n --tblr-gray-100: #f1f5f9;\n --tblr-gray-200: #e2e8f0;\n --tblr-gray-300: #cbd5e1;\n --tblr-gray-400: #94a3b8;\n --tblr-gray-500: #64748b;\n --tblr-gray-600: #475569;\n --tblr-gray-700: #334155;\n --tblr-gray-800: #1e293b;\n --tblr-gray-900: #0f172a;\n --tblr-gray-950: #020617;\n}\n\n[data-bs-theme-base=gray],\n[data-theme-base=gray] {\n --tblr-gray-50: #f9fafb;\n --tblr-gray-100: #f3f4f6;\n --tblr-gray-200: #e5e7eb;\n --tblr-gray-300: #d1d5db;\n --tblr-gray-400: #9ca3af;\n --tblr-gray-500: #6b7280;\n --tblr-gray-600: #4b5563;\n --tblr-gray-700: #374151;\n --tblr-gray-800: #1f2937;\n --tblr-gray-900: #111827;\n --tblr-gray-950: #030712;\n}\n\n[data-bs-theme-base=zinc],\n[data-theme-base=zinc] {\n --tblr-gray-50: #fafafa;\n --tblr-gray-100: #f4f4f5;\n --tblr-gray-200: #e4e4e7;\n --tblr-gray-300: #d4d4d8;\n --tblr-gray-400: #a1a1aa;\n --tblr-gray-500: #71717a;\n --tblr-gray-600: #52525b;\n --tblr-gray-700: #3f3f46;\n --tblr-gray-800: #27272a;\n --tblr-gray-900: #18181b;\n --tblr-gray-950: #09090b;\n}\n\n[data-bs-theme-base=neutral],\n[data-theme-base=neutral] {\n --tblr-gray-50: #fafafa;\n --tblr-gray-100: #f5f5f5;\n --tblr-gray-200: #e5e5e5;\n --tblr-gray-300: #d4d4d4;\n --tblr-gray-400: #a3a3a3;\n --tblr-gray-500: #737373;\n --tblr-gray-600: #525252;\n --tblr-gray-700: #404040;\n --tblr-gray-800: #262626;\n --tblr-gray-900: #171717;\n --tblr-gray-950: #0a0a0a;\n}\n\n[data-bs-theme-base=stone],\n[data-theme-base=stone] {\n --tblr-gray-50: #fafaf9;\n --tblr-gray-100: #f5f5f4;\n --tblr-gray-200: #e7e5e4;\n --tblr-gray-300: #d6d3d1;\n --tblr-gray-400: #a8a29e;\n --tblr-gray-500: #78716c;\n --tblr-gray-600: #57534e;\n --tblr-gray-700: #44403c;\n --tblr-gray-800: #292524;\n --tblr-gray-900: #1c1917;\n --tblr-gray-950: #0c0a09;\n}\n\n[data-bs-theme-base=pink],\n[data-theme-base=pink] {\n --tblr-gray-50: #fdf2f8;\n --tblr-gray-100: #fce7f3;\n --tblr-gray-200: #fbcfe8;\n --tblr-gray-300: #f9a8d4;\n --tblr-gray-400: #f472b6;\n --tblr-gray-500: #ec4899;\n --tblr-gray-600: #db2777;\n --tblr-gray-700: #be185d;\n --tblr-gray-800: #9d174d;\n --tblr-gray-900: #831843;\n --tblr-gray-950: #500724;\n}\n\n[data-bs-theme-primary=blue],\n[data-theme-primary=blue] {\n --tblr-primary: #066fd1;\n --tblr-primary-rgb: 6, 111, 209;\n}\n\n[data-bs-theme-primary=azure],\n[data-theme-primary=azure] {\n --tblr-primary: #4299e1;\n --tblr-primary-rgb: 66, 153, 225;\n}\n\n[data-bs-theme-primary=indigo],\n[data-theme-primary=indigo] {\n --tblr-primary: #4263eb;\n --tblr-primary-rgb: 66, 99, 235;\n}\n\n[data-bs-theme-primary=purple],\n[data-theme-primary=purple] {\n --tblr-primary: #ae3ec9;\n --tblr-primary-rgb: 174, 62, 201;\n}\n\n[data-bs-theme-primary=pink],\n[data-theme-primary=pink] {\n --tblr-primary: #d6336c;\n --tblr-primary-rgb: 214, 51, 108;\n}\n\n[data-bs-theme-primary=red],\n[data-theme-primary=red] {\n --tblr-primary: #d63939;\n --tblr-primary-rgb: 214, 57, 57;\n}\n\n[data-bs-theme-primary=orange],\n[data-theme-primary=orange] {\n --tblr-primary: #f76707;\n --tblr-primary-rgb: 247, 103, 7;\n}\n\n[data-bs-theme-primary=yellow],\n[data-theme-primary=yellow] {\n --tblr-primary: #f59f00;\n --tblr-primary-rgb: 245, 159, 0;\n}\n\n[data-bs-theme-primary=lime],\n[data-theme-primary=lime] {\n --tblr-primary: #74b816;\n --tblr-primary-rgb: 116, 184, 22;\n}\n\n[data-bs-theme-primary=green],\n[data-theme-primary=green] {\n --tblr-primary: #2fb344;\n --tblr-primary-rgb: 47, 179, 68;\n}\n\n[data-bs-theme-primary=teal],\n[data-theme-primary=teal] {\n --tblr-primary: #0ca678;\n --tblr-primary-rgb: 12, 166, 120;\n}\n\n[data-bs-theme-primary=cyan],\n[data-theme-primary=cyan] {\n --tblr-primary: #17a2b8;\n --tblr-primary-rgb: 23, 162, 184;\n}\n\n[data-bs-theme-radius=\"0\"],\n[data-theme-radius=\"0\"] {\n --tblr-border-radius-scale: 0;\n}\n\n[data-bs-theme-radius=\"0.5\"],\n[data-theme-radius=\"0.5\"] {\n --tblr-border-radius-scale: 0.5;\n}\n\n[data-bs-theme-radius=\"1\"],\n[data-theme-radius=\"1\"] {\n --tblr-border-radius-scale: 1;\n}\n\n[data-bs-theme-radius=\"1.5\"],\n[data-theme-radius=\"1.5\"] {\n --tblr-border-radius-scale: 1.5;\n}\n\n[data-bs-theme-radius=\"2\"],\n[data-theme-radius=\"2\"] {\n --tblr-border-radius-scale: 2;\n}\n\n[data-bs-theme-primary=inverted],\n[data-theme-primary=inverted] {\n --tblr-primary: var(--tblr-gray-800);\n --tblr-primary-fg: var(--tblr-light);\n --tblr-primary-rgb: 31, 41, 55;\n}\n[data-bs-theme-primary=inverted][data-bs-theme=dark],\n[data-bs-theme-primary=inverted] [data-bs-theme=dark], [data-bs-theme-primary=inverted][data-theme=dark],\n[data-bs-theme-primary=inverted] [data-theme=dark],\n[data-theme-primary=inverted][data-bs-theme=dark],\n[data-theme-primary=inverted] [data-bs-theme=dark],\n[data-theme-primary=inverted][data-theme=dark],\n[data-theme-primary=inverted] [data-theme=dark] {\n --tblr-primary: #f9fafb;\n --tblr-primary-fg: var(--tblr-dark);\n --tblr-primary-rgb: 249, 250, 251;\n}\n\n[data-bs-theme-font=monospace],\n[data-theme-font=monospace] {\n --tblr-body-font-family: var(--tblr-font-monospace);\n --tblr-body-font-size: 80%;\n}\n\n[data-bs-theme-font=sans-serif],\n[data-theme-font=sans-serif] {\n --tblr-body-font-family: var(--tblr-font-sans-serif);\n}\n\n[data-bs-theme-font=serif],\n[data-theme-font=serif] {\n --tblr-body-font-family: var(--tblr-font-serif);\n}\n\n[data-bs-theme-font=comic],\n[data-theme-font=comic] {\n --tblr-body-font-family: var(--tblr-font-comic);\n}\n"]} \ No newline at end of file diff --git a/storage/public/dist/css/tabler-vendors.css b/storage/public/dist/css/tabler-vendors.css new file mode 100644 index 0000000..c73763a --- /dev/null +++ b/storage/public/dist/css/tabler-vendors.css @@ -0,0 +1,604 @@ +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +.noUi-target { + border: 0; + box-shadow: none; + background: none; + border-radius: 0; + color: var(--tblr-primary); +} + +.noUi-horizontal { + height: 1.25rem; + padding: 0.5rem 0; +} + +.noUi-base { + background: var(--tblr-border-color); + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + .noUi-base { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} + +.noUi-handle { + width: 1rem; + height: 1rem; + border: 2px var(--tblr-border-style) #ffffff; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + .noUi-handle { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} +.noUi-handle { + background: currentColor; + outline: 0; +} +.noUi-handle:before, .noUi-handle:after { + content: none; +} +.noUi-horizontal .noUi-handle { + width: 1rem; + height: 1rem; + top: -0.5rem; + inset-inline-end: -0.5rem; + margin: 1px 1px 0 0; +} +.noUi-handle.noUi-active, .noUi-handle:focus { + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} + +.noUi-connect { + background: currentColor; +} + +.litepicker { + --litepicker-month-weekday-color: var(--tblr-secondary); + --litepicker-button-prev-month-color: var(--tblr-secondary); + --litepicker-button-next-month-color: var(--tblr-secondary); + --litepicker-button-prev-month-color-hover: var(--tblr-primary); + --litepicker-button-next-month-color-hover: var(--tblr-primary); + --litepicker-day-color: var(--tblr-body-color); + --litepicker-day-color-hover: var(--tblr-primary); + --litepicker-is-start-color-bg: var(--tblr-primary); + --litepicker-is-end-color-bg: var(--tblr-primary); + --litepicker-is-in-range-color: var(--tblr-info); + --litepicker-is-today-color: var(--tblr-primary); + --litepicker-month-header-color: var(--tblr-body-color); + --litepicker-container-months-color-bg: var(--tblr-bg-surface); + font: inherit; + -webkit-user-select: none; + user-select: none; +} +.litepicker .day-item.is-in-range { + --litepicker-day-color: var(--tblr-light); +} +.litepicker svg { + fill: none !important; +} +.litepicker .container__main { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .litepicker .container__main { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.litepicker .container__main { + box-shadow: none; +} +.litepicker .container__months .month-item-name, +.litepicker .container__months .month-item-year { + font-weight: var(--tblr-font-weight-medium) !important; +} +.litepicker .container__months .button-next-month, +.litepicker .container__months .button-previous-month { + cursor: pointer !important; +} +.litepicker .container__months .month-item-weekdays-row > div { + padding: 0.5rem 0 !important; + font-size: 0.75rem; +} +.litepicker .container__days .day-item { + cursor: pointer !important; + padding: 0.5rem 0 !important; + transition: color 0.3s, background-color 0.3s, border-color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .litepicker .container__days .day-item { + transition: none; + } +} +.datepicker-inline .litepicker { + box-shadow: var(--tblr-shadow-input); +} +.datepicker-inline .litepicker .container__months { + box-shadow: none; + background-color: var(--tblr-bg-forms); + border-radius: calc(var(--tblr-border-radius) - 1px); +} +@supports (corner-shape: squircle) { + .datepicker-inline .litepicker .container__months { + corner-shape: squircle; + border-radius: calc(calc(var(--tblr-border-radius) - 1px) * 2.5) !important; + } +} + +:root { + --ts-pr-clear-button: 0rem; + --ts-pr-caret: 0rem; +} + +.ts-input { + color: inherit; +} + +.focus .ts-control { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .focus .ts-control { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.ts-control { + color: inherit; +} +.ts-control .dropdown-menu { + width: 100%; + height: auto; +} + +.ts-wrapper .form-control, +.ts-wrapper .form-select, .ts-wrapper.form-control, .ts-wrapper.form-select { + box-shadow: var(--tblr-shadow-input); +} +.ts-wrapper.is-invalid .ts-control, .ts-wrapper.is-valid .ts-control { + --ts-pr-clear-button: 1.5rem; +} + +.ts-dropdown { + background: var(--tblr-bg-surface); + color: var(--tblr-body-color); + box-shadow: var(--tblr-shadow-dropdown); + z-index: 1000; +} +.ts-dropdown .option { + padding: 0.5rem 0.75rem; +} + +.ts-control, +.ts-control input { + color: var(--tblr-body-color); +} + +.ts-control input::placeholder { + color: var(--tblr-tertiary); +} + +.ts-wrapper.multi .ts-control > div, +.ts-wrapper.multi.disabled .ts-control > div { + background: var(--tblr-bg-surface-secondary); + border: 1px solid var(--tblr-border-color); + color: var(--tblr-body-color); +} + +.ts-wrapper.disabled .ts-control { + opacity: 1; +} +.ts-wrapper.disabled .ts-control > div.item { + color: var(--tblr-gray-500); +} + +.apexcharts-tooltip { + color: var(--tblr-text-inverted) !important; + background: var(--tblr-bg-surface-inverted) !important; + font-size: 0.765625rem !important; + padding: 0.25rem !important; + box-shadow: none !important; +} + +.apexcharts-tooltip-title { + background: transparent !important; + border: 0 !important; + margin: 0 !important; + font-weight: var(--tblr-font-weight-semibold); + padding: 0.25rem 0.5rem !important; +} + +.apexcharts-tooltip-y-group { + padding: 2px 0 !important; +} + +.apexcharts-tooltip-series-group { + padding: 0 0.5rem 0 !important; +} + +.apexcharts-tooltip-marker:before { + font-size: 16px !important; +} + +.apexcharts-text { + fill: var(--tblr-body-color) !important; +} + +.apexcharts-gridline { + stroke: var(--tblr-border-color) !important; +} + +.apexcharts-legend-text { + color: inherit !important; +} + +.apexcharts-radialbar-track .apexcharts-radialbar-area { + stroke: var(--tblr-border-color) !important; +} + +.apexcharts-svg, +.apexcharts-canvas { + border-radius: inherit; +} + +.apexcharts-pie-area { + stroke: var(--tblr-bg-surface) !important; +} + +.jvm-tooltip { + background: var(--tblr-bg-surface-inverted); + color: var(--tblr-text-inverted); + font-family: inherit; + font-size: 0.75rem; + box-shadow: var(--tblr-shadow-card); +} + +.jvm-series-container .jvm-legend .jvm-legend-title { + border-bottom: 0; + font-weight: var(--tblr-font-weight-medium); +} + +.jvm-series-container .jvm-legend { + background-color: var(--tblr-card-bg, var(--tblr-bg-surface)); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + min-width: 8rem; +} +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick { + display: flex; + align-items: center; +} +.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample { + width: 0.75rem; + height: 0.75rem; +} + +.jvm-zoom-btn { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + color: var(--tblr-body-color); + padding: 0; + display: flex; + align-items: center; + justify-content: center; + line-height: 1; + width: 1.5rem; + height: 1.5rem; + font-size: 1rem; + box-shadow: var(--tblr-shadow-card); +} +.jvm-zoom-btn.jvm-zoomout { + top: 2.5rem; +} + +.dropzone { + border: var(--tblr-border-width) dashed var(--tblr-border-color) !important; + color: var(--tblr-secondary) !important; + padding: 1rem !important; +} +.dropzone.dz-drag-hover { + border: var(--tblr-border-width) dashed var(--tblr-primary); + background: color-mix(in srgb, var(--tblr-primary) 1%, transparent); + color: var(--tblr-primary); +} +.dropzone.dz-drag-hover .dz-message { + opacity: 1; +} +.dropzone .dz-preview { + margin: 0.5rem; +} +.dropzone .dz-preview .dz-image { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .dropzone .dz-preview .dz-image { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.dropzone .dz-preview .dz-success-mark { + height: 54px; +} + +.fslightbox-container { + font-family: inherit !important; + background: var(--tblr-backdrop-bg) !important; + -webkit-backdrop-filter: blur(4px) !important; + backdrop-filter: blur(4px) !important; +} + +.fslightbox-slide-number-container { + color: inherit !important; +} + +.fslightbox-slash { + background: currentColor !important; +} + +body { + --plyr-color-main: var(--tblr-primary); +} + +.tox-hugerte { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + border-radius: 6px; +} +@supports (corner-shape: squircle) { + .tox-hugerte { + corner-shape: squircle; + border-radius: calc(6px * 2.5) !important; + } +} +.tox-hugerte { + font-family: var(--tblr-font-sans-serif) !important; +} + +.tox-toolbar__group { + padding: 0 0.5rem 0; +} + +.tox .tox-toolbar__primary { + background: transparent !important; +} + +.tox:not(.tox-hugerte-inline) .tox-editor-header { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + box-shadow: none !important; + padding: 0 !important; +} + +.tox-tbtn { + margin: 0 !important; + background: var(--tblr-bg-surface) !important; +} +.tox-tbtn:hover, .tox-tbtn.tox-tbtn--enabled { + background: var(--tblr-bg-surface-secondary) !important; +} + +.tox-edit-area::before { + border: none !important; +} + +.tox-statusbar { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; +} + +.tox .tox-toolbar-overlord, +.tox:not(.tox-hugerte-inline) .tox-editor-header { + background: transparent !important; +} + +:root { + --gl-star-size: auto; + --gl-star-color: var(--tblr-yellow); + --gl-star-color-inactive: var(--tblr-border-color); +} + +[data-star-rating] svg { + width: var(--tblr-icon-size, --gl-star-size); + height: var(--tblr-icon-size, --gl-star-size); +} +[data-star-rating] :not(.gl-active) > .gl-star-full { + color: var(--gl-star-color-inactive) !important; +} +[data-star-rating] .gl-active > .gl-star-full { + color: var(--gl-star-color); + fill: currentColor; + stroke: currentColor; +} + +.clr-picker { + box-shadow: var(--tblr-shadow-dropdown); + background-color: var(--tblr-bg-surface); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .clr-picker { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.clr-gradient { + border-radius: var(--tblr-border-radius) var(--tblr-border-radius) 0 0; +} +@supports (corner-shape: squircle) { + .clr-gradient { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) var(--tblr-border-radius) 0 0 * 2.5) !important; + } +} + +input.clr-color { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + input.clr-color { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +input.clr-color { + color: var(--tblr-body-color); + border-color: var(--tblr-border-color); + background: transparent; +} +input.clr-color:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); + border-color: color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} + +.clr-swatches button { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .clr-swatches button { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.clr-swatches button { + padding: 0 2px 4px 2px; +} +.clr-swatches button:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} + +.clr-preview { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .clr-preview { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.clr-preview { + overflow: visible; +} +.clr-preview button, .clr-preview:before, .clr-preview:after { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .clr-preview button, .clr-preview:before, .clr-preview:after { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.clr-preview button:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} + +.clr-field { + display: block; +} +.clr-field button { + width: 1.5rem; + height: 1.5rem; + inset-inline-start: 6px; + inset-inline-end: auto; + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .clr-field button { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.clr-field button:after { + box-shadow: inset 0 0 0 1px var(--tblr-border-color-translucent); +} +.clr-field button:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.clr-field input { + padding-inline-start: 2.5rem; +} + +.typed-cursor { + font-weight: 500; + color: #6b7280; +} + +.turbo-progress-bar { + background: var(--tblr-primary); +} + +:root { + --fc-border-color: var(--tblr-border-color); + --fc-daygrid-event-dot-width: 5px; + --fc-event-bg-color: var(--tblr-primary-lt); + --fc-event-border-color: var(--tblr-primary-200); + --fc-event-text-color: var(--tblr-body-color); +} + +.fc-toolbar-title { + font-size: var(--tblr-font-size-h3) !important; + font-weight: var(--tblr-font-weight-medium); +} + +.fc-daygrid-dot-event { + background-color: var(--fc-event-bg-color); + border: 1px solid var(--fc-event-border-color); + color: var(--fc-event-text-color); + padding-top: 1px; + padding-bottom: 1px; +} +.fc-daygrid-dot-event .fc-event-title { + font-weight: inherit; +} + +.fc-col-header-cell { + background-color: var(--tblr-bg-surface-secondary); + color: var(--tblr-secondary); + text-transform: uppercase; + font-weight: var(--tblr-font-weight-medium); + font-size: var(--tblr-font-size-h5); + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + line-height: 1; +} + +.fc-event-time { + font-weight: var(--tblr-font-weight-semibold) !important; +} + +.fc-col-header-cell-cushion { + color: inherit; +} + +.fc-daygrid-day-number { + color: var(--tblr-secondary); +} + +.fc-button { + color: var(--tblr-body-color) !important; + background-color: transparent !important; + border-color: var(--tblr-border-color) !important; + font-weight: var(--tblr-font-weight-medium) !important; +} + +/*# sourceMappingURL=tabler-vendors.css.map */ \ No newline at end of file diff --git a/storage/public/dist/css/tabler-vendors.css.map b/storage/public/dist/css/tabler-vendors.css.map new file mode 100644 index 0000000..a080ba9 --- /dev/null +++ b/storage/public/dist/css/tabler-vendors.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tabler-vendors.css"],"names":[],"mappings":"AAAA;;;;;EAKE;AACF;;;;;;EAME;AACF;EACE,SAAS;EACT,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,0BAA0B;AAC5B;;AAEA;EACE,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,oCAAoC;EACpC,mBAAmB;AACrB;AACA;EACE;IACE,sBAAsB;IACtB,0CAA0C;EAC5C;AACF;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,4CAA4C;EAC5C,+CAA+C;EAC/C,mBAAmB;AACrB;AACA;EACE;IACE,sBAAsB;IACtB,0CAA0C;EAC5C;AACF;AACA;EACE,wBAAwB;EACxB,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,yBAAyB;EACzB,mBAAmB;AACrB;AACA;EACE,qGAAqG;AACvG;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,uDAAuD;EACvD,2DAA2D;EAC3D,2DAA2D;EAC3D,+DAA+D;EAC/D,+DAA+D;EAC/D,8CAA8C;EAC9C,iDAAiD;EACjD,mDAAmD;EACnD,iDAAiD;EACjD,gDAAgD;EAChD,gDAAgD;EAChD,uDAAuD;EACvD,8DAA8D;EAC9D,aAAa;EACb,yBAAiB;EAAjB,iBAAiB;AACnB;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,qBAAqB;AACvB;AACA;EACE,kFAAkF;EAClF,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,gBAAgB;AAClB;AACA;;EAEE,sDAAsD;AACxD;AACA;;EAEE,0BAA0B;AAC5B;AACA;EACE,4BAA4B;EAC5B,kBAAkB;AACpB;AACA;EACE,0BAA0B;EAC1B,4BAA4B;EAC5B,gEAAgE;AAClE;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,oCAAoC;AACtC;AACA;EACE,gBAAgB;EAChB,sCAAsC;EACtC,oDAAoD;AACtD;AACA;EACE;IACE,sBAAsB;IACtB,2EAA2E;EAC7E;AACF;;AAEA;EACE,0BAA0B;EAC1B,mBAAmB;AACrB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;;AAEA;EACE,cAAc;AAChB;AACA;EACE,WAAW;EACX,YAAY;AACd;;AAEA;;EAEE,oCAAoC;AACtC;AACA;EACE,4BAA4B;AAC9B;;AAEA;EACE,kCAAkC;EAClC,6BAA6B;EAC7B,uCAAuC;EACvC,aAAa;AACf;AACA;EACE,uBAAuB;AACzB;;AAEA;;EAEE,6BAA6B;AAC/B;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;;EAEE,4CAA4C;EAC5C,0CAA0C;EAC1C,6BAA6B;AAC/B;;AAEA;EACE,UAAU;AACZ;AACA;EACE,2BAA2B;AAC7B;;AAEA;EACE,2CAA2C;EAC3C,sDAAsD;EACtD,iCAAiC;EACjC,2BAA2B;EAC3B,2BAA2B;AAC7B;;AAEA;EACE,kCAAkC;EAClC,oBAAoB;EACpB,oBAAoB;EACpB,6CAA6C;EAC7C,kCAAkC;AACpC;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;;EAEE,sBAAsB;AACxB;;AAEA;EACE,yCAAyC;AAC3C;;AAEA;EACE,2CAA2C;EAC3C,gCAAgC;EAChC,oBAAoB;EACpB,kBAAkB;EAClB,mCAAmC;AACrC;;AAEA;EACE,gBAAgB;EAChB,2CAA2C;AAC7C;;AAEA;EACE,6DAA6D;EAC7D,kFAAkF;EAClF,eAAe;AACjB;AACA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,eAAe;AACjB;;AAEA;EACE,kFAAkF;EAClF,uDAAuD;EACvD,6BAA6B;EAC7B,UAAU;EACV,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,cAAc;EACd,aAAa;EACb,cAAc;EACd,eAAe;EACf,mCAAmC;AACrC;AACA;EACE,WAAW;AACb;;AAEA;EACE,2EAA2E;EAC3E,uCAAuC;EACvC,wBAAwB;AAC1B;AACA;EACE,2DAA2D;EAC3D,mEAAmE;EACnE,0BAA0B;AAC5B;AACA;EACE,UAAU;AACZ;AACA;EACE,cAAc;AAChB;AACA;EACE,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,YAAY;AACd;;AAEA;EACE,+BAA+B;EAC/B,8CAA8C;EAC9C,6CAAqC;EAArC,qCAAqC;AACvC;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,mCAAmC;AACrC;;AAEA;EACE,sCAAsC;AACxC;;AAEA;EACE,6FAA6F;EAC7F,kBAAkB;AACpB;AACA;EACE;IACE,sBAAsB;IACtB,yCAAyC;EAC3C;AACF;AACA;EACE,mDAAmD;AACrD;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,kCAAkC;AACpC;;AAEA;EACE,oGAAoG;EACpG,2BAA2B;EAC3B,qBAAqB;AACvB;;AAEA;EACE,oBAAoB;EACpB,6CAA6C;AAC/C;AACA;EACE,uDAAuD;AACzD;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,iGAAiG;AACnG;;AAEA;;EAEE,kCAAkC;AACpC;;AAEA;EACE,oBAAoB;EACpB,mCAAmC;EACnC,kDAAkD;AACpD;;AAEA;EACE,4CAA4C;EAC5C,6CAA6C;AAC/C;AACA;EACE,+CAA+C;AACjD;AACA;EACE,2BAA2B;EAC3B,kBAAkB;EAClB,oBAAoB;AACtB;;AAEA;EACE,uCAAuC;EACvC,wCAAwC;EACxC,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;;AAEA;EACE,sEAAsE;AACxE;AACA;EACE;IACE,sBAAsB;IACtB,6FAA6F;EAC/F;AACF;;AAEA;EACE,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,6BAA6B;EAC7B,sCAAsC;EACtC,uBAAuB;AACzB;AACA;EACE,UAAU;EACV,kFAAkF;EAClF,sEAAsE;AACxE;;AAEA;EACE,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,sBAAsB;AACxB;AACA;EACE,UAAU;EACV,kFAAkF;AACpF;;AAEA;EACE,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,iBAAiB;AACnB;AACA;EACE,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,UAAU;EACV,kFAAkF;AACpF;;AAEA;EACE,cAAc;AAChB;AACA;EACE,aAAa;EACb,cAAc;EACd,uBAAuB;EACvB,sBAAsB;EACtB,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,gEAAgE;AAClE;AACA;EACE,UAAU;EACV,kFAAkF;AACpF;AACA;EACE,4BAA4B;AAC9B;;AAEA;EACE,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,2CAA2C;EAC3C,iCAAiC;EACjC,2CAA2C;EAC3C,gDAAgD;EAChD,6CAA6C;AAC/C;;AAEA;EACE,8CAA8C;EAC9C,2CAA2C;AAC7C;;AAEA;EACE,0CAA0C;EAC1C,8CAA8C;EAC9C,iCAAiC;EACjC,gBAAgB;EAChB,mBAAmB;AACrB;AACA;EACE,oBAAoB;AACtB;;AAEA;EACE,kDAAkD;EAClD,4BAA4B;EAC5B,yBAAyB;EACzB,2CAA2C;EAC3C,mCAAmC;EACnC,8BAA8B;EAC9B,iCAAiC;EACjC,cAAc;AAChB;;AAEA;EACE,wDAAwD;AAC1D;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,wCAAwC;EACxC,wCAAwC;EACxC,iDAAiD;EACjD,sDAAsD;AACxD","file":"tabler-vendors.css","sourcesContent":["/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n.noUi-target {\n border: 0;\n box-shadow: none;\n background: none;\n border-radius: 0;\n color: var(--tblr-primary);\n}\n\n.noUi-horizontal {\n height: 1.25rem;\n padding: 0.5rem 0;\n}\n\n.noUi-base {\n background: var(--tblr-border-color);\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n .noUi-base {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\n\n.noUi-handle {\n width: 1rem;\n height: 1rem;\n border: 2px var(--tblr-border-style) #ffffff;\n box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n .noUi-handle {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\n.noUi-handle {\n background: currentColor;\n outline: 0;\n}\n.noUi-handle:before, .noUi-handle:after {\n content: none;\n}\n.noUi-horizontal .noUi-handle {\n width: 1rem;\n height: 1rem;\n top: -0.5rem;\n inset-inline-end: -0.5rem;\n margin: 1px 1px 0 0;\n}\n.noUi-handle.noUi-active, .noUi-handle:focus {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n\n.noUi-connect {\n background: currentColor;\n}\n\n.litepicker {\n --litepicker-month-weekday-color: var(--tblr-secondary);\n --litepicker-button-prev-month-color: var(--tblr-secondary);\n --litepicker-button-next-month-color: var(--tblr-secondary);\n --litepicker-button-prev-month-color-hover: var(--tblr-primary);\n --litepicker-button-next-month-color-hover: var(--tblr-primary);\n --litepicker-day-color: var(--tblr-body-color);\n --litepicker-day-color-hover: var(--tblr-primary);\n --litepicker-is-start-color-bg: var(--tblr-primary);\n --litepicker-is-end-color-bg: var(--tblr-primary);\n --litepicker-is-in-range-color: var(--tblr-info);\n --litepicker-is-today-color: var(--tblr-primary);\n --litepicker-month-header-color: var(--tblr-body-color);\n --litepicker-container-months-color-bg: var(--tblr-bg-surface);\n font: inherit;\n user-select: none;\n}\n.litepicker .day-item.is-in-range {\n --litepicker-day-color: var(--tblr-light);\n}\n.litepicker svg {\n fill: none !important;\n}\n.litepicker .container__main {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .litepicker .container__main {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.litepicker .container__main {\n box-shadow: none;\n}\n.litepicker .container__months .month-item-name,\n.litepicker .container__months .month-item-year {\n font-weight: var(--tblr-font-weight-medium) !important;\n}\n.litepicker .container__months .button-next-month,\n.litepicker .container__months .button-previous-month {\n cursor: pointer !important;\n}\n.litepicker .container__months .month-item-weekdays-row > div {\n padding: 0.5rem 0 !important;\n font-size: 0.75rem;\n}\n.litepicker .container__days .day-item {\n cursor: pointer !important;\n padding: 0.5rem 0 !important;\n transition: color 0.3s, background-color 0.3s, border-color 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .litepicker .container__days .day-item {\n transition: none;\n }\n}\n.datepicker-inline .litepicker {\n box-shadow: var(--tblr-shadow-input);\n}\n.datepicker-inline .litepicker .container__months {\n box-shadow: none;\n background-color: var(--tblr-bg-forms);\n border-radius: calc(var(--tblr-border-radius) - 1px);\n}\n@supports (corner-shape: squircle) {\n .datepicker-inline .litepicker .container__months {\n corner-shape: squircle;\n border-radius: calc(calc(var(--tblr-border-radius) - 1px) * 2.5) !important;\n }\n}\n\n:root {\n --ts-pr-clear-button: 0rem;\n --ts-pr-caret: 0rem;\n}\n\n.ts-input {\n color: inherit;\n}\n\n.focus .ts-control {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .focus .ts-control {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.ts-control {\n color: inherit;\n}\n.ts-control .dropdown-menu {\n width: 100%;\n height: auto;\n}\n\n.ts-wrapper .form-control,\n.ts-wrapper .form-select, .ts-wrapper.form-control, .ts-wrapper.form-select {\n box-shadow: var(--tblr-shadow-input);\n}\n.ts-wrapper.is-invalid .ts-control, .ts-wrapper.is-valid .ts-control {\n --ts-pr-clear-button: 1.5rem;\n}\n\n.ts-dropdown {\n background: var(--tblr-bg-surface);\n color: var(--tblr-body-color);\n box-shadow: var(--tblr-shadow-dropdown);\n z-index: 1000;\n}\n.ts-dropdown .option {\n padding: 0.5rem 0.75rem;\n}\n\n.ts-control,\n.ts-control input {\n color: var(--tblr-body-color);\n}\n\n.ts-control input::placeholder {\n color: var(--tblr-tertiary);\n}\n\n.ts-wrapper.multi .ts-control > div,\n.ts-wrapper.multi.disabled .ts-control > div {\n background: var(--tblr-bg-surface-secondary);\n border: 1px solid var(--tblr-border-color);\n color: var(--tblr-body-color);\n}\n\n.ts-wrapper.disabled .ts-control {\n opacity: 1;\n}\n.ts-wrapper.disabled .ts-control > div.item {\n color: var(--tblr-gray-500);\n}\n\n.apexcharts-tooltip {\n color: var(--tblr-text-inverted) !important;\n background: var(--tblr-bg-surface-inverted) !important;\n font-size: 0.765625rem !important;\n padding: 0.25rem !important;\n box-shadow: none !important;\n}\n\n.apexcharts-tooltip-title {\n background: transparent !important;\n border: 0 !important;\n margin: 0 !important;\n font-weight: var(--tblr-font-weight-semibold);\n padding: 0.25rem 0.5rem !important;\n}\n\n.apexcharts-tooltip-y-group {\n padding: 2px 0 !important;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 0.5rem 0 !important;\n}\n\n.apexcharts-tooltip-marker:before {\n font-size: 16px !important;\n}\n\n.apexcharts-text {\n fill: var(--tblr-body-color) !important;\n}\n\n.apexcharts-gridline {\n stroke: var(--tblr-border-color) !important;\n}\n\n.apexcharts-legend-text {\n color: inherit !important;\n}\n\n.apexcharts-radialbar-track .apexcharts-radialbar-area {\n stroke: var(--tblr-border-color) !important;\n}\n\n.apexcharts-svg,\n.apexcharts-canvas {\n border-radius: inherit;\n}\n\n.apexcharts-pie-area {\n stroke: var(--tblr-bg-surface) !important;\n}\n\n.jvm-tooltip {\n background: var(--tblr-bg-surface-inverted);\n color: var(--tblr-text-inverted);\n font-family: inherit;\n font-size: 0.75rem;\n box-shadow: var(--tblr-shadow-card);\n}\n\n.jvm-series-container .jvm-legend .jvm-legend-title {\n border-bottom: 0;\n font-weight: var(--tblr-font-weight-medium);\n}\n\n.jvm-series-container .jvm-legend {\n background-color: var(--tblr-card-bg, var(--tblr-bg-surface));\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n min-width: 8rem;\n}\n.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick {\n display: flex;\n align-items: center;\n}\n.jvm-series-container .jvm-legend .jvm-legend-inner .jvm-legend-tick .jvm-legend-tick-sample {\n width: 0.75rem;\n height: 0.75rem;\n}\n\n.jvm-zoom-btn {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n background: var(--tblr-card-bg, var(--tblr-bg-surface));\n color: var(--tblr-body-color);\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n width: 1.5rem;\n height: 1.5rem;\n font-size: 1rem;\n box-shadow: var(--tblr-shadow-card);\n}\n.jvm-zoom-btn.jvm-zoomout {\n top: 2.5rem;\n}\n\n.dropzone {\n border: var(--tblr-border-width) dashed var(--tblr-border-color) !important;\n color: var(--tblr-secondary) !important;\n padding: 1rem !important;\n}\n.dropzone.dz-drag-hover {\n border: var(--tblr-border-width) dashed var(--tblr-primary);\n background: color-mix(in srgb, var(--tblr-primary) 1%, transparent);\n color: var(--tblr-primary);\n}\n.dropzone.dz-drag-hover .dz-message {\n opacity: 1;\n}\n.dropzone .dz-preview {\n margin: 0.5rem;\n}\n.dropzone .dz-preview .dz-image {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .dropzone .dz-preview .dz-image {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.dropzone .dz-preview .dz-success-mark {\n height: 54px;\n}\n\n.fslightbox-container {\n font-family: inherit !important;\n background: var(--tblr-backdrop-bg) !important;\n backdrop-filter: blur(4px) !important;\n}\n\n.fslightbox-slide-number-container {\n color: inherit !important;\n}\n\n.fslightbox-slash {\n background: currentColor !important;\n}\n\nbody {\n --plyr-color-main: var(--tblr-primary);\n}\n\n.tox-hugerte {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important;\n border-radius: 6px;\n}\n@supports (corner-shape: squircle) {\n .tox-hugerte {\n corner-shape: squircle;\n border-radius: calc(6px * 2.5) !important;\n }\n}\n.tox-hugerte {\n font-family: var(--tblr-font-sans-serif) !important;\n}\n\n.tox-toolbar__group {\n padding: 0 0.5rem 0;\n}\n\n.tox .tox-toolbar__primary {\n background: transparent !important;\n}\n\n.tox:not(.tox-hugerte-inline) .tox-editor-header {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important;\n box-shadow: none !important;\n padding: 0 !important;\n}\n\n.tox-tbtn {\n margin: 0 !important;\n background: var(--tblr-bg-surface) !important;\n}\n.tox-tbtn:hover, .tox-tbtn.tox-tbtn--enabled {\n background: var(--tblr-bg-surface-secondary) !important;\n}\n\n.tox-edit-area::before {\n border: none !important;\n}\n\n.tox-statusbar {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important;\n}\n\n.tox .tox-toolbar-overlord,\n.tox:not(.tox-hugerte-inline) .tox-editor-header {\n background: transparent !important;\n}\n\n:root {\n --gl-star-size: auto;\n --gl-star-color: var(--tblr-yellow);\n --gl-star-color-inactive: var(--tblr-border-color);\n}\n\n[data-star-rating] svg {\n width: var(--tblr-icon-size, --gl-star-size);\n height: var(--tblr-icon-size, --gl-star-size);\n}\n[data-star-rating] :not(.gl-active) > .gl-star-full {\n color: var(--gl-star-color-inactive) !important;\n}\n[data-star-rating] .gl-active > .gl-star-full {\n color: var(--gl-star-color);\n fill: currentColor;\n stroke: currentColor;\n}\n\n.clr-picker {\n box-shadow: var(--tblr-shadow-dropdown);\n background-color: var(--tblr-bg-surface);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .clr-picker {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.clr-gradient {\n border-radius: var(--tblr-border-radius) var(--tblr-border-radius) 0 0;\n}\n@supports (corner-shape: squircle) {\n .clr-gradient {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) var(--tblr-border-radius) 0 0 * 2.5) !important;\n }\n}\n\ninput.clr-color {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n input.clr-color {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\ninput.clr-color {\n color: var(--tblr-body-color);\n border-color: var(--tblr-border-color);\n background: transparent;\n}\ninput.clr-color:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n border-color: color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n\n.clr-swatches button {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .clr-swatches button {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.clr-swatches button {\n padding: 0 2px 4px 2px;\n}\n.clr-swatches button:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n\n.clr-preview {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .clr-preview {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.clr-preview {\n overflow: visible;\n}\n.clr-preview button, .clr-preview:before, .clr-preview:after {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .clr-preview button, .clr-preview:before, .clr-preview:after {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.clr-preview button:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n\n.clr-field {\n display: block;\n}\n.clr-field button {\n width: 1.5rem;\n height: 1.5rem;\n inset-inline-start: 6px;\n inset-inline-end: auto;\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .clr-field button {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.clr-field button:after {\n box-shadow: inset 0 0 0 1px var(--tblr-border-color-translucent);\n}\n.clr-field button:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.clr-field input {\n padding-inline-start: 2.5rem;\n}\n\n.typed-cursor {\n font-weight: 500;\n color: #6b7280;\n}\n\n.turbo-progress-bar {\n background: var(--tblr-primary);\n}\n\n:root {\n --fc-border-color: var(--tblr-border-color);\n --fc-daygrid-event-dot-width: 5px;\n --fc-event-bg-color: var(--tblr-primary-lt);\n --fc-event-border-color: var(--tblr-primary-200);\n --fc-event-text-color: var(--tblr-body-color);\n}\n\n.fc-toolbar-title {\n font-size: var(--tblr-font-size-h3) !important;\n font-weight: var(--tblr-font-weight-medium);\n}\n\n.fc-daygrid-dot-event {\n background-color: var(--fc-event-bg-color);\n border: 1px solid var(--fc-event-border-color);\n color: var(--fc-event-text-color);\n padding-top: 1px;\n padding-bottom: 1px;\n}\n.fc-daygrid-dot-event .fc-event-title {\n font-weight: inherit;\n}\n\n.fc-col-header-cell {\n background-color: var(--tblr-bg-surface-secondary);\n color: var(--tblr-secondary);\n text-transform: uppercase;\n font-weight: var(--tblr-font-weight-medium);\n font-size: var(--tblr-font-size-h5);\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n line-height: 1;\n}\n\n.fc-event-time {\n font-weight: var(--tblr-font-weight-semibold) !important;\n}\n\n.fc-col-header-cell-cushion {\n color: inherit;\n}\n\n.fc-daygrid-day-number {\n color: var(--tblr-secondary);\n}\n\n.fc-button {\n color: var(--tblr-body-color) !important;\n background-color: transparent !important;\n border-color: var(--tblr-border-color) !important;\n font-weight: var(--tblr-font-weight-medium) !important;\n}\n"]} \ No newline at end of file diff --git a/storage/public/dist/css/tabler.css b/storage/public/dist/css/tabler.css new file mode 100644 index 0000000..8b1d8ac --- /dev/null +++ b/storage/public/dist/css/tabler.css @@ -0,0 +1,27099 @@ +@charset "UTF-8"; +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +:root, +[data-bs-theme=light], +[data-theme=light] { + --tblr-blue: #066fd1; + --tblr-azure: #4299e1; + --tblr-indigo: #4263eb; + --tblr-purple: #ae3ec9; + --tblr-pink: #d6336c; + --tblr-red: #d63939; + --tblr-orange: #f76707; + --tblr-yellow: #f59f00; + --tblr-lime: #74b816; + --tblr-green: #2fb344; + --tblr-teal: #0ca678; + --tblr-cyan: #17a2b8; + --tblr-black: #000000; + --tblr-white: #ffffff; + --tblr-gray: #4b5563; + --tblr-gray-dark: #1f2937; + --tblr-gray-100: #f3f4f6; + --tblr-gray-200: #e5e7eb; + --tblr-gray-300: #d1d5db; + --tblr-gray-400: #9ca3af; + --tblr-gray-500: #6b7280; + --tblr-gray-600: #4b5563; + --tblr-gray-700: #374151; + --tblr-gray-800: #1f2937; + --tblr-gray-900: #111827; + --tblr-primary: #066fd1; + --tblr-secondary: #6b7280; + --tblr-success: #2fb344; + --tblr-info: #4299e1; + --tblr-warning: #f59f00; + --tblr-danger: #d63939; + --tblr-light: #f9fafb; + --tblr-dark: #1f2937; + --tblr-muted: #6b7280; + --tblr-blue: #066fd1; + --tblr-azure: #4299e1; + --tblr-indigo: #4263eb; + --tblr-purple: #ae3ec9; + --tblr-pink: #d6336c; + --tblr-red: #d63939; + --tblr-orange: #f76707; + --tblr-yellow: #f59f00; + --tblr-lime: #74b816; + --tblr-green: #2fb344; + --tblr-teal: #0ca678; + --tblr-cyan: #17a2b8; + --tblr-primary-rgb: 6, 111, 209; + --tblr-secondary-rgb: 107, 114, 128; + --tblr-success-rgb: 47, 179, 68; + --tblr-info-rgb: 66, 153, 225; + --tblr-warning-rgb: 245, 159, 0; + --tblr-danger-rgb: 214, 57, 57; + --tblr-light-rgb: 249, 250, 251; + --tblr-dark-rgb: 31, 41, 55; + --tblr-muted-rgb: 107, 114, 128; + --tblr-blue-rgb: 6, 111, 209; + --tblr-azure-rgb: 66, 153, 225; + --tblr-indigo-rgb: 66, 99, 235; + --tblr-purple-rgb: 174, 62, 201; + --tblr-pink-rgb: 214, 51, 108; + --tblr-red-rgb: 214, 57, 57; + --tblr-orange-rgb: 247, 103, 7; + --tblr-yellow-rgb: 245, 159, 0; + --tblr-lime-rgb: 116, 184, 22; + --tblr-green-rgb: 47, 179, 68; + --tblr-teal-rgb: 12, 166, 120; + --tblr-cyan-rgb: 23, 162, 184; + --tblr-primary-text-emphasis: rgb(2.4, 44.4, 83.6); + --tblr-secondary-text-emphasis: rgb(42.8, 45.6, 51.2); + --tblr-success-text-emphasis: rgb(18.8, 71.6, 27.2); + --tblr-info-text-emphasis: rgb(26.4, 61.2, 90); + --tblr-warning-text-emphasis: rgb(98, 63.6, 0); + --tblr-danger-text-emphasis: rgb(85.6, 22.8, 22.8); + --tblr-light-text-emphasis: #374151; + --tblr-dark-text-emphasis: #374151; + --tblr-primary-bg-subtle: rgb(205.2, 226.2, 245.8); + --tblr-secondary-bg-subtle: rgb(225.4, 226.8, 229.6); + --tblr-success-bg-subtle: rgb(213.4, 239.8, 217.6); + --tblr-info-bg-subtle: rgb(217.2, 234.6, 249); + --tblr-warning-bg-subtle: rgb(253, 235.8, 204); + --tblr-danger-bg-subtle: rgb(246.8, 215.4, 215.4); + --tblr-light-bg-subtle: rgb(249, 249.5, 250.5); + --tblr-dark-bg-subtle: #9ca3af; + --tblr-primary-border-subtle: rgb(155.4, 197.4, 236.6); + --tblr-secondary-border-subtle: rgb(195.8, 198.6, 204.2); + --tblr-success-border-subtle: rgb(171.8, 224.6, 180.2); + --tblr-info-border-subtle: rgb(179.4, 214.2, 243); + --tblr-warning-border-subtle: rgb(251, 216.6, 153); + --tblr-danger-border-subtle: rgb(238.6, 175.8, 175.8); + --tblr-light-border-subtle: #e5e7eb; + --tblr-dark-border-subtle: #6b7280; + --tblr-white-rgb: 255, 255, 255; + --tblr-black-rgb: 0, 0, 0; + --tblr-font-sans-serif: "Geist", -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; + --tblr-font-monospace: "Geist Mono", Monaco, Consolas, Liberation Mono, Courier New, monospace; + --tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --tblr-body-font-family: var(--tblr-font-sans-serif); + --tblr-body-font-size: 0.875rem; + --tblr-body-font-weight: 400; + --tblr-body-line-height: 1.4285714286; + --tblr-body-color: #6b7280; + --tblr-body-color-rgb: 107, 114, 128; + --tblr-body-bg: #ffffff; + --tblr-body-bg-rgb: 255, 255, 255; + --tblr-emphasis-color: #000000; + --tblr-emphasis-color-rgb: 0, 0, 0; + --tblr-secondary-color: rgba(107, 114, 128, 0.75); + --tblr-secondary-color-rgb: 107, 114, 128; + --tblr-secondary-bg: #e5e7eb; + --tblr-secondary-bg-rgb: 229, 231, 235; + --tblr-tertiary-color: rgba(107, 114, 128, 0.5); + --tblr-tertiary-color-rgb: 107, 114, 128; + --tblr-tertiary-bg: #f3f4f6; + --tblr-tertiary-bg-rgb: 243, 244, 246; + --tblr-heading-color: light-dark(var(--tblr-gray-900), var(--tblr-white)); + --tblr-link-color: #066fd1; + --tblr-link-color-rgb: 6, 111, 209; + --tblr-link-decoration: none; + --tblr-link-hover-color: rgb(4.8, 88.8, 167.2); + --tblr-link-hover-color-rgb: 4.8, 88.8, 167.2; + --tblr-link-hover-decoration: underline; + --tblr-code-color: light-dark(var(--tblr-gray-600), var(--tblr-gray-400)); + --tblr-highlight-color: #6b7280; + --tblr-highlight-bg: rgb(253, 235.8, 204); + --tblr-border-width: 1px; + --tblr-border-style: solid; + --tblr-border-color: var(--tblr-gray-200); + --tblr-border-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 11.9%, transparent); + --tblr-border-radius: 6px; + --tblr-border-radius-sm: 4px; + --tblr-border-radius-lg: 8px; + --tblr-border-radius-xl: 1rem; + --tblr-border-radius-xxl: 2rem; + --tblr-border-radius-2xl: var(--tblr-border-radius-xxl); + --tblr-border-radius-pill: 100rem; + --tblr-box-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08); + --tblr-box-shadow-sm: 0 1px 3px 0 rgba(18, 18, 23, 0.1), 0 1px 2px 0 rgba(18, 18, 23, 0.06); + --tblr-box-shadow-lg: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08); + --tblr-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --tblr-focus-ring-width: 0.25rem; + --tblr-focus-ring-opacity: 0.25; + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-primary) 25%, transparent); + --tblr-form-valid-color: #2fb344; + --tblr-form-valid-border-color: #2fb344; + --tblr-form-invalid-color: #d63939; + --tblr-form-invalid-border-color: #d63939; +} + +[data-bs-theme=dark], body[data-bs-theme=dark] [data-bs-theme=light], +body[data-theme=dark] [data-theme=light], +[data-theme=dark] { + color-scheme: dark; + --tblr-body-color: #e5e7eb; + --tblr-body-color-rgb: 229, 231, 235; + --tblr-body-bg: #111827; + --tblr-body-bg-rgb: 17, 24, 39; + --tblr-emphasis-color: #ffffff; + --tblr-emphasis-color-rgb: 255, 255, 255; + --tblr-secondary-color: rgba(229, 231, 235, 0.75); + --tblr-secondary-color-rgb: 229, 231, 235; + --tblr-secondary-bg: #1f2937; + --tblr-secondary-bg-rgb: 31, 41, 55; + --tblr-tertiary-color: rgba(229, 231, 235, 0.5); + --tblr-tertiary-color-rgb: 229, 231, 235; + --tblr-tertiary-bg: rgb(24, 32.5, 47); + --tblr-tertiary-bg-rgb: 24, 32.5, 47; + --tblr-primary-text-emphasis: rgb(105.6, 168.6, 227.4); + --tblr-secondary-text-emphasis: rgb(166.2, 170.4, 178.8); + --tblr-success-text-emphasis: rgb(130.2, 209.4, 142.8); + --tblr-info-text-emphasis: rgb(141.6, 193.8, 237); + --tblr-warning-text-emphasis: rgb(249, 197.4, 102); + --tblr-danger-text-emphasis: rgb(230.4, 136.2, 136.2); + --tblr-light-text-emphasis: #f3f4f6; + --tblr-dark-text-emphasis: #d1d5db; + --tblr-primary-bg-subtle: rgb(1.2, 22.2, 41.8); + --tblr-secondary-bg-subtle: rgb(21.4, 22.8, 25.6); + --tblr-success-bg-subtle: rgb(9.4, 35.8, 13.6); + --tblr-info-bg-subtle: rgb(13.2, 30.6, 45); + --tblr-warning-bg-subtle: rgb(49, 31.8, 0); + --tblr-danger-bg-subtle: rgb(42.8, 11.4, 11.4); + --tblr-light-bg-subtle: #1f2937; + --tblr-dark-bg-subtle: rgb(15.5, 20.5, 27.5); + --tblr-primary-border-subtle: rgb(3.6, 66.6, 125.4); + --tblr-secondary-border-subtle: rgb(64.2, 68.4, 76.8); + --tblr-success-border-subtle: rgb(28.2, 107.4, 40.8); + --tblr-info-border-subtle: rgb(39.6, 91.8, 135); + --tblr-warning-border-subtle: rgb(147, 95.4, 0); + --tblr-danger-border-subtle: rgb(128.4, 34.2, 34.2); + --tblr-light-border-subtle: #374151; + --tblr-dark-border-subtle: #1f2937; + --tblr-heading-color: inherit; + --tblr-link-color: rgb(105.6, 168.6, 227.4); + --tblr-link-hover-color: rgb(135.48, 185.88, 232.92); + --tblr-link-color-rgb: 105.6, 168.6, 227.4; + --tblr-link-hover-color-rgb: 135.48, 185.88, 232.92; + --tblr-code-color: var(--tblr-gray-300); + --tblr-highlight-color: #e5e7eb; + --tblr-highlight-bg: rgb(98, 63.6, 0); + --tblr-border-color: rgb(45.7069767442, 60.4511627907, 81.0930232558); + --tblr-border-color-translucent: rgba(128, 150, 172, 0.2); + --tblr-form-valid-color: rgb(130.2, 209.4, 142.8); + --tblr-form-valid-border-color: rgb(130.2, 209.4, 142.8); + --tblr-form-invalid-color: rgb(230.4, 136.2, 136.2); + --tblr-form-invalid-border-color: rgb(230.4, 136.2, 136.2); +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--tblr-body-font-family); + font-size: var(--tblr-body-font-size); + font-weight: var(--tblr-body-font-weight); + line-height: var(--tblr-body-line-height); + color: var(--tblr-body-color); + text-align: var(--tblr-body-text-align); + background-color: var(--tblr-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr, .hr { + margin: 2rem 0; + color: inherit; + border: 0; + border-top: var(--tblr-border-width) solid; + opacity: 11.9%; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: var(--tblr-spacer); + font-weight: var(--tblr-font-weight-semibold); + line-height: 1.2; + color: var(--tblr-heading-color); +} + +h1, .h1 { + font-size: 1.5rem; +} + +h2, .h2 { + font-size: 1.25rem; +} + +h3, .h3 { + font-size: 1rem; +} + +h4, .h4 { + font-size: 0.875rem; +} + +h5, .h5 { + font-size: 0.75rem; +} + +h6, .h6 { + font-size: 0.625rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 600; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.1875em; + color: var(--tblr-highlight-color); + background-color: var(--tblr-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-opacity, 1)); + text-decoration: none; +} +a:hover { + --tblr-link-color-rgb: var(--tblr-link-hover-color-rgb); + text-decoration: underline; +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--tblr-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.85714285em; + color: var(--tblr-light); +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.85714285em; + color: var(--tblr-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.25rem 0.5rem; + font-size: var(--tblr-font-size-h5); + color: var(--tblr-text-secondary-dark); + background-color: var(--tblr-code-bg); + border-radius: 4px; +} +@supports (corner-shape: squircle) { + kbd { + corner-shape: squircle; + border-radius: calc(4px * 2.5) !important; + } +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: var(--tblr-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + line-height: inherit; + font-size: 1.5rem; +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; +} +[type=search]::-webkit-search-cancel-button { + cursor: pointer; + filter: grayscale(1); +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 0.875rem; + font-weight: var(--tblr-font-weight-normal); +} + +.display-1 { + font-weight: 300; + line-height: 1.2; + font-size: 5rem; +} + +.display-2 { + font-weight: 300; + line-height: 1.2; + font-size: 4.5rem; +} + +.display-3 { + font-weight: 300; + line-height: 1.2; + font-size: 4rem; +} + +.display-4 { + font-weight: 300; + line-height: 1.2; + font-size: 3.5rem; +} + +.display-5 { + font-weight: 300; + line-height: 1.2; + font-size: 3rem; +} + +.display-6 { + font-weight: 300; + line-height: 1.2; + font-size: 2rem; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 0.875rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #4b5563; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--tblr-body-bg); + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .img-thumbnail { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.img-thumbnail { + box-shadow: var(--tblr-box-shadow-sm); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: var(--tblr-secondary-color); +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +:root { + --tblr-breakpoint-xs: 0; + --tblr-breakpoint-sm: 576px; + --tblr-breakpoint-md: 768px; + --tblr-breakpoint-lg: 992px; + --tblr-breakpoint-xl: 1200px; + --tblr-breakpoint-xxl: 1400px; +} + +.row { + --tblr-gutter-x: var(--tblr-page-padding); + --tblr-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--tblr-gutter-y)); + margin-right: calc(-0.5 * var(--tblr-gutter-x)); + margin-left: calc(-0.5 * var(--tblr-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-top: var(--tblr-gutter-y); +} + +.grid { + display: grid; + grid-template-rows: repeat(var(--tblr-rows, 1), 1fr); + grid-template-columns: repeat(var(--tblr-columns, 12), 1fr); + gap: var(--tblr-gap, var(--tblr-page-padding)); +} +.grid .g-col-1 { + grid-column: auto/span 1; +} +.grid .g-col-2 { + grid-column: auto/span 2; +} +.grid .g-col-3 { + grid-column: auto/span 3; +} +.grid .g-col-4 { + grid-column: auto/span 4; +} +.grid .g-col-5 { + grid-column: auto/span 5; +} +.grid .g-col-6 { + grid-column: auto/span 6; +} +.grid .g-col-7 { + grid-column: auto/span 7; +} +.grid .g-col-8 { + grid-column: auto/span 8; +} +.grid .g-col-9 { + grid-column: auto/span 9; +} +.grid .g-col-10 { + grid-column: auto/span 10; +} +.grid .g-col-11 { + grid-column: auto/span 11; +} +.grid .g-col-12 { + grid-column: auto/span 12; +} +.grid .g-start-1 { + grid-column-start: 1; +} +.grid .g-start-2 { + grid-column-start: 2; +} +.grid .g-start-3 { + grid-column-start: 3; +} +.grid .g-start-4 { + grid-column-start: 4; +} +.grid .g-start-5 { + grid-column-start: 5; +} +.grid .g-start-6 { + grid-column-start: 6; +} +.grid .g-start-7 { + grid-column-start: 7; +} +.grid .g-start-8 { + grid-column-start: 8; +} +.grid .g-start-9 { + grid-column-start: 9; +} +.grid .g-start-10 { + grid-column-start: 10; +} +.grid .g-start-11 { + grid-column-start: 11; +} +@media (min-width: 576px) { + .grid .g-col-sm-1 { + grid-column: auto/span 1; + } + .grid .g-col-sm-2 { + grid-column: auto/span 2; + } + .grid .g-col-sm-3 { + grid-column: auto/span 3; + } + .grid .g-col-sm-4 { + grid-column: auto/span 4; + } + .grid .g-col-sm-5 { + grid-column: auto/span 5; + } + .grid .g-col-sm-6 { + grid-column: auto/span 6; + } + .grid .g-col-sm-7 { + grid-column: auto/span 7; + } + .grid .g-col-sm-8 { + grid-column: auto/span 8; + } + .grid .g-col-sm-9 { + grid-column: auto/span 9; + } + .grid .g-col-sm-10 { + grid-column: auto/span 10; + } + .grid .g-col-sm-11 { + grid-column: auto/span 11; + } + .grid .g-col-sm-12 { + grid-column: auto/span 12; + } + .grid .g-start-sm-1 { + grid-column-start: 1; + } + .grid .g-start-sm-2 { + grid-column-start: 2; + } + .grid .g-start-sm-3 { + grid-column-start: 3; + } + .grid .g-start-sm-4 { + grid-column-start: 4; + } + .grid .g-start-sm-5 { + grid-column-start: 5; + } + .grid .g-start-sm-6 { + grid-column-start: 6; + } + .grid .g-start-sm-7 { + grid-column-start: 7; + } + .grid .g-start-sm-8 { + grid-column-start: 8; + } + .grid .g-start-sm-9 { + grid-column-start: 9; + } + .grid .g-start-sm-10 { + grid-column-start: 10; + } + .grid .g-start-sm-11 { + grid-column-start: 11; + } +} +@media (min-width: 768px) { + .grid .g-col-md-1 { + grid-column: auto/span 1; + } + .grid .g-col-md-2 { + grid-column: auto/span 2; + } + .grid .g-col-md-3 { + grid-column: auto/span 3; + } + .grid .g-col-md-4 { + grid-column: auto/span 4; + } + .grid .g-col-md-5 { + grid-column: auto/span 5; + } + .grid .g-col-md-6 { + grid-column: auto/span 6; + } + .grid .g-col-md-7 { + grid-column: auto/span 7; + } + .grid .g-col-md-8 { + grid-column: auto/span 8; + } + .grid .g-col-md-9 { + grid-column: auto/span 9; + } + .grid .g-col-md-10 { + grid-column: auto/span 10; + } + .grid .g-col-md-11 { + grid-column: auto/span 11; + } + .grid .g-col-md-12 { + grid-column: auto/span 12; + } + .grid .g-start-md-1 { + grid-column-start: 1; + } + .grid .g-start-md-2 { + grid-column-start: 2; + } + .grid .g-start-md-3 { + grid-column-start: 3; + } + .grid .g-start-md-4 { + grid-column-start: 4; + } + .grid .g-start-md-5 { + grid-column-start: 5; + } + .grid .g-start-md-6 { + grid-column-start: 6; + } + .grid .g-start-md-7 { + grid-column-start: 7; + } + .grid .g-start-md-8 { + grid-column-start: 8; + } + .grid .g-start-md-9 { + grid-column-start: 9; + } + .grid .g-start-md-10 { + grid-column-start: 10; + } + .grid .g-start-md-11 { + grid-column-start: 11; + } +} +@media (min-width: 992px) { + .grid .g-col-lg-1 { + grid-column: auto/span 1; + } + .grid .g-col-lg-2 { + grid-column: auto/span 2; + } + .grid .g-col-lg-3 { + grid-column: auto/span 3; + } + .grid .g-col-lg-4 { + grid-column: auto/span 4; + } + .grid .g-col-lg-5 { + grid-column: auto/span 5; + } + .grid .g-col-lg-6 { + grid-column: auto/span 6; + } + .grid .g-col-lg-7 { + grid-column: auto/span 7; + } + .grid .g-col-lg-8 { + grid-column: auto/span 8; + } + .grid .g-col-lg-9 { + grid-column: auto/span 9; + } + .grid .g-col-lg-10 { + grid-column: auto/span 10; + } + .grid .g-col-lg-11 { + grid-column: auto/span 11; + } + .grid .g-col-lg-12 { + grid-column: auto/span 12; + } + .grid .g-start-lg-1 { + grid-column-start: 1; + } + .grid .g-start-lg-2 { + grid-column-start: 2; + } + .grid .g-start-lg-3 { + grid-column-start: 3; + } + .grid .g-start-lg-4 { + grid-column-start: 4; + } + .grid .g-start-lg-5 { + grid-column-start: 5; + } + .grid .g-start-lg-6 { + grid-column-start: 6; + } + .grid .g-start-lg-7 { + grid-column-start: 7; + } + .grid .g-start-lg-8 { + grid-column-start: 8; + } + .grid .g-start-lg-9 { + grid-column-start: 9; + } + .grid .g-start-lg-10 { + grid-column-start: 10; + } + .grid .g-start-lg-11 { + grid-column-start: 11; + } +} +@media (min-width: 1200px) { + .grid .g-col-xl-1 { + grid-column: auto/span 1; + } + .grid .g-col-xl-2 { + grid-column: auto/span 2; + } + .grid .g-col-xl-3 { + grid-column: auto/span 3; + } + .grid .g-col-xl-4 { + grid-column: auto/span 4; + } + .grid .g-col-xl-5 { + grid-column: auto/span 5; + } + .grid .g-col-xl-6 { + grid-column: auto/span 6; + } + .grid .g-col-xl-7 { + grid-column: auto/span 7; + } + .grid .g-col-xl-8 { + grid-column: auto/span 8; + } + .grid .g-col-xl-9 { + grid-column: auto/span 9; + } + .grid .g-col-xl-10 { + grid-column: auto/span 10; + } + .grid .g-col-xl-11 { + grid-column: auto/span 11; + } + .grid .g-col-xl-12 { + grid-column: auto/span 12; + } + .grid .g-start-xl-1 { + grid-column-start: 1; + } + .grid .g-start-xl-2 { + grid-column-start: 2; + } + .grid .g-start-xl-3 { + grid-column-start: 3; + } + .grid .g-start-xl-4 { + grid-column-start: 4; + } + .grid .g-start-xl-5 { + grid-column-start: 5; + } + .grid .g-start-xl-6 { + grid-column-start: 6; + } + .grid .g-start-xl-7 { + grid-column-start: 7; + } + .grid .g-start-xl-8 { + grid-column-start: 8; + } + .grid .g-start-xl-9 { + grid-column-start: 9; + } + .grid .g-start-xl-10 { + grid-column-start: 10; + } + .grid .g-start-xl-11 { + grid-column-start: 11; + } +} +@media (min-width: 1400px) { + .grid .g-col-xxl-1 { + grid-column: auto/span 1; + } + .grid .g-col-xxl-2 { + grid-column: auto/span 2; + } + .grid .g-col-xxl-3 { + grid-column: auto/span 3; + } + .grid .g-col-xxl-4 { + grid-column: auto/span 4; + } + .grid .g-col-xxl-5 { + grid-column: auto/span 5; + } + .grid .g-col-xxl-6 { + grid-column: auto/span 6; + } + .grid .g-col-xxl-7 { + grid-column: auto/span 7; + } + .grid .g-col-xxl-8 { + grid-column: auto/span 8; + } + .grid .g-col-xxl-9 { + grid-column: auto/span 9; + } + .grid .g-col-xxl-10 { + grid-column: auto/span 10; + } + .grid .g-col-xxl-11 { + grid-column: auto/span 11; + } + .grid .g-col-xxl-12 { + grid-column: auto/span 12; + } + .grid .g-start-xxl-1 { + grid-column-start: 1; + } + .grid .g-start-xxl-2 { + grid-column-start: 2; + } + .grid .g-start-xxl-3 { + grid-column-start: 3; + } + .grid .g-start-xxl-4 { + grid-column-start: 4; + } + .grid .g-start-xxl-5 { + grid-column-start: 5; + } + .grid .g-start-xxl-6 { + grid-column-start: 6; + } + .grid .g-start-xxl-7 { + grid-column-start: 7; + } + .grid .g-start-xxl-8 { + grid-column-start: 8; + } + .grid .g-start-xxl-9 { + grid-column-start: 9; + } + .grid .g-start-xxl-10 { + grid-column-start: 10; + } + .grid .g-start-xxl-11 { + grid-column-start: 11; + } +} + +.col { + flex: 1 0 0; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.33333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --tblr-gutter-x: 0; +} + +.g-0, +.gy-0 { + --tblr-gutter-y: 0; +} + +.g-1, +.gx-1 { + --tblr-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --tblr-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --tblr-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --tblr-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --tblr-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --tblr-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --tblr-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --tblr-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --tblr-gutter-x: 2rem; +} + +.g-5, +.gy-5 { + --tblr-gutter-y: 2rem; +} + +.g-6, +.gx-6 { + --tblr-gutter-x: 2.5rem; +} + +.g-6, +.gy-6 { + --tblr-gutter-y: 2.5rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --tblr-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --tblr-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --tblr-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --tblr-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --tblr-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --tblr-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --tblr-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --tblr-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --tblr-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --tblr-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --tblr-gutter-x: 2rem; + } + .g-sm-5, + .gy-sm-5 { + --tblr-gutter-y: 2rem; + } + .g-sm-6, + .gx-sm-6 { + --tblr-gutter-x: 2.5rem; + } + .g-sm-6, + .gy-sm-6 { + --tblr-gutter-y: 2.5rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --tblr-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --tblr-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --tblr-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --tblr-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --tblr-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --tblr-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --tblr-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --tblr-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --tblr-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --tblr-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --tblr-gutter-x: 2rem; + } + .g-md-5, + .gy-md-5 { + --tblr-gutter-y: 2rem; + } + .g-md-6, + .gx-md-6 { + --tblr-gutter-x: 2.5rem; + } + .g-md-6, + .gy-md-6 { + --tblr-gutter-y: 2.5rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --tblr-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --tblr-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --tblr-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --tblr-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --tblr-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --tblr-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --tblr-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --tblr-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --tblr-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --tblr-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --tblr-gutter-x: 2rem; + } + .g-lg-5, + .gy-lg-5 { + --tblr-gutter-y: 2rem; + } + .g-lg-6, + .gx-lg-6 { + --tblr-gutter-x: 2.5rem; + } + .g-lg-6, + .gy-lg-6 { + --tblr-gutter-y: 2.5rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --tblr-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --tblr-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --tblr-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --tblr-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --tblr-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --tblr-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --tblr-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --tblr-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --tblr-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --tblr-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --tblr-gutter-x: 2rem; + } + .g-xl-5, + .gy-xl-5 { + --tblr-gutter-y: 2rem; + } + .g-xl-6, + .gx-xl-6 { + --tblr-gutter-x: 2.5rem; + } + .g-xl-6, + .gy-xl-6 { + --tblr-gutter-y: 2.5rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.33333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --tblr-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --tblr-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --tblr-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --tblr-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --tblr-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --tblr-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --tblr-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --tblr-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --tblr-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --tblr-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --tblr-gutter-x: 2rem; + } + .g-xxl-5, + .gy-xxl-5 { + --tblr-gutter-y: 2rem; + } + .g-xxl-6, + .gx-xxl-6 { + --tblr-gutter-x: 2.5rem; + } + .g-xxl-6, + .gy-xxl-6 { + --tblr-gutter-y: 2.5rem; + } +} +.table, .prose > table, +.markdown > table { + --tblr-table-color-type: initial; + --tblr-table-bg-type: initial; + --tblr-table-color-state: initial; + --tblr-table-bg-state: initial; + --tblr-table-color: inherit; + --tblr-table-bg: transparent; + --tblr-table-border-color: var(--tblr-border-color-translucent); + --tblr-table-accent-bg: transparent; + --tblr-table-striped-color: inherit; + --tblr-table-striped-bg: var(--tblr-bg-surface-tertiary); + --tblr-table-active-color: inherit; + --tblr-table-active-bg: var(--tblr-active-bg); + --tblr-table-hover-color: inherit; + --tblr-table-hover-bg: color-mix(in srgb, var(--tblr-emphasis-color) 7.5%, transparent); + width: 100%; + margin-bottom: 1rem; + vertical-align: top; + border-color: var(--tblr-table-border-color); +} +.table > :not(caption) > * > *, .prose > table > :not(caption) > * > *, +.markdown > table > :not(caption) > * > * { + padding: 0.75rem 0.75rem; + color: var(--tblr-table-color-state, var(--tblr-table-color-type, var(--tblr-table-color))); + background-color: var(--tblr-table-bg); + border-bottom-width: var(--tblr-border-width); + box-shadow: inset 0 0 0 9999px var(--tblr-table-bg-state, var(--tblr-table-bg-type, var(--tblr-table-accent-bg))); +} +.table > tbody, .prose > table > tbody, +.markdown > table > tbody { + vertical-align: inherit; +} +.table > thead, .prose > table > thead, +.markdown > table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent); +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > *, .prose > table > :not(caption) > * > *, +.markdown > table > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > *, .prose > table > :not(caption) > *, +.markdown > table > :not(caption) > * { + border-width: var(--tblr-border-width) 0; +} +.table-bordered > :not(caption) > * > *, .prose > table > :not(caption) > * > *, +.markdown > table > :not(caption) > * > * { + border-width: 0 var(--tblr-border-width); +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(even) > * { + --tblr-table-color-type: var(--tblr-table-striped-color); + --tblr-table-bg-type: var(--tblr-table-striped-bg); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --tblr-table-color-type: var(--tblr-table-striped-color); + --tblr-table-bg-type: var(--tblr-table-striped-bg); +} + +.table-active { + --tblr-table-color-state: var(--tblr-table-active-color); + --tblr-table-bg-state: var(--tblr-table-active-bg); +} + +.table-hover > tbody > tr:hover > * { + --tblr-table-color-state: var(--tblr-table-hover-color); + --tblr-table-bg-state: var(--tblr-table-hover-bg); +} + +.table-primary { + --tblr-table-color: #000000; + --tblr-table-bg: rgb(205.2, 226.2, 245.8); + --tblr-table-border-color: rgb(164.16, 180.96, 196.64); + --tblr-table-striped-bg: rgb(194.94, 214.89, 233.51); + --tblr-table-striped-color: #000000; + --tblr-table-active-bg: rgb(184.68, 203.58, 221.22); + --tblr-table-active-color: #000000; + --tblr-table-hover-bg: rgb(189.81, 209.235, 227.365); + --tblr-table-hover-color: #000000; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-secondary { + --tblr-table-color: #000000; + --tblr-table-bg: rgb(225.4, 226.8, 229.6); + --tblr-table-border-color: rgb(180.32, 181.44, 183.68); + --tblr-table-striped-bg: rgb(214.13, 215.46, 218.12); + --tblr-table-striped-color: #000000; + --tblr-table-active-bg: rgb(202.86, 204.12, 206.64); + --tblr-table-active-color: #000000; + --tblr-table-hover-bg: rgb(208.495, 209.79, 212.38); + --tblr-table-hover-color: #000000; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-success { + --tblr-table-color: #000000; + --tblr-table-bg: rgb(213.4, 239.8, 217.6); + --tblr-table-border-color: rgb(170.72, 191.84, 174.08); + --tblr-table-striped-bg: rgb(202.73, 227.81, 206.72); + --tblr-table-striped-color: #000000; + --tblr-table-active-bg: rgb(192.06, 215.82, 195.84); + --tblr-table-active-color: #000000; + --tblr-table-hover-bg: rgb(197.395, 221.815, 201.28); + --tblr-table-hover-color: #000000; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-info { + --tblr-table-color: #000000; + --tblr-table-bg: rgb(217.2, 234.6, 249); + --tblr-table-border-color: rgb(173.76, 187.68, 199.2); + --tblr-table-striped-bg: rgb(206.34, 222.87, 236.55); + --tblr-table-striped-color: #000000; + --tblr-table-active-bg: rgb(195.48, 211.14, 224.1); + --tblr-table-active-color: #000000; + --tblr-table-hover-bg: rgb(200.91, 217.005, 230.325); + --tblr-table-hover-color: #000000; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-warning { + --tblr-table-color: #000000; + --tblr-table-bg: rgb(253, 235.8, 204); + --tblr-table-border-color: rgb(202.4, 188.64, 163.2); + --tblr-table-striped-bg: rgb(240.35, 224.01, 193.8); + --tblr-table-striped-color: #000000; + --tblr-table-active-bg: rgb(227.7, 212.22, 183.6); + --tblr-table-active-color: #000000; + --tblr-table-hover-bg: rgb(234.025, 218.115, 188.7); + --tblr-table-hover-color: #000000; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-danger { + --tblr-table-color: #000000; + --tblr-table-bg: rgb(246.8, 215.4, 215.4); + --tblr-table-border-color: rgb(197.44, 172.32, 172.32); + --tblr-table-striped-bg: rgb(234.46, 204.63, 204.63); + --tblr-table-striped-color: #000000; + --tblr-table-active-bg: rgb(222.12, 193.86, 193.86); + --tblr-table-active-color: #000000; + --tblr-table-hover-bg: rgb(228.29, 199.245, 199.245); + --tblr-table-hover-color: #000000; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-light { + --tblr-table-color: #000000; + --tblr-table-bg: #f9fafb; + --tblr-table-border-color: rgb(199.2, 200, 200.8); + --tblr-table-striped-bg: rgb(236.55, 237.5, 238.45); + --tblr-table-striped-color: #000000; + --tblr-table-active-bg: rgb(224.1, 225, 225.9); + --tblr-table-active-color: #000000; + --tblr-table-hover-bg: rgb(230.325, 231.25, 232.175); + --tblr-table-hover-color: #000000; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-dark { + --tblr-table-color: #ffffff; + --tblr-table-bg: #1f2937; + --tblr-table-border-color: rgb(75.8, 83.8, 95); + --tblr-table-striped-bg: rgb(42.2, 51.7, 65); + --tblr-table-striped-color: #ffffff; + --tblr-table-active-bg: rgb(53.4, 62.4, 75); + --tblr-table-active-color: #ffffff; + --tblr-table-hover-bg: rgb(47.8, 57.05, 70); + --tblr-table-hover-color: #ffffff; + color: var(--tblr-table-color); + border-color: var(--tblr-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; + font-size: 0.875rem; + font-weight: var(--tblr-font-weight-medium); +} + +.col-form-label { + padding-top: calc(0.5625rem + var(--tblr-border-width)); + padding-bottom: calc(0.5625rem + var(--tblr-border-width)); + margin-bottom: 0; + font-size: inherit; + font-weight: var(--tblr-font-weight-medium); + line-height: 1.25rem; +} + +.col-form-label-lg { + padding-top: calc(0.6875rem + var(--tblr-border-width)); + padding-bottom: calc(0.6875rem + var(--tblr-border-width)); + font-size: 1rem; +} + +.col-form-label-sm { + padding-top: calc(0.3125rem + var(--tblr-border-width)); + padding-bottom: calc(0.3125rem + var(--tblr-border-width)); + font-size: 0.75rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--tblr-secondary-color); +} + +.form-control { + display: block; + width: 100%; + padding: 0.5625rem 1rem; + font-family: var(--tblr-body-font-family); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.25rem; + color: var(--tblr-body-color); + -webkit-appearance: none; + appearance: none; + background-color: var(--tblr-bg-forms); + background-clip: padding-box; + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-control { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-control { + box-shadow: var(--tblr-shadow-input); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: var(--tblr-body-color); + background-color: var(--tblr-bg-forms); + border-color: rgb(130.5, 183, 232); + outline: 0; + box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.form-control::-webkit-date-and-time-value { + min-width: 85px; + height: 1.25rem; + margin: 0; +} +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} +.form-control::placeholder { + color: var(--tblr-tertiary); + opacity: 1; +} +.form-control:disabled { + background-color: var(--tblr-bg-surface-secondary); + opacity: 1; +} +.form-control::file-selector-button { + padding: 0.5625rem 1rem; + margin: -0.5625rem -1rem; + margin-inline-end: 1rem; + color: var(--tblr-body-color); + background-color: var(--tblr-tertiary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--tblr-border-width); + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--tblr-secondary-bg); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.5625rem 0; + margin-bottom: 0; + line-height: 1.25rem; + color: var(--tblr-body-color); + background-color: transparent; + border: solid transparent; + border-width: var(--tblr-border-width) 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.25rem + 0.625rem + calc(var(--tblr-border-width) * 2)); + padding: 0.3125rem 0.5rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} +@supports (corner-shape: squircle) { + .form-control-sm { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important; + } +} +.form-control-sm::file-selector-button { + padding: 0.3125rem 0.5rem; + margin: -0.3125rem -0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2)); + padding: 0.6875rem 1.5rem; + font-size: 1rem; + border-radius: var(--tblr-border-radius-lg); +} +@supports (corner-shape: squircle) { + .form-control-lg { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important; + } +} +.form-control-lg::file-selector-button { + padding: 0.6875rem 1.5rem; + margin: -0.6875rem -1.5rem; + margin-inline-end: 1.5rem; +} + +textarea.form-control { + min-height: calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2)); +} +textarea.form-control-sm { + min-height: calc(1.25rem + 0.625rem + calc(var(--tblr-border-width) * 2)); +} +textarea.form-control-lg { + min-height: calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2)); +} + +.form-control-color { + width: 3rem; + height: calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2)); + padding: 0.5625rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-control-color::-moz-color-swatch { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-control-color::-webkit-color-swatch { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-control-color.form-control-sm { + height: calc(1.25rem + 0.625rem + calc(var(--tblr-border-width) * 2)); +} +.form-control-color.form-control-lg { + height: calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2)); +} + +.form-select { + --tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: 0.5625rem 3rem 0.5625rem 1rem; + font-family: var(--tblr-body-font-family); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.25rem; + color: var(--tblr-body-color); + -webkit-appearance: none; + appearance: none; + background-color: var(--tblr-bg-forms); + background-image: var(--tblr-form-select-bg-img), var(--tblr-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: right 1rem center; + background-size: 16px 12px; + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-select { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-select { + box-shadow: var(--tblr-shadow-input); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: rgb(130.5, 183, 232); + outline: 0; + box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 1rem; + background-image: none; +} +.form-select:disabled { + background-color: var(--tblr-bg-surface-secondary); +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 var(--tblr-body-color); +} + +.form-select-sm { + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + padding-left: 0.5rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} +@supports (corner-shape: squircle) { + .form-select-sm { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important; + } +} + +.form-select-lg { + padding-top: 0.6875rem; + padding-bottom: 0.6875rem; + padding-left: 1.5rem; + font-size: 1rem; + border-radius: var(--tblr-border-radius-lg); +} +@supports (corner-shape: squircle) { + .form-select-lg { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important; + } +} + +[data-bs-theme=dark] .form-select, body[data-bs-theme=dark] [data-bs-theme=light] .form-select, +body[data-theme=dark] [data-theme=light] .form-select, +[data-theme=dark] .form-select { + --tblr-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e5e7eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} + +.form-check { + display: block; + min-height: 1.25rem; + padding-left: 2rem; + margin-bottom: 0.75rem; +} +.form-check .form-check-input { + float: left; + margin-left: -2rem; +} + +.form-check-reverse { + padding-right: 2rem; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -2rem; + margin-left: 0; +} + +.form-check-input { + --tblr-form-check-bg: var(--tblr-bg-forms); + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + margin-top: 0.0892857143rem; + vertical-align: top; + -webkit-appearance: none; + appearance: none; + background-color: var(--tblr-form-check-bg); + background-image: var(--tblr-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + -webkit-print-color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-check-input[type=checkbox] { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: rgb(130.5, 183, 232); + outline: 0; + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.form-check-input:checked { + background-color: var(--tblr-primary); + border-color: var(--tblr-border-color-translucent); +} +.form-check-input:checked[type=checkbox] { + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: var(--tblr-primary); + border-color: var(--tblr-primary); + --tblr-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.7; +} + +.form-switch { + padding-left: 2.5rem; +} +.form-switch .form-check-input { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e"); + width: 2rem; + margin-left: -2.5rem; + background-image: var(--tblr-form-switch-bg); + background-position: left center; + border-radius: 2rem; +} +@supports (corner-shape: squircle) { + .form-switch .form-check-input { + corner-shape: squircle; + border-radius: calc(2rem * 2.5) !important; + } +} +.form-switch .form-check-input { + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-right: 2.5rem; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5rem; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.4; +} + +[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus), +[data-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) { + --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); +} + +.form-range { + width: 100%; + height: 1.25rem; + padding: 0; + -webkit-appearance: none; + appearance: none; + background-color: transparent; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.375rem; + -webkit-appearance: none; + appearance: none; + background-color: var(--tblr-primary); + border: 2px var(--tblr-border-style) #ffffff; + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + .form-range::-webkit-slider-thumb { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} +.form-range::-webkit-slider-thumb { + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: rgb(180.3, 211.8, 241.2); +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.25rem; + color: transparent; + cursor: pointer; + background-color: var(--tblr-border-color); + border-color: transparent; + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + .form-range::-webkit-slider-runnable-track { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} +.form-range::-webkit-slider-runnable-track { + box-shadow: var(--tblr-box-shadow-inset); +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + appearance: none; + background-color: var(--tblr-primary); + border: 2px var(--tblr-border-style) #ffffff; + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + .form-range::-moz-range-thumb { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} +.form-range::-moz-range-thumb { + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: rgb(180.3, 211.8, 241.2); +} +.form-range::-moz-range-track { + width: 100%; + height: 0.25rem; + color: transparent; + cursor: pointer; + background-color: var(--tblr-border-color); + border-color: transparent; + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + .form-range::-moz-range-track { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} +.form-range::-moz-range-track { + box-shadow: var(--tblr-box-shadow-inset); +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--tblr-secondary-color); +} +.form-range:disabled::-moz-range-thumb { + background-color: var(--tblr-secondary-color); +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--tblr-border-width) * 2)); + min-height: calc(3.5rem + calc(var(--tblr-border-width) * 2)); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + z-index: 2; + max-width: 100%; + height: 100%; + padding: 1rem 1rem; + overflow: hidden; + color: rgba(var(--tblr-body-color-rgb), 0.65); + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: var(--tblr-border-width) solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 1rem; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; + padding-left: 1rem; +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > textarea:focus ~ label::after, +.form-floating > textarea:not(:placeholder-shown) ~ label::after { + position: absolute; + inset: 1rem 0.5rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--tblr-bg-forms); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-floating > textarea:focus ~ label::after, + .form-floating > textarea:not(:placeholder-shown) ~ label::after { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-floating > textarea:disabled ~ label::after { + background-color: var(--tblr-bg-surface-secondary); +} +.form-floating > .form-control-plaintext ~ label { + border-width: var(--tblr-border-width) 0; +} +.form-floating > :disabled ~ label, +.form-floating > .form-control:disabled ~ label { + color: #4b5563; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.5625rem 1rem; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.25rem; + color: var(--tblr-gray-500); + text-align: center; + white-space: nowrap; + background-color: var(--tblr-bg-surface-secondary); + border: var(--tblr-border-width) solid var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .input-group-text { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.6875rem 1.5rem; + font-size: 1rem; + border-radius: var(--tblr-border-radius-lg); +} +@supports (corner-shape: squircle) { + .input-group-lg > .form-control, + .input-group-lg > .form-select, + .input-group-lg > .input-group-text, + .input-group-lg > .btn { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important; + } +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.3125rem 0.5rem; + font-size: 0.75rem; + border-radius: var(--tblr-border-radius-sm); +} +@supports (corner-shape: squircle) { + .input-group-sm > .form-control, + .input-group-sm > .form-select, + .input-group-sm > .input-group-text, + .input-group-sm > .btn { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important; + } +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 4rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: calc(-1 * var(--tblr-border-width)); + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--tblr-form-valid-color); +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: var(--tblr-spacer-1) var(--tblr-spacer-2); + margin-top: 0.1rem; + font-size: 0.765625rem; + color: #fff; + background-color: var(--tblr-success); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .valid-tooltip { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: var(--tblr-form-valid-border-color); + padding-right: 2.375rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 1.53125rem center; + background-size: 1.8125rem 1.8125rem; +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: var(--tblr-form-valid-border-color); + box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-success) 25%, transparent); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: 2.375rem; + background-position: top 1.53125rem right 1.53125rem; +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: var(--tblr-form-valid-border-color); +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + --tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e"); + padding-right: 5.5rem; + background-position: right 1rem center, center right 3rem; + background-size: 16px 12px, 1.8125rem 1.8125rem; +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: var(--tblr-form-valid-border-color); + box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-success) 25%, transparent); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: 5.375rem; +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: var(--tblr-form-valid-border-color); +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: var(--tblr-form-valid-color); +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-success) 25%, transparent); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: var(--tblr-form-valid-color); +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: var(--tblr-form-invalid-color); +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: var(--tblr-spacer-1) var(--tblr-spacer-2); + margin-top: 0.1rem; + font-size: 0.765625rem; + color: #fff; + background-color: var(--tblr-danger); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .invalid-tooltip { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: var(--tblr-form-invalid-border-color); + padding-right: 2.375rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 1.53125rem center; + background-size: 1.8125rem 1.8125rem; +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: var(--tblr-form-invalid-border-color); + box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-danger) 25%, transparent); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: 2.375rem; + background-position: top 1.53125rem right 1.53125rem; +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: var(--tblr-form-invalid-border-color); +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + --tblr-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); + padding-right: 5.5rem; + background-position: right 1rem center, center right 3rem; + background-size: 16px 12px, 1.8125rem 1.8125rem; +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: var(--tblr-form-invalid-border-color); + box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-danger) 25%, transparent); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: 5.375rem; +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: var(--tblr-form-invalid-border-color); +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: var(--tblr-form-invalid-color); +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-danger) 25%, transparent); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: var(--tblr-form-invalid-color); +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --tblr-btn-padding-x: 1rem; + --tblr-btn-padding-y: 0.5625rem; + --tblr-btn-font-family: var(--tblr-body-font-family); + --tblr-btn-font-size: 0.875rem; + --tblr-btn-font-weight: var(--tblr-font-weight-medium); + --tblr-btn-line-height: 1.25rem; + --tblr-btn-color: var(--tblr-body-color); + --tblr-btn-bg: transparent; + --tblr-btn-border-width: var(--tblr-border-width); + --tblr-btn-border-color: transparent; + --tblr-btn-border-radius: var(--tblr-border-radius); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-box-shadow: var(--tblr-shadow-input); + --tblr-btn-disabled-opacity: 0.4; + --tblr-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--tblr-btn-padding-y) var(--tblr-btn-padding-x); + font-family: var(--tblr-btn-font-family); + font-size: var(--tblr-btn-font-size); + font-weight: var(--tblr-btn-font-weight); + line-height: var(--tblr-btn-line-height); + color: var(--tblr-btn-color); + text-align: center; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + border: var(--tblr-btn-border-width) solid var(--tblr-btn-border-color); + border-radius: var(--tblr-btn-border-radius); +} +@supports (corner-shape: squircle) { + .btn { + corner-shape: squircle; + border-radius: calc(var(--tblr-btn-border-radius) * 2.5) !important; + } +} +.btn { + background-color: var(--tblr-btn-bg); + box-shadow: var(--tblr-btn-box-shadow); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--tblr-btn-hover-color); + text-decoration: none; + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--tblr-btn-color); + background-color: var(--tblr-btn-bg); + border-color: var(--tblr-btn-border-color); +} +.btn:focus-visible { + color: var(--tblr-btn-hover-color); + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); + outline: 0; + box-shadow: var(--tblr-btn-box-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--tblr-btn-hover-border-color); + outline: 0; + box-shadow: var(--tblr-btn-box-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--tblr-btn-active-color); + background-color: var(--tblr-btn-active-bg); + border-color: var(--tblr-btn-active-border-color); + box-shadow: var(--tblr-btn-active-shadow); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--tblr-btn-active-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn-check:checked:focus-visible + .btn { + box-shadow: var(--tblr-btn-active-shadow), var(--tblr-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--tblr-btn-disabled-color); + pointer-events: none; + background-color: var(--tblr-btn-disabled-bg); + border-color: var(--tblr-btn-disabled-border-color); + opacity: var(--tblr-btn-disabled-opacity); + box-shadow: none; +} + +.btn-link { + --tblr-btn-font-weight: 400; + --tblr-btn-color: var(--tblr-link-color); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-link-hover-color); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-color: var(--tblr-link-hover-color); + --tblr-btn-active-border-color: transparent; + --tblr-btn-disabled-color: #4b5563; + --tblr-btn-disabled-border-color: transparent; + --tblr-btn-box-shadow: 0 0 0 #000; + --tblr-btn-focus-shadow-rgb: 43.35, 132.6, 215.9; + text-decoration: none; +} +.btn-link:hover, .btn-link:focus-visible { + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--tblr-btn-color); +} +.btn-link:hover { + color: var(--tblr-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --tblr-btn-padding-y: 0.6875rem; + --tblr-btn-padding-x: 1.5rem; + --tblr-btn-font-size: 1rem; + --tblr-btn-border-radius: var(--tblr-border-radius-lg); +} + +.btn-sm, .btn-group-sm > .btn { + --tblr-btn-padding-y: 0.3125rem; + --tblr-btn-padding-x: 0.5rem; + --tblr-btn-font-size: 0.75rem; + --tblr-btn-border-radius: var(--tblr-border-radius-sm); +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.255em; + width: 0.3em; + height: 0.3em; + border-bottom: 1px var(--tblr-border-style); + border-inline-start: 1px var(--tblr-border-style); + margin-inline-end: 0.1em; + margin-inline-start: 0.255em; + transform: rotate(-45deg); +} + +.dropdown-menu { + --tblr-dropdown-zindex: 1000; + --tblr-dropdown-min-width: 11rem; + --tblr-dropdown-padding-x: 0; + --tblr-dropdown-padding-y: 0.25rem; + --tblr-dropdown-spacer: 1px; + --tblr-dropdown-font-size: 0.875rem; + --tblr-dropdown-color: var(--tblr-body-color); + --tblr-dropdown-bg: var(--tblr-bg-surface); + --tblr-dropdown-border-color: var(--tblr-border-color-translucent); + --tblr-dropdown-border-radius: var(--tblr-border-radius); + --tblr-dropdown-border-width: var(--tblr-border-width); + --tblr-dropdown-inner-border-radius: calc(var(--tblr-border-radius) - var(--tblr-border-width)); + --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); + --tblr-dropdown-divider-margin-y: var(--tblr-spacer-2); + --tblr-dropdown-box-shadow: var(--tblr-shadow-dropdown); + --tblr-dropdown-link-color: inherit; + --tblr-dropdown-link-hover-color: inherit; + --tblr-dropdown-link-hover-bg: color-mix(in srgb, var(--tblr-secondary) 8%, transparent); + --tblr-dropdown-link-active-color: var(--tblr-primary); + --tblr-dropdown-link-active-bg: var(--tblr-active-bg); + --tblr-dropdown-link-disabled-color: var(--tblr-tertiary-color); + --tblr-dropdown-item-padding-x: 0.75rem; + --tblr-dropdown-item-padding-y: 0.5rem; + --tblr-dropdown-header-color: #4b5563; + --tblr-dropdown-header-padding-x: 0.75rem; + --tblr-dropdown-header-padding-y: 0.25rem; + position: absolute; + z-index: var(--tblr-dropdown-zindex); + display: none; + min-width: var(--tblr-dropdown-min-width); + padding: var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x); + margin: 0; + font-size: var(--tblr-dropdown-font-size); + color: var(--tblr-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--tblr-dropdown-bg); + background-clip: padding-box; + border: var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color); + border-radius: var(--tblr-dropdown-border-radius); +} +@supports (corner-shape: squircle) { + .dropdown-menu { + corner-shape: squircle; + border-radius: calc(var(--tblr-dropdown-border-radius) * 2.5) !important; + } +} +.dropdown-menu { + box-shadow: var(--tblr-dropdown-box-shadow); +} +.dropdown-menu[data-bs-popper], .dropdown-menu[data-tblr-popper] { + top: 100%; + left: 0; + margin-top: var(--tblr-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper], .dropdown-menu-start[data-tblr-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper], .dropdown-menu-end[data-tblr-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper], .dropdown-menu-sm-start[data-tblr-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper], .dropdown-menu-sm-end[data-tblr-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper], .dropdown-menu-md-start[data-tblr-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper], .dropdown-menu-md-end[data-tblr-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper], .dropdown-menu-lg-start[data-tblr-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper], .dropdown-menu-lg-end[data-tblr-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper], .dropdown-menu-xl-start[data-tblr-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper], .dropdown-menu-xl-end[data-tblr-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper], .dropdown-menu-xxl-start[data-tblr-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper], .dropdown-menu-xxl-end[data-tblr-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper], +.dropup .dropdown-menu[data-tblr-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--tblr-dropdown-spacer); +} +.dropup .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.255em; + width: 0.3em; + height: 0.3em; + border-bottom: 1px var(--tblr-border-style); + border-inline-start: 1px var(--tblr-border-style); + margin-inline-end: 0.1em; + margin-inline-start: 0.255em; + transform: rotate(135deg); +} + +.dropend .dropdown-menu[data-bs-popper], +.dropend .dropdown-menu[data-tblr-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--tblr-dropdown-spacer); +} +.dropend .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.255em; + width: 0.3em; + height: 0.3em; + border-bottom: 1px var(--tblr-border-style); + border-inline-start: 1px var(--tblr-border-style); + margin-inline-end: 0.1em; + margin-inline-start: 0.255em; + transform: rotate(-135deg); +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper], +.dropstart .dropdown-menu[data-tblr-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--tblr-dropdown-spacer); +} +.dropstart .dropdown-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.255em; + width: 0.3em; + height: 0.3em; + border-bottom: 1px var(--tblr-border-style); + border-inline-start: 1px var(--tblr-border-style); + margin-inline-end: 0.1em; + margin-inline-start: 0.255em; + transform: rotate(45deg); +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--tblr-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--tblr-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--tblr-dropdown-link-color); + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--tblr-dropdown-item-border-radius, 0); +} +@supports (corner-shape: squircle) { + .dropdown-item { + corner-shape: squircle; + border-radius: calc(var(--tblr-dropdown-item-border-radius, 0) * 2.5) !important; + } +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--tblr-dropdown-link-hover-color); + text-decoration: none; + background-color: var(--tblr-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--tblr-dropdown-link-active-color); + text-decoration: none; + background-color: var(--tblr-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--tblr-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.765625rem; + color: var(--tblr-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x); + color: var(--tblr-dropdown-link-color); +} + +.dropdown-menu-dark { + --tblr-dropdown-color: #d1d5db; + --tblr-dropdown-bg: #1f2937; + --tblr-dropdown-border-color: var(--tblr-border-color-translucent); + --tblr-dropdown-box-shadow: ; + --tblr-dropdown-link-color: #d1d5db; + --tblr-dropdown-link-hover-color: #ffffff; + --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent); + --tblr-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --tblr-dropdown-link-active-color: var(--tblr-primary); + --tblr-dropdown-link-active-bg: var(--tblr-active-bg); + --tblr-dropdown-link-disabled-color: #6b7280; + --tblr-dropdown-header-color: #6b7280; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .btn-group { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: calc(-1 * var(--tblr-border-width)); +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 1.125rem; + padding-left: 1.125rem; +} + +.btn-group.show .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: calc(-1 * var(--tblr-border-width)); +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:nth-child(n+3), +.btn-group-vertical > :not(.btn-check) + .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + --tblr-nav-link-padding-x: 0.75rem; + --tblr-nav-link-padding-y: 0.5rem; + --tblr-nav-link-font-weight: ; + --tblr-nav-link-color: var(--tblr-gray-500); + --tblr-nav-link-hover-color: var(--tblr-link-hover-color); + --tblr-nav-link-disabled-color: var(--tblr-disabled-color); + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x); + font-size: var(--tblr-nav-link-font-size); + font-weight: var(--tblr-nav-link-font-weight); + color: var(--tblr-nav-link-color); + background: none; + border: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: var(--tblr-nav-link-hover-color); + text-decoration: none; +} +.nav-link:focus-visible { + outline: 0; + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.nav-link.disabled, .nav-link:disabled { + color: var(--tblr-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --tblr-nav-tabs-border-width: var(--tblr-border-width); + --tblr-nav-tabs-border-color: var(--tblr-border-color); + --tblr-nav-tabs-border-radius: var(--tblr-border-radius); + --tblr-nav-tabs-link-hover-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); + --tblr-nav-tabs-link-active-color: var(--tblr-body-color); + --tblr-nav-tabs-link-active-bg: var(--tblr-body-bg); + --tblr-nav-tabs-link-active-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color); + border-bottom: var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--tblr-nav-tabs-border-width)); + border: var(--tblr-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--tblr-nav-tabs-border-radius); + border-top-right-radius: var(--tblr-nav-tabs-border-radius); +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--tblr-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--tblr-nav-tabs-link-active-color); + background-color: var(--tblr-nav-tabs-link-active-bg); + border-color: var(--tblr-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--tblr-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --tblr-nav-pills-border-radius: var(--tblr-border-radius); + --tblr-nav-pills-link-active-color: var(--tblr-primary); + --tblr-nav-pills-link-active-bg: var(--tblr-active-bg); +} +.nav-pills .nav-link { + border-radius: var(--tblr-nav-pills-border-radius); +} +@supports (corner-shape: squircle) { + .nav-pills .nav-link { + corner-shape: squircle; + border-radius: calc(var(--tblr-nav-pills-border-radius) * 2.5) !important; + } +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--tblr-nav-pills-link-active-color); + background-color: var(--tblr-nav-pills-link-active-bg); +} + +.nav-underline { + --tblr-nav-underline-gap: 1rem; + --tblr-nav-underline-border-width: 0.125rem; + --tblr-nav-underline-link-active-color: var(--tblr-emphasis-color); + gap: var(--tblr-nav-underline-gap); +} +.nav-underline .nav-link { + padding-right: 0; + padding-left: 0; + border-bottom: var(--tblr-nav-underline-border-width) solid transparent; +} +.nav-underline .nav-link:hover, .nav-underline .nav-link:focus { + border-bottom-color: currentcolor; +} +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + font-weight: 700; + color: var(--tblr-nav-underline-link-active-color); + border-bottom-color: currentcolor; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-grow: 1; + flex-basis: 0; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + --tblr-navbar-padding-x: 0; + --tblr-navbar-padding-y: 0.25rem; + --tblr-navbar-color: var(--tblr-body-color); + --tblr-navbar-hover-color: var(--tblr-body-color); + --tblr-navbar-disabled-color: var(--tblr-disabled-color); + --tblr-navbar-active-color: var(--tblr-body-color); + --tblr-navbar-brand-padding-y: 0.5rem; + --tblr-navbar-brand-margin-end: 1rem; + --tblr-navbar-brand-font-size: 1.25rem; + --tblr-navbar-brand-color: var(--tblr-body-color); + --tblr-navbar-brand-hover-color: var(--tblr-body-color); + --tblr-navbar-nav-link-padding-x: 0.75rem; + --tblr-navbar-toggler-padding-y: 0.25rem; + --tblr-navbar-toggler-padding-x: 0.75rem; + --tblr-navbar-toggler-font-size: 1rem; + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='color-mix%28in srgb, var%28--tblr-body-color%29 75%, transparent%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --tblr-navbar-toggler-border-color: color-mix(in srgb, var(--tblr-emphasis-color) 15%, transparent); + --tblr-navbar-toggler-border-radius: var(--tblr-border-radius); + --tblr-navbar-toggler-focus-width: 0; + --tblr-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--tblr-navbar-brand-padding-y); + padding-bottom: var(--tblr-navbar-brand-padding-y); + margin-right: var(--tblr-navbar-brand-margin-end); + font-size: var(--tblr-navbar-brand-font-size); + color: var(--tblr-navbar-brand-color); + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + color: var(--tblr-navbar-brand-hover-color); + text-decoration: none; +} + +.navbar-nav { + --tblr-nav-link-padding-x: 0; + --tblr-nav-link-padding-y: 0.5rem; + --tblr-nav-link-font-weight: ; + --tblr-nav-link-color: var(--tblr-navbar-color); + --tblr-nav-link-hover-color: var(--tblr-navbar-hover-color); + --tblr-nav-link-disabled-color: var(--tblr-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link.active, .navbar-nav .nav-link.show { + color: var(--tblr-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--tblr-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--tblr-navbar-active-color); +} + +.navbar-collapse { + flex-grow: 1; + flex-basis: 100%; + align-items: center; +} + +.navbar-toggler { + padding: var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x); + font-size: var(--tblr-navbar-toggler-font-size); + line-height: 1; + color: var(--tblr-navbar-color); + background-color: transparent; + border: var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color); + border-radius: var(--tblr-navbar-toggler-border-radius); +} +@supports (corner-shape: squircle) { + .navbar-toggler { + corner-shape: squircle; + border-radius: calc(var(--tblr-navbar-toggler-border-radius) * 2.5) !important; + } +} +.navbar-toggler { + transition: var(--tblr-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--tblr-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--tblr-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--tblr-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--tblr-navbar-nav-link-padding-x); + padding-left: var(--tblr-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + box-shadow: none; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark, +.navbar[data-bs-theme=dark], +body[data-bs-theme=dark] .navbar[data-bs-theme=light], +body[data-theme=dark] .navbar[data-theme=light], +.navbar[data-theme=dark] { + --tblr-navbar-color: rgba(255, 255, 255, 0.7); + --tblr-navbar-hover-color: rgba(255, 255, 255, 0.75); + --tblr-navbar-disabled-color: var(--tblr-disabled-color); + --tblr-navbar-active-color: #ffffff; + --tblr-navbar-brand-color: #ffffff; + --tblr-navbar-brand-hover-color: #ffffff; + --tblr-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +[data-bs-theme=dark] .navbar-toggler-icon, body[data-bs-theme=dark] [data-bs-theme=light] .navbar-toggler-icon, +body[data-theme=dark] [data-theme=light] .navbar-toggler-icon, +[data-theme=dark] .navbar-toggler-icon { + --tblr-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --tblr-card-spacer-y: 1.25rem; + --tblr-card-spacer-x: 1.25rem; + --tblr-card-title-spacer-y: 1.25rem; + --tblr-card-title-color: ; + --tblr-card-subtitle-color: ; + --tblr-card-border-width: var(--tblr-border-width); + --tblr-card-border-color: var(--tblr-border-color-translucent); + --tblr-card-border-radius: var(--tblr-border-radius-lg); + --tblr-card-box-shadow: var(--tblr-shadow-card); + --tblr-card-inner-border-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width))); + --tblr-card-cap-padding-y: 1.25rem; + --tblr-card-cap-padding-x: 1.25rem; + --tblr-card-cap-bg: var(--tblr-bg-surface-tertiary); + --tblr-card-cap-color: inherit; + --tblr-card-height: ; + --tblr-card-color: inherit; + --tblr-card-bg: var(--tblr-bg-surface); + --tblr-card-img-overlay-padding: 1rem; + --tblr-card-group-margin: 1.5rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--tblr-card-height); + color: var(--tblr-body-color); + word-wrap: break-word; + background-color: var(--tblr-card-bg); + background-clip: border-box; + border: var(--tblr-card-border-width) solid var(--tblr-card-border-color); + border-radius: var(--tblr-card-border-radius); +} +@supports (corner-shape: squircle) { + .card { + corner-shape: squircle; + border-radius: calc(var(--tblr-card-border-radius) * 2.5) !important; + } +} +.card { + box-shadow: var(--tblr-card-box-shadow); +} +.card > hr, .card > .hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--tblr-card-inner-border-radius); + border-top-right-radius: var(--tblr-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--tblr-card-inner-border-radius); + border-bottom-left-radius: var(--tblr-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--tblr-card-spacer-y) var(--tblr-card-spacer-x); + color: var(--tblr-card-color); +} + +.card-title { + margin-bottom: var(--tblr-card-title-spacer-y); + color: var(--tblr-card-title-color); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--tblr-card-title-spacer-y)); + margin-bottom: 0; + color: var(--tblr-card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} +.card-link + .card-link { + margin-left: var(--tblr-card-spacer-x); +} + +.card-header { + padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); + margin-bottom: 0; + color: var(--tblr-card-cap-color); + background-color: var(--tblr-card-cap-bg); + border-bottom: var(--tblr-card-border-width) solid var(--tblr-card-border-color); +} +.card-header:first-child { + border-radius: var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0; +} +@supports (corner-shape: squircle) { + .card-header:first-child { + corner-shape: squircle; + border-radius: calc(var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0 * 2.5) !important; + } +} + +.card-footer { + padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x); + color: var(--tblr-card-cap-color); + background-color: var(--tblr-card-cap-bg); + border-top: var(--tblr-card-border-width) solid var(--tblr-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius); +} +@supports (corner-shape: squircle) { + .card-footer:last-child { + corner-shape: squircle; + border-radius: calc(0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) * 2.5) !important; + } +} + +.card-header-tabs { + margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--tblr-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--tblr-card-bg); + border-bottom-color: var(--tblr-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--tblr-card-img-overlay-padding); + border-radius: var(--tblr-card-inner-border-radius); +} +@supports (corner-shape: squircle) { + .card-img-overlay { + corner-shape: squircle; + border-radius: calc(var(--tblr-card-inner-border-radius) * 2.5) !important; + } +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--tblr-card-inner-border-radius); + border-top-right-radius: var(--tblr-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--tblr-card-inner-border-radius); + border-bottom-left-radius: var(--tblr-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--tblr-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) > .card-img-top, + .card-group > .card:not(:last-child) > .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) > .card-img-bottom, + .card-group > .card:not(:last-child) > .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) > .card-img-top, + .card-group > .card:not(:first-child) > .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) > .card-img-bottom, + .card-group > .card:not(:first-child) > .card-footer { + border-bottom-left-radius: 0; + } +} + +.pagination { + --tblr-pagination-padding-x: 0.25rem; + --tblr-pagination-padding-y: calc(0.25rem + 1px); + --tblr-pagination-font-size: 0.875rem; + --tblr-pagination-color: var(--tblr-body-color); + --tblr-pagination-bg: transparent; + --tblr-pagination-border-width: 1px; + --tblr-pagination-border-color: transparent; + --tblr-pagination-border-radius: var(--tblr-border-radius); + --tblr-pagination-hover-color: var(--tblr-link-hover-color); + --tblr-pagination-hover-bg: var(--tblr-active-bg); + --tblr-pagination-hover-border-color: var(--tblr-pagination-border-color); + --tblr-pagination-focus-color: var(--tblr-link-hover-color); + --tblr-pagination-focus-bg: var(--tblr-secondary-bg); + --tblr-pagination-focus-box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); + --tblr-pagination-active-color: #ffffff; + --tblr-pagination-active-bg: var(--tblr-primary); + --tblr-pagination-active-border-color: var(--tblr-primary); + --tblr-pagination-disabled-color: var(--tblr-disabled-color); + --tblr-pagination-disabled-bg: transparent; + --tblr-pagination-disabled-border-color: var(--tblr-pagination-border-color); + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x); + font-size: var(--tblr-pagination-font-size); + color: var(--tblr-pagination-color); + background-color: var(--tblr-pagination-bg); + border: var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--tblr-pagination-hover-color); + text-decoration: none; + background-color: var(--tblr-pagination-hover-bg); + border-color: var(--tblr-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--tblr-pagination-focus-color); + background-color: var(--tblr-pagination-focus-bg); + outline: 0; + box-shadow: var(--tblr-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--tblr-pagination-active-color); + background-color: var(--tblr-pagination-active-bg); + border-color: var(--tblr-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--tblr-pagination-disabled-color); + pointer-events: none; + background-color: var(--tblr-pagination-disabled-bg); + border-color: var(--tblr-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: calc(-1 * 1px); +} +.page-item:first-child .page-link { + border-top-left-radius: var(--tblr-pagination-border-radius); + border-bottom-left-radius: var(--tblr-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--tblr-pagination-border-radius); + border-bottom-right-radius: var(--tblr-pagination-border-radius); +} + +.pagination-lg { + --tblr-pagination-padding-x: 1.5rem; + --tblr-pagination-padding-y: 0.75rem; + --tblr-pagination-font-size: 1.09375rem; + --tblr-pagination-border-radius: var(--tblr-border-radius-lg); +} + +.pagination-sm { + --tblr-pagination-padding-x: 0.5rem; + --tblr-pagination-padding-y: 0.25rem; + --tblr-pagination-font-size: 0.765625rem; + --tblr-pagination-border-radius: var(--tblr-border-radius-sm); +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: var(--tblr-progress-height); + } +} +.progress, +.progress-stacked { + --tblr-progress-height: 0.5rem; + --tblr-progress-font-size: 0.65625rem; + --tblr-progress-bg: var(--tblr-border-color); + --tblr-progress-border-radius: var(--tblr-border-radius); + --tblr-progress-box-shadow: var(--tblr-box-shadow-inset); + --tblr-progress-bar-color: #ffffff; + --tblr-progress-bar-bg: var(--tblr-primary); + --tblr-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--tblr-progress-height); + overflow: hidden; + font-size: var(--tblr-progress-font-size); + background-color: var(--tblr-progress-bg); + border-radius: var(--tblr-progress-border-radius); +} +@supports (corner-shape: squircle) { + .progress, + .progress-stacked { + corner-shape: squircle; + border-radius: calc(var(--tblr-progress-border-radius) * 2.5) !important; + } +} +.progress, +.progress-stacked { + box-shadow: var(--tblr-progress-box-shadow); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--tblr-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--tblr-progress-bar-bg); + transition: var(--tblr-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--tblr-progress-height) var(--tblr-progress-height); +} + +.progress-stacked > .progress { + overflow: visible; +} + +.progress-stacked > .progress > .progress-bar { + width: 100%; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + --tblr-list-group-color: var(--tblr-body-color); + --tblr-list-group-bg: inherit; + --tblr-list-group-border-color: var(--tblr-border-color); + --tblr-list-group-border-width: var(--tblr-border-width); + --tblr-list-group-border-radius: var(--tblr-border-radius); + --tblr-list-group-item-padding-x: 1.25rem; + --tblr-list-group-item-padding-y: 1.25rem; + --tblr-list-group-action-color: inherit; + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: color-mix(in srgb, var(--tblr-secondary) 8%, transparent); + --tblr-list-group-action-active-color: var(--tblr-body-color); + --tblr-list-group-action-active-bg: var(--tblr-secondary-bg); + --tblr-list-group-disabled-color: var(--tblr-secondary-color); + --tblr-list-group-disabled-bg: inherit; + --tblr-list-group-active-color: inherit; + --tblr-list-group-active-bg: var(--tblr-active-bg); + --tblr-list-group-active-border-color: var(--tblr-border-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--tblr-list-group-border-radius); +} +@supports (corner-shape: squircle) { + .list-group { + corner-shape: squircle; + border-radius: calc(var(--tblr-list-group-border-radius) * 2.5) !important; + } +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item { + position: relative; + display: block; + padding: var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x); + color: var(--tblr-list-group-color); + background-color: var(--tblr-list-group-bg); + border: var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: var(--tblr-list-group-disabled-color); + pointer-events: none; + background-color: var(--tblr-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--tblr-list-group-active-color); + background-color: var(--tblr-list-group-active-bg); + border-color: var(--tblr-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--tblr-list-group-border-width)); + border-top-width: var(--tblr-list-group-border-width); +} + +.list-group-item-action { + width: 100%; + color: var(--tblr-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus { + z-index: 1; + color: var(--tblr-list-group-action-hover-color); + text-decoration: none; + background-color: var(--tblr-list-group-action-hover-bg); +} +.list-group-item-action:not(.active):active { + color: var(--tblr-list-group-action-active-color); + background-color: var(--tblr-list-group-action-active-bg); +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--tblr-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--tblr-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--tblr-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--tblr-list-group-border-width)); + border-left-width: var(--tblr-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--tblr-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + --tblr-list-group-color: var(--tblr-primary-text-emphasis); + --tblr-list-group-bg: var(--tblr-primary-bg-subtle); + --tblr-list-group-border-color: var(--tblr-primary-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-primary-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-primary-border-subtle); + --tblr-list-group-active-color: var(--tblr-primary-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-primary-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-primary-text-emphasis); +} + +.list-group-item-secondary { + --tblr-list-group-color: var(--tblr-secondary-text-emphasis); + --tblr-list-group-bg: var(--tblr-secondary-bg-subtle); + --tblr-list-group-border-color: var(--tblr-secondary-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-secondary-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-secondary-border-subtle); + --tblr-list-group-active-color: var(--tblr-secondary-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-secondary-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-secondary-text-emphasis); +} + +.list-group-item-success { + --tblr-list-group-color: var(--tblr-success-text-emphasis); + --tblr-list-group-bg: var(--tblr-success-bg-subtle); + --tblr-list-group-border-color: var(--tblr-success-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-success-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-success-border-subtle); + --tblr-list-group-active-color: var(--tblr-success-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-success-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-success-text-emphasis); +} + +.list-group-item-info { + --tblr-list-group-color: var(--tblr-info-text-emphasis); + --tblr-list-group-bg: var(--tblr-info-bg-subtle); + --tblr-list-group-border-color: var(--tblr-info-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-info-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-info-border-subtle); + --tblr-list-group-active-color: var(--tblr-info-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-info-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-info-text-emphasis); +} + +.list-group-item-warning { + --tblr-list-group-color: var(--tblr-warning-text-emphasis); + --tblr-list-group-bg: var(--tblr-warning-bg-subtle); + --tblr-list-group-border-color: var(--tblr-warning-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-warning-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-warning-border-subtle); + --tblr-list-group-active-color: var(--tblr-warning-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-warning-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-warning-text-emphasis); +} + +.list-group-item-danger { + --tblr-list-group-color: var(--tblr-danger-text-emphasis); + --tblr-list-group-bg: var(--tblr-danger-bg-subtle); + --tblr-list-group-border-color: var(--tblr-danger-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-danger-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-danger-border-subtle); + --tblr-list-group-active-color: var(--tblr-danger-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-danger-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-danger-text-emphasis); +} + +.list-group-item-light { + --tblr-list-group-color: var(--tblr-light-text-emphasis); + --tblr-list-group-bg: var(--tblr-light-bg-subtle); + --tblr-list-group-border-color: var(--tblr-light-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-light-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-light-border-subtle); + --tblr-list-group-active-color: var(--tblr-light-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-light-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-light-text-emphasis); +} + +.list-group-item-dark { + --tblr-list-group-color: var(--tblr-dark-text-emphasis); + --tblr-list-group-bg: var(--tblr-dark-bg-subtle); + --tblr-list-group-border-color: var(--tblr-dark-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-dark-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-dark-border-subtle); + --tblr-list-group-active-color: var(--tblr-dark-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-dark-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-dark-text-emphasis); +} + +.list-group-item-muted { + --tblr-list-group-color: var(--tblr-muted-text-emphasis); + --tblr-list-group-bg: var(--tblr-muted-bg-subtle); + --tblr-list-group-border-color: var(--tblr-muted-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-muted-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-muted-border-subtle); + --tblr-list-group-active-color: var(--tblr-muted-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-muted-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-muted-text-emphasis); +} + +.list-group-item-blue { + --tblr-list-group-color: var(--tblr-blue-text-emphasis); + --tblr-list-group-bg: var(--tblr-blue-bg-subtle); + --tblr-list-group-border-color: var(--tblr-blue-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-blue-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-blue-border-subtle); + --tblr-list-group-active-color: var(--tblr-blue-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-blue-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-blue-text-emphasis); +} + +.list-group-item-azure { + --tblr-list-group-color: var(--tblr-azure-text-emphasis); + --tblr-list-group-bg: var(--tblr-azure-bg-subtle); + --tblr-list-group-border-color: var(--tblr-azure-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-azure-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-azure-border-subtle); + --tblr-list-group-active-color: var(--tblr-azure-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-azure-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-azure-text-emphasis); +} + +.list-group-item-indigo { + --tblr-list-group-color: var(--tblr-indigo-text-emphasis); + --tblr-list-group-bg: var(--tblr-indigo-bg-subtle); + --tblr-list-group-border-color: var(--tblr-indigo-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-indigo-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-indigo-border-subtle); + --tblr-list-group-active-color: var(--tblr-indigo-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-indigo-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-indigo-text-emphasis); +} + +.list-group-item-purple { + --tblr-list-group-color: var(--tblr-purple-text-emphasis); + --tblr-list-group-bg: var(--tblr-purple-bg-subtle); + --tblr-list-group-border-color: var(--tblr-purple-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-purple-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-purple-border-subtle); + --tblr-list-group-active-color: var(--tblr-purple-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-purple-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-purple-text-emphasis); +} + +.list-group-item-pink { + --tblr-list-group-color: var(--tblr-pink-text-emphasis); + --tblr-list-group-bg: var(--tblr-pink-bg-subtle); + --tblr-list-group-border-color: var(--tblr-pink-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-pink-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-pink-border-subtle); + --tblr-list-group-active-color: var(--tblr-pink-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-pink-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-pink-text-emphasis); +} + +.list-group-item-red { + --tblr-list-group-color: var(--tblr-red-text-emphasis); + --tblr-list-group-bg: var(--tblr-red-bg-subtle); + --tblr-list-group-border-color: var(--tblr-red-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-red-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-red-border-subtle); + --tblr-list-group-active-color: var(--tblr-red-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-red-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-red-text-emphasis); +} + +.list-group-item-orange { + --tblr-list-group-color: var(--tblr-orange-text-emphasis); + --tblr-list-group-bg: var(--tblr-orange-bg-subtle); + --tblr-list-group-border-color: var(--tblr-orange-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-orange-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-orange-border-subtle); + --tblr-list-group-active-color: var(--tblr-orange-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-orange-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-orange-text-emphasis); +} + +.list-group-item-yellow { + --tblr-list-group-color: var(--tblr-yellow-text-emphasis); + --tblr-list-group-bg: var(--tblr-yellow-bg-subtle); + --tblr-list-group-border-color: var(--tblr-yellow-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-yellow-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-yellow-border-subtle); + --tblr-list-group-active-color: var(--tblr-yellow-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-yellow-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-yellow-text-emphasis); +} + +.list-group-item-lime { + --tblr-list-group-color: var(--tblr-lime-text-emphasis); + --tblr-list-group-bg: var(--tblr-lime-bg-subtle); + --tblr-list-group-border-color: var(--tblr-lime-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-lime-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-lime-border-subtle); + --tblr-list-group-active-color: var(--tblr-lime-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-lime-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-lime-text-emphasis); +} + +.list-group-item-green { + --tblr-list-group-color: var(--tblr-green-text-emphasis); + --tblr-list-group-bg: var(--tblr-green-bg-subtle); + --tblr-list-group-border-color: var(--tblr-green-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-green-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-green-border-subtle); + --tblr-list-group-active-color: var(--tblr-green-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-green-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-green-text-emphasis); +} + +.list-group-item-teal { + --tblr-list-group-color: var(--tblr-teal-text-emphasis); + --tblr-list-group-bg: var(--tblr-teal-bg-subtle); + --tblr-list-group-border-color: var(--tblr-teal-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-teal-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-teal-border-subtle); + --tblr-list-group-active-color: var(--tblr-teal-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-teal-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-teal-text-emphasis); +} + +.list-group-item-cyan { + --tblr-list-group-color: var(--tblr-cyan-text-emphasis); + --tblr-list-group-bg: var(--tblr-cyan-bg-subtle); + --tblr-list-group-border-color: var(--tblr-cyan-border-subtle); + --tblr-list-group-action-hover-color: var(--tblr-emphasis-color); + --tblr-list-group-action-hover-bg: var(--tblr-cyan-border-subtle); + --tblr-list-group-action-active-color: var(--tblr-emphasis-color); + --tblr-list-group-action-active-bg: var(--tblr-cyan-border-subtle); + --tblr-list-group-active-color: var(--tblr-cyan-bg-subtle); + --tblr-list-group-active-bg: var(--tblr-cyan-text-emphasis); + --tblr-list-group-active-border-color: var(--tblr-cyan-text-emphasis); +} + +.toast { + --tblr-toast-zindex: 1090; + --tblr-toast-padding-x: 0.75rem; + --tblr-toast-padding-y: 0.5rem; + --tblr-toast-spacing: calc(var(--tblr-page-padding) * 2); + --tblr-toast-max-width: 350px; + --tblr-toast-font-size: 0.875rem; + --tblr-toast-color: ; + --tblr-toast-bg: var(--tblr-bg-surface); + --tblr-toast-border-width: var(--tblr-border-width); + --tblr-toast-border-color: var(--tblr-border-color); + --tblr-toast-border-radius: var(--tblr-border-radius); + --tblr-toast-box-shadow: var(--tblr-box-shadow); + --tblr-toast-header-color: var(--tblr-gray-500); + --tblr-toast-header-bg: color-mix(in srgb, var(--tblr-body-bg) 85%, transparent); + --tblr-toast-header-border-color: var(--tblr-border-color); + width: var(--tblr-toast-max-width); + max-width: 100%; + font-size: var(--tblr-toast-font-size); + color: var(--tblr-toast-color); + pointer-events: auto; + background-color: var(--tblr-toast-bg); + background-clip: padding-box; + border: var(--tblr-toast-border-width) solid var(--tblr-toast-border-color); + box-shadow: var(--tblr-toast-box-shadow); + border-radius: var(--tblr-toast-border-radius); +} +@supports (corner-shape: squircle) { + .toast { + corner-shape: squircle; + border-radius: calc(var(--tblr-toast-border-radius) * 2.5) !important; + } +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --tblr-toast-zindex: 1090; + position: absolute; + z-index: var(--tblr-toast-zindex); + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--tblr-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--tblr-toast-padding-y) var(--tblr-toast-padding-x); + color: var(--tblr-toast-header-color); + background-color: var(--tblr-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color); + border-top-left-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); + border-top-right-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width)); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--tblr-toast-padding-x)); + margin-left: var(--tblr-toast-padding-x); +} + +.toast-body { + padding: var(--tblr-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --tblr-modal-zindex: 1055; + --tblr-modal-width: 540px; + --tblr-modal-padding: 1.5rem; + --tblr-modal-margin: 0.5rem; + --tblr-modal-color: var(--tblr-body-color); + --tblr-modal-bg: var(--tblr-bg-surface); + --tblr-modal-border-color: transparent; + --tblr-modal-border-width: var(--tblr-border-width); + --tblr-modal-border-radius: var(--tblr-border-radius-lg); + --tblr-modal-box-shadow: var(--tblr-box-shadow-sm); + --tblr-modal-inner-border-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width))); + --tblr-modal-header-padding-x: 1.5rem; + --tblr-modal-header-padding-y: 1.5rem; + --tblr-modal-header-padding: 1.5rem; + --tblr-modal-header-border-color: var(--tblr-border-color); + --tblr-modal-header-border-width: var(--tblr-border-width); + --tblr-modal-title-line-height: 1.4285714286; + --tblr-modal-footer-gap: 0.75rem; + --tblr-modal-footer-bg: var(--tblr-bg-surface-tertiary); + --tblr-modal-footer-border-color: var(--tblr-border-color); + --tblr-modal-footer-border-width: var(--tblr-border-width); + position: fixed; + top: 0; + left: 0; + z-index: var(--tblr-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--tblr-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transform: translate(0, -1rem); + transition: transform 0.3s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--tblr-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--tblr-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--tblr-modal-color); + pointer-events: auto; + background-color: var(--tblr-modal-bg); + background-clip: padding-box; + border: var(--tblr-modal-border-width) solid var(--tblr-modal-border-color); + border-radius: var(--tblr-modal-border-radius); +} +@supports (corner-shape: squircle) { + .modal-content { + corner-shape: squircle; + border-radius: calc(var(--tblr-modal-border-radius) * 2.5) !important; + } +} +.modal-content { + box-shadow: var(--tblr-modal-box-shadow); + outline: 0; +} + +.modal-backdrop { + --tblr-backdrop-zindex: 1050; + --tblr-backdrop-bg: light-dark(var(--tblr-gray-800), var(--tblr-black)); + --tblr-backdrop-opacity: 0.32; + position: fixed; + top: 0; + left: 0; + z-index: var(--tblr-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--tblr-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--tblr-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + padding: var(--tblr-modal-header-padding); + border-bottom: var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color); + border-top-left-radius: var(--tblr-modal-inner-border-radius); + border-top-right-radius: var(--tblr-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--tblr-modal-header-padding-y) * 0.5) calc(var(--tblr-modal-header-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--tblr-modal-header-padding-y)); + margin-right: calc(-0.5 * var(--tblr-modal-header-padding-x)); + margin-bottom: calc(-0.5 * var(--tblr-modal-header-padding-y)); + margin-left: auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--tblr-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--tblr-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * 0.5); + background-color: var(--tblr-modal-footer-bg); + border-top: var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color); + border-bottom-right-radius: var(--tblr-modal-inner-border-radius); + border-bottom-left-radius: var(--tblr-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--tblr-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --tblr-modal-margin: 1.75rem; + --tblr-modal-box-shadow: var(--tblr-box-shadow); + } + .modal-dialog { + max-width: var(--tblr-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --tblr-modal-width: 380px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --tblr-modal-width: 720px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --tblr-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --tblr-tooltip-zindex: 1080; + --tblr-tooltip-max-width: 200px; + --tblr-tooltip-padding-x: var(--tblr-spacer-2); + --tblr-tooltip-padding-y: var(--tblr-spacer-1); + --tblr-tooltip-margin: ; + --tblr-tooltip-font-size: 0.765625rem; + --tblr-tooltip-color: var(--tblr-text-inverted); + --tblr-tooltip-bg: var(--tblr-bg-surface-inverted); + --tblr-tooltip-border-radius: var(--tblr-border-radius); + --tblr-tooltip-opacity: 0.9; + --tblr-tooltip-arrow-width: 0.8rem; + --tblr-tooltip-arrow-height: 0.4rem; + z-index: var(--tblr-tooltip-zindex); + display: block; + margin: var(--tblr-tooltip-margin); + font-family: var(--tblr-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.4285714286; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--tblr-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--tblr-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--tblr-tooltip-arrow-width); + height: var(--tblr-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: calc(-1 * var(--tblr-tooltip-arrow-height)); +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--tblr-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: calc(-1 * var(--tblr-tooltip-arrow-height)); + width: var(--tblr-tooltip-arrow-height); + height: var(--tblr-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--tblr-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: calc(-1 * var(--tblr-tooltip-arrow-height)); +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); + border-bottom-color: var(--tblr-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: calc(-1 * var(--tblr-tooltip-arrow-height)); + width: var(--tblr-tooltip-arrow-height); + height: var(--tblr-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height); + border-left-color: var(--tblr-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--tblr-tooltip-max-width); + padding: var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x); + color: var(--tblr-tooltip-color); + text-align: center; + background-color: var(--tblr-tooltip-bg); + border-radius: var(--tblr-tooltip-border-radius); +} +@supports (corner-shape: squircle) { + .tooltip-inner { + corner-shape: squircle; + border-radius: calc(var(--tblr-tooltip-border-radius) * 2.5) !important; + } +} + +.popover { + --tblr-popover-zindex: 1070; + --tblr-popover-max-width: 276px; + --tblr-popover-font-size: 0.765625rem; + --tblr-popover-bg: var(--tblr-bg-surface); + --tblr-popover-border-width: var(--tblr-border-width); + --tblr-popover-border-color: var(--tblr-border-color); + --tblr-popover-border-radius: var(--tblr-border-radius-lg); + --tblr-popover-inner-border-radius: calc(var(--tblr-border-radius-lg) - var(--tblr-border-width)); + --tblr-popover-box-shadow: var(--tblr-shadow-lg); + --tblr-popover-header-padding-x: 1rem; + --tblr-popover-header-padding-y: 0.5rem; + --tblr-popover-header-font-size: 0.875rem; + --tblr-popover-header-color: light-dark(var(--tblr-gray-900), var(--tblr-white)); + --tblr-popover-header-bg: transparent; + --tblr-popover-body-padding-x: 0.5rem; + --tblr-popover-body-padding-y: 0.5rem; + --tblr-popover-body-color: inherit; + --tblr-popover-arrow-width: 1rem; + --tblr-popover-arrow-height: 0.5rem; + --tblr-popover-arrow-border: var(--tblr-popover-border-color); + z-index: var(--tblr-popover-zindex); + display: block; + max-width: var(--tblr-popover-max-width); + font-family: var(--tblr-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.4285714286; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--tblr-popover-font-size); + word-wrap: break-word; + background-color: var(--tblr-popover-bg); + background-clip: padding-box; + border: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); + border-radius: var(--tblr-popover-border-radius); +} +@supports (corner-shape: squircle) { + .popover { + corner-shape: squircle; + border-radius: calc(var(--tblr-popover-border-radius) * 2.5) !important; + } +} +.popover { + box-shadow: var(--tblr-popover-box-shadow); +} +.popover .popover-arrow { + display: block; + width: var(--tblr-popover-arrow-width); + height: var(--tblr-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--tblr-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--tblr-popover-border-width); + border-top-color: var(--tblr-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); + width: var(--tblr-popover-arrow-height); + height: var(--tblr-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--tblr-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--tblr-popover-border-width); + border-right-color: var(--tblr-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--tblr-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--tblr-popover-border-width); + border-bottom-color: var(--tblr-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--tblr-popover-arrow-width); + margin-left: calc(-0.5 * var(--tblr-popover-arrow-width)); + content: ""; + border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width)); + width: var(--tblr-popover-arrow-height); + height: var(--tblr-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--tblr-popover-arrow-width) * 0.5) 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--tblr-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--tblr-popover-border-width); + border-left-color: var(--tblr-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--tblr-popover-header-font-size); + color: var(--tblr-popover-header-color); + background-color: var(--tblr-popover-header-bg); + border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color); + border-top-left-radius: var(--tblr-popover-inner-border-radius); + border-top-right-radius: var(--tblr-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x); + color: var(--tblr-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #ffffff; + text-align: center; + background: none; + filter: var(--tblr-carousel-control-icon-filter); + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 1.5rem; + height: 1.5rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e")*/; +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e")*/; +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; +} +.carousel-indicators [data-bs-target], +.carousel-indicators [data-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: var(--tblr-carousel-indicator-active-bg); + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target], + .carousel-indicators [data-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: var(--tblr-carousel-caption-color); + text-align: center; +} + +.carousel-dark { + --tblr-carousel-indicator-active-bg: #000000; + --tblr-carousel-caption-color: #000000; + --tblr-carousel-control-icon-filter: invert(1) grayscale(100); +} + +:root, +[data-bs-theme=light], +[data-theme=light] { + --tblr-carousel-indicator-active-bg: #ffffff; + --tblr-carousel-caption-color: #ffffff; + --tblr-carousel-control-icon-filter: ; +} + +[data-bs-theme=dark], body[data-bs-theme=dark] [data-bs-theme=light], +body[data-theme=dark] [data-theme=light], +[data-theme=dark] { + --tblr-carousel-indicator-active-bg: #000000; + --tblr-carousel-caption-color: #000000; + --tblr-carousel-control-icon-filter: invert(1) grayscale(100); +} + +.spinner-grow, +.spinner-border { + display: inline-block; + flex-shrink: 0; + width: var(--tblr-spinner-width); + height: var(--tblr-spinner-height); + vertical-align: var(--tblr-spinner-vertical-align); + border-radius: 50%; + animation: var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + --tblr-spinner-width: 1.5rem; + --tblr-spinner-height: 1.5rem; + --tblr-spinner-vertical-align: -0.125em; + --tblr-spinner-border-width: 2px; + --tblr-spinner-animation-speed: 0.75s; + --tblr-spinner-animation-name: spinner-border; + border: var(--tblr-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --tblr-spinner-width: 1rem; + --tblr-spinner-height: 1rem; + --tblr-spinner-border-width: 1px; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --tblr-spinner-width: 1.5rem; + --tblr-spinner-height: 1.5rem; + --tblr-spinner-vertical-align: -0.125em; + --tblr-spinner-animation-speed: 0.75s; + --tblr-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --tblr-spinner-width: 1rem; + --tblr-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --tblr-spinner-animation-speed: 1.5s; + } +} +.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --tblr-offcanvas-zindex: 1045; + --tblr-offcanvas-width: 400px; + --tblr-offcanvas-height: 30vh; + --tblr-offcanvas-padding-x: 1.5rem; + --tblr-offcanvas-padding-y: 1.5rem; + --tblr-offcanvas-color: var(--tblr-body-color); + --tblr-offcanvas-bg: var(--tblr-bg-surface); + --tblr-offcanvas-border-width: var(--tblr-border-width); + --tblr-offcanvas-border-color: var(--tblr-border-color); + --tblr-offcanvas-box-shadow: var(--tblr-box-shadow-sm); + --tblr-offcanvas-transition: transform 0.3s ease-in-out; + --tblr-offcanvas-title-line-height: 1.4285714286; +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --tblr-offcanvas-height: auto; + --tblr-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--tblr-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--tblr-offcanvas-color); + visibility: hidden; + background-color: var(--tblr-offcanvas-bg); + background-clip: padding-box; + outline: 0; + box-shadow: var(--tblr-offcanvas-box-shadow); + transition: var(--tblr-offcanvas-transition); +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--tblr-offcanvas-width); + border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--tblr-offcanvas-width); + border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--tblr-offcanvas-height); + max-height: 100%; + border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: light-dark(var(--tblr-gray-800), var(--tblr-black)); +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.32; +} + +.offcanvas-header { + display: flex; + align-items: center; + padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--tblr-offcanvas-padding-y) * 0.5) calc(var(--tblr-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--tblr-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--tblr-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--tblr-offcanvas-padding-y)); + margin-left: auto; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--tblr-offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.2; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.1; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); + mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.object-fit-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} + +.object-fit-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} + +.object-fit-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} + +.object-fit-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} + +.object-fit-none { + -o-object-fit: none !important; + object-fit: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: var(--tblr-box-shadow) !important; +} + +.shadow-sm { + box-shadow: var(--tblr-box-shadow-sm) !important; +} + +.shadow-lg { + box-shadow: var(--tblr-box-shadow-lg) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.focus-ring-primary { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-secondary { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-success { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-info { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-warning { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-danger { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-light { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-dark { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-muted { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-blue { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-azure { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-indigo { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-purple { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-pink { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-red { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-orange { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-yellow { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-lime { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-green { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-teal { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.focus-ring-cyan { + --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-focus-ring-opacity) * 100%), transparent); +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.object-contain { + -o-object-fit: contain !important; + object-fit: contain !important; +} + +.object-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} + +.object-fill { + -o-object-fit: fill !important; + object-fit: fill !important; +} + +.object-scale-down { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; +} + +.object-none { + -o-object-fit: none !important; + object-fit: none !important; +} + +.cursor-auto { + cursor: auto !important; +} + +.cursor-pointer { + cursor: pointer !important; +} + +.cursor-move { + cursor: move !important; +} + +.cursor-not-allowed { + cursor: not-allowed !important; +} + +.cursor-zoom-in { + cursor: zoom-in !important; +} + +.cursor-zoom-out { + cursor: zoom-out !important; +} + +.cursor-default { + cursor: default !important; +} + +.cursor-none { + cursor: none !important; +} + +.cursor-help { + cursor: help !important; +} + +.cursor-progress { + cursor: progress !important; +} + +.cursor-wait { + cursor: wait !important; +} + +.cursor-text { + cursor: text !important; +} + +.cursor-v-text { + cursor: vertical-text !important; +} + +.cursor-grab { + cursor: grab !important; +} + +.cursor-grabbing { + cursor: grabbing !important; +} + +.cursor-crosshair { + cursor: crosshair !important; +} + +.border { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-wide { + border: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-top-wide { + border-top: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-inline-end: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-end-wide { + border-inline-end: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-end-0 { + border-inline-end: 0 !important; +} + +.border-bottom { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-bottom-wide { + border-bottom: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-start-wide { + border-inline-start: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-start-0 { + border-inline-start: 0 !important; +} + +.border-x { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; + border-inline-end: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-x-wide { + border-inline-start: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; + border-inline-end: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-x-0 { + border-inline-start: 0 !important; + border-inline-end: 0 !important; +} + +.border-y { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-y-wide { + border-top: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; + border-bottom: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} + +.border-y-0 { + border-top: 0 !important; + border-bottom: 0 !important; +} + +.border-primary { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-secondary { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-success { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-info { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-warning { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-danger { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-light { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-dark { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-muted { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-blue { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-azure { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-indigo { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-purple { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-pink { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-red { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-orange { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-yellow { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-lime { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-green { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-teal { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-cyan { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-black { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-black) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-white { + --tblr-border-opacity: 1; + border-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-border-opacity) * 100%), transparent) !important; +} + +.border-primary-subtle { + border-color: var(--tblr-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--tblr-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--tblr-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--tblr-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--tblr-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--tblr-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--tblr-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--tblr-dark-border-subtle) !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.border-opacity-10 { + --tblr-border-opacity: 0.1; +} + +.border-opacity-25 { + --tblr-border-opacity: 0.25; +} + +.border-opacity-50 { + --tblr-border-opacity: 0.5; +} + +.border-opacity-75 { + --tblr-border-opacity: 0.75; +} + +.border-opacity-100 { + --tblr-border-opacity: 1; +} + +.w-0 { + width: 0 !important; +} + +.w-1 { + width: 0.25rem !important; +} + +.w-2 { + width: 0.5rem !important; +} + +.w-3 { + width: 1rem !important; +} + +.w-4 { + width: 1.5rem !important; +} + +.w-5 { + width: 2rem !important; +} + +.w-6 { + width: 2.5rem !important; +} + +.w-25 { + width: 25% !important; +} + +.w-33 { + width: 33.33333% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-66 { + width: 66.66666% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-0 { + height: 0 !important; +} + +.h-1 { + height: 0.25rem !important; +} + +.h-2 { + height: 0.5rem !important; +} + +.h-3 { + height: 1rem !important; +} + +.h-4 { + height: 1.5rem !important; +} + +.h-5 { + height: 2rem !important; +} + +.h-6 { + height: 2.5rem !important; +} + +.h-25 { + height: 25% !important; +} + +.h-33 { + height: 33.33333% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-66 { + height: 66.66666% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.columns-2 { + -moz-columns: 2 !important; + columns: 2 !important; +} + +.columns-3 { + -moz-columns: 3 !important; + columns: 3 !important; +} + +.columns-4 { + -moz-columns: 4 !important; + columns: 4 !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 2rem !important; +} + +.m-6 { + margin: 2.5rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; +} + +.mx-6 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} + +.my-6 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 2rem !important; +} + +.mt-6 { + margin-top: 2.5rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 2rem !important; +} + +.me-6 { + margin-right: 2.5rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 2rem !important; +} + +.mb-6 { + margin-bottom: 2.5rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 2rem !important; +} + +.ms-6 { + margin-left: 2.5rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.m-n5 { + margin: -2rem !important; +} + +.m-n6 { + margin: -2.5rem !important; +} + +.mx-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; +} + +.mx-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; +} + +.mx-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; +} + +.mx-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; +} + +.mx-n5 { + margin-right: -2rem !important; + margin-left: -2rem !important; +} + +.mx-n6 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; +} + +.my-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; +} + +.my-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; +} + +.my-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; +} + +.my-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; +} + +.my-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; +} + +.my-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; +} + +.mt-n1 { + margin-top: -0.25rem !important; +} + +.mt-n2 { + margin-top: -0.5rem !important; +} + +.mt-n3 { + margin-top: -1rem !important; +} + +.mt-n4 { + margin-top: -1.5rem !important; +} + +.mt-n5 { + margin-top: -2rem !important; +} + +.mt-n6 { + margin-top: -2.5rem !important; +} + +.me-n1 { + margin-right: -0.25rem !important; +} + +.me-n2 { + margin-right: -0.5rem !important; +} + +.me-n3 { + margin-right: -1rem !important; +} + +.me-n4 { + margin-right: -1.5rem !important; +} + +.me-n5 { + margin-right: -2rem !important; +} + +.me-n6 { + margin-right: -2.5rem !important; +} + +.mb-n1 { + margin-bottom: -0.25rem !important; +} + +.mb-n2 { + margin-bottom: -0.5rem !important; +} + +.mb-n3 { + margin-bottom: -1rem !important; +} + +.mb-n4 { + margin-bottom: -1.5rem !important; +} + +.mb-n5 { + margin-bottom: -2rem !important; +} + +.mb-n6 { + margin-bottom: -2.5rem !important; +} + +.ms-n1 { + margin-left: -0.25rem !important; +} + +.ms-n2 { + margin-left: -0.5rem !important; +} + +.ms-n3 { + margin-left: -1rem !important; +} + +.ms-n4 { + margin-left: -1.5rem !important; +} + +.ms-n5 { + margin-left: -2rem !important; +} + +.ms-n6 { + margin-left: -2.5rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 2rem !important; +} + +.p-6 { + padding: 2.5rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; +} + +.px-6 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} + +.py-6 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 2rem !important; +} + +.pt-6 { + padding-top: 2.5rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 2rem !important; +} + +.pe-6 { + padding-right: 2.5rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 2rem !important; +} + +.pb-6 { + padding-bottom: 2.5rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 2rem !important; +} + +.ps-6 { + padding-left: 2.5rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 2rem !important; +} + +.gap-6 { + gap: 2.5rem !important; +} + +.row-gap-0 { + row-gap: 0 !important; +} + +.row-gap-1 { + row-gap: 0.25rem !important; +} + +.row-gap-2 { + row-gap: 0.5rem !important; +} + +.row-gap-3 { + row-gap: 1rem !important; +} + +.row-gap-4 { + row-gap: 1.5rem !important; +} + +.row-gap-5 { + row-gap: 2rem !important; +} + +.row-gap-6 { + row-gap: 2.5rem !important; +} + +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} + +.column-gap-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; +} + +.column-gap-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; +} + +.column-gap-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; +} + +.column-gap-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} + +.column-gap-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; +} + +.column-gap-6 { + -moz-column-gap: 2.5rem !important; + column-gap: 2.5rem !important; +} + +.bg-pattern-transparent { + background: url('data:image/svg+xml;charset=UTF-8,') repeat center/16px 16px !important; +} + +.bg-gradient { + background: linear-gradient(var(--tblr-gradient-direction, to right), var(--tblr-gradient-stops, var(--tblr-gradient-from, transparent), var(--tblr-gradient-to, transparent))) no-repeat !important; +} + +.bg-blur { + -webkit-backdrop-filter: blur(4px) !important; + backdrop-filter: blur(4px) !important; +} + +.bg-gradient-to-t { + --tblr-gradient-direction: to top !important; +} + +.bg-gradient-to-te { + --tblr-gradient-direction: to top right !important; +} + +.bg-gradient-to-e { + --tblr-gradient-direction: to right !important; +} + +.bg-gradient-to-be { + --tblr-gradient-direction: to bottom right !important; +} + +.bg-gradient-to-b { + --tblr-gradient-direction: to bottom !important; +} + +.bg-gradient-to-bs { + --tblr-gradient-direction: to bottom left !important; +} + +.bg-gradient-to-s { + --tblr-gradient-direction: to left !important; +} + +.bg-gradient-to-ts { + --tblr-gradient-direction: to top left !important; +} + +.table-auto { + table-layout: auto !important; +} + +.table-fixed { + table-layout: fixed !important; +} + +.font-monospace { + font-family: var(--tblr-font-monospace) !important; +} + +.fs-1 { + font-size: 1.5rem !important; +} + +.fs-2 { + font-size: 1.25rem !important; +} + +.fs-3 { + font-size: 1rem !important; +} + +.fs-4 { + font-size: 0.875rem !important; +} + +.fs-5 { + font-size: 0.75rem !important; +} + +.fs-6 { + font-size: 0.625rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-medium { + font-weight: 500 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.1428571429 !important; +} + +.lh-base { + line-height: 1.4285714286 !important; +} + +.lh-lg { + line-height: 1.7142857143 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-secondary { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-success { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-info { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-warning { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-danger { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-light { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-dark { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-muted { + --tblr-text-opacity: 1; + color: var(--tblr-secondary-color) !important; +} + +.text-blue { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-azure { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-indigo { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-purple { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-pink { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-red { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-orange { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-yellow { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-lime { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-green { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-teal { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-cyan { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-black { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-black) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-white { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-body { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-body-color) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-black-50 { + --tblr-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --tblr-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-body-secondary { + --tblr-text-opacity: 1; + color: var(--tblr-secondary-color) !important; +} + +.text-body-tertiary { + --tblr-text-opacity: 1; + color: var(--tblr-tertiary-color) !important; +} + +.text-body-emphasis { + --tblr-text-opacity: 1; + color: var(--tblr-emphasis-color) !important; +} + +.text-reset { + --tblr-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --tblr-text-opacity: 0.25; +} + +.text-opacity-50 { + --tblr-text-opacity: 0.5; +} + +.text-opacity-75 { + --tblr-text-opacity: 0.75; +} + +.text-opacity-100 { + --tblr-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--tblr-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--tblr-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--tblr-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--tblr-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--tblr-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--tblr-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--tblr-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--tblr-dark-text-emphasis) !important; +} + +.link-opacity-10 { + --tblr-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --tblr-link-opacity: 0.1; +} + +.link-opacity-25 { + --tblr-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --tblr-link-opacity: 0.25; +} + +.link-opacity-50 { + --tblr-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --tblr-link-opacity: 0.5; +} + +.link-opacity-75 { + --tblr-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --tblr-link-opacity: 0.75; +} + +.link-opacity-100 { + --tblr-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --tblr-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: 0.125em !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} + +.link-offset-2 { + text-underline-offset: 0.25em !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} + +.link-offset-3 { + text-underline-offset: 0.375em !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} + +.link-underline-primary { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-secondary { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-success { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-info { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-warning { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-danger { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-light { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-dark { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-muted { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-blue { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-azure { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-indigo { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-purple { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-pink { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-red { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-orange { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-yellow { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-lime { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-green { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-teal { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline-cyan { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important; +} + +.link-underline { + --tblr-link-underline-opacity: 1; + text-decoration-color: color-mix(in srgb, var(--tblr-link-color) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} + +.link-underline-opacity-0 { + --tblr-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --tblr-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --tblr-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --tblr-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --tblr-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --tblr-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --tblr-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --tblr-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --tblr-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --tblr-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --tblr-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --tblr-link-underline-opacity: 1; +} + +.bg-primary { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-secondary { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-success { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-info { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-warning { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-danger { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-light { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-dark { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-muted { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-blue { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-azure { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-indigo { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-purple { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-pink { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-red { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-orange { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-yellow { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-lime { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-green { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-teal { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-cyan { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-black { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-black) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-white { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-body { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-body-bg) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-transparent { + --tblr-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-secondary-bg) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-body-tertiary { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-tertiary-bg) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-opacity-10 { + --tblr-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --tblr-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --tblr-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --tblr-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --tblr-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--tblr-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--tblr-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--tblr-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--tblr-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--tblr-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--tblr-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--tblr-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--tblr-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--tblr-gradient) !important; +} + +.user-select-all { + -webkit-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--tblr-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--tblr-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-top { + border-start-start-radius: var(--tblr-border-radius) !important; + border-start-end-radius: var(--tblr-border-radius) !important; +} + +.rounded-top-0 { + border-start-start-radius: 0 !important; + border-start-end-radius: 0 !important; +} + +.rounded-top-1 { + border-start-start-radius: var(--tblr-border-radius-sm) !important; + border-start-end-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-top-2 { + border-start-start-radius: var(--tblr-border-radius) !important; + border-start-end-radius: var(--tblr-border-radius) !important; +} + +.rounded-top-3 { + border-start-start-radius: var(--tblr-border-radius-lg) !important; + border-start-end-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-top-4 { + border-start-start-radius: var(--tblr-border-radius-xl) !important; + border-start-end-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-top-5 { + border-start-start-radius: var(--tblr-border-radius-xxl) !important; + border-start-end-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-start-start-radius: 50% !important; + border-start-end-radius: 50% !important; +} + +.rounded-top-pill { + border-start-start-radius: var(--tblr-border-radius-pill) !important; + border-start-end-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-end { + border-end-end-radius: var(--tblr-border-radius) !important; + border-end-start-radius: var(--tblr-border-radius) !important; +} + +.rounded-end-0 { + border-end-end-radius: 0 !important; + border-end-start-radius: 0 !important; +} + +.rounded-end-1 { + border-end-end-radius: var(--tblr-border-radius-sm) !important; + border-end-start-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-end-2 { + border-end-end-radius: var(--tblr-border-radius) !important; + border-end-start-radius: var(--tblr-border-radius) !important; +} + +.rounded-end-3 { + border-end-end-radius: var(--tblr-border-radius-lg) !important; + border-end-start-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-end-4 { + border-end-end-radius: var(--tblr-border-radius-xl) !important; + border-end-start-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-end-5 { + border-end-end-radius: var(--tblr-border-radius-xxl) !important; + border-end-start-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-end-end-radius: 50% !important; + border-end-start-radius: 50% !important; +} + +.rounded-end-pill { + border-end-end-radius: var(--tblr-border-radius-pill) !important; + border-end-start-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-bottom { + border-end-end-radius: var(--tblr-border-radius) !important; + border-end-start-radius: var(--tblr-border-radius) !important; +} + +.rounded-bottom-0 { + border-end-end-radius: 0 !important; + border-end-start-radius: 0 !important; +} + +.rounded-bottom-1 { + border-end-end-radius: var(--tblr-border-radius-sm) !important; + border-end-start-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-end-end-radius: var(--tblr-border-radius) !important; + border-end-start-radius: var(--tblr-border-radius) !important; +} + +.rounded-bottom-3 { + border-end-end-radius: var(--tblr-border-radius-lg) !important; + border-end-start-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-end-end-radius: var(--tblr-border-radius-xl) !important; + border-end-start-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-end-end-radius: var(--tblr-border-radius-xxl) !important; + border-end-start-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-end-end-radius: 50% !important; + border-end-start-radius: 50% !important; +} + +.rounded-bottom-pill { + border-end-end-radius: var(--tblr-border-radius-pill) !important; + border-end-start-radius: var(--tblr-border-radius-pill) !important; +} + +.rounded-start { + border-start-start-radius: var(--tblr-border-radius) !important; + border-start-end-radius: var(--tblr-border-radius) !important; +} + +.rounded-start-0 { + border-start-start-radius: 0 !important; + border-start-end-radius: 0 !important; +} + +.rounded-start-1 { + border-start-start-radius: var(--tblr-border-radius-sm) !important; + border-start-end-radius: var(--tblr-border-radius-sm) !important; +} + +.rounded-start-2 { + border-start-start-radius: var(--tblr-border-radius) !important; + border-start-end-radius: var(--tblr-border-radius) !important; +} + +.rounded-start-3 { + border-start-start-radius: var(--tblr-border-radius-lg) !important; + border-start-end-radius: var(--tblr-border-radius-lg) !important; +} + +.rounded-start-4 { + border-start-start-radius: var(--tblr-border-radius-xl) !important; + border-start-end-radius: var(--tblr-border-radius-xl) !important; +} + +.rounded-start-5 { + border-start-start-radius: var(--tblr-border-radius-xxl) !important; + border-start-end-radius: var(--tblr-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-start-start-radius: 50% !important; + border-start-end-radius: 50% !important; +} + +.rounded-start-pill { + border-start-start-radius: var(--tblr-border-radius-pill) !important; + border-start-end-radius: var(--tblr-border-radius-pill) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-sm-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-sm-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-sm-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-sm-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .columns-sm-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-sm-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-sm-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 2rem !important; + } + .m-sm-6 { + margin: 2.5rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-sm-6 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-sm-6 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 2rem !important; + } + .mt-sm-6 { + margin-top: 2.5rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 2rem !important; + } + .me-sm-6 { + margin-right: 2.5rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 2rem !important; + } + .mb-sm-6 { + margin-bottom: 2.5rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 2rem !important; + } + .ms-sm-6 { + margin-left: 2.5rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .m-sm-n5 { + margin: -2rem !important; + } + .m-sm-n6 { + margin: -2.5rem !important; + } + .mx-sm-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + .mx-sm-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + .mx-sm-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + .mx-sm-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + .mx-sm-n5 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + .mx-sm-n6 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + .my-sm-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-sm-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-sm-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-sm-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-sm-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-sm-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .mt-sm-n1 { + margin-top: -0.25rem !important; + } + .mt-sm-n2 { + margin-top: -0.5rem !important; + } + .mt-sm-n3 { + margin-top: -1rem !important; + } + .mt-sm-n4 { + margin-top: -1.5rem !important; + } + .mt-sm-n5 { + margin-top: -2rem !important; + } + .mt-sm-n6 { + margin-top: -2.5rem !important; + } + .me-sm-n1 { + margin-right: -0.25rem !important; + } + .me-sm-n2 { + margin-right: -0.5rem !important; + } + .me-sm-n3 { + margin-right: -1rem !important; + } + .me-sm-n4 { + margin-right: -1.5rem !important; + } + .me-sm-n5 { + margin-right: -2rem !important; + } + .me-sm-n6 { + margin-right: -2.5rem !important; + } + .mb-sm-n1 { + margin-bottom: -0.25rem !important; + } + .mb-sm-n2 { + margin-bottom: -0.5rem !important; + } + .mb-sm-n3 { + margin-bottom: -1rem !important; + } + .mb-sm-n4 { + margin-bottom: -1.5rem !important; + } + .mb-sm-n5 { + margin-bottom: -2rem !important; + } + .mb-sm-n6 { + margin-bottom: -2.5rem !important; + } + .ms-sm-n1 { + margin-left: -0.25rem !important; + } + .ms-sm-n2 { + margin-left: -0.5rem !important; + } + .ms-sm-n3 { + margin-left: -1rem !important; + } + .ms-sm-n4 { + margin-left: -1.5rem !important; + } + .ms-sm-n5 { + margin-left: -2rem !important; + } + .ms-sm-n6 { + margin-left: -2.5rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 2rem !important; + } + .p-sm-6 { + padding: 2.5rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-sm-6 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-sm-6 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 2rem !important; + } + .pt-sm-6 { + padding-top: 2.5rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 2rem !important; + } + .pe-sm-6 { + padding-right: 2.5rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 2rem !important; + } + .pb-sm-6 { + padding-bottom: 2.5rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 2rem !important; + } + .ps-sm-6 { + padding-left: 2.5rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 2rem !important; + } + .gap-sm-6 { + gap: 2.5rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 2rem !important; + } + .row-gap-sm-6 { + row-gap: 2.5rem !important; + } + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-sm-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-sm-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-sm-6 { + -moz-column-gap: 2.5rem !important; + column-gap: 2.5rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-md-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-md-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-md-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-md-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .columns-md-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-md-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-md-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 2rem !important; + } + .m-md-6 { + margin: 2.5rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-md-6 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-md-6 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 2rem !important; + } + .mt-md-6 { + margin-top: 2.5rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 2rem !important; + } + .me-md-6 { + margin-right: 2.5rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 2rem !important; + } + .mb-md-6 { + margin-bottom: 2.5rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 2rem !important; + } + .ms-md-6 { + margin-left: 2.5rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .m-md-n5 { + margin: -2rem !important; + } + .m-md-n6 { + margin: -2.5rem !important; + } + .mx-md-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + .mx-md-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + .mx-md-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + .mx-md-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + .mx-md-n5 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + .mx-md-n6 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + .my-md-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-md-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-md-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-md-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-md-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-md-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .mt-md-n1 { + margin-top: -0.25rem !important; + } + .mt-md-n2 { + margin-top: -0.5rem !important; + } + .mt-md-n3 { + margin-top: -1rem !important; + } + .mt-md-n4 { + margin-top: -1.5rem !important; + } + .mt-md-n5 { + margin-top: -2rem !important; + } + .mt-md-n6 { + margin-top: -2.5rem !important; + } + .me-md-n1 { + margin-right: -0.25rem !important; + } + .me-md-n2 { + margin-right: -0.5rem !important; + } + .me-md-n3 { + margin-right: -1rem !important; + } + .me-md-n4 { + margin-right: -1.5rem !important; + } + .me-md-n5 { + margin-right: -2rem !important; + } + .me-md-n6 { + margin-right: -2.5rem !important; + } + .mb-md-n1 { + margin-bottom: -0.25rem !important; + } + .mb-md-n2 { + margin-bottom: -0.5rem !important; + } + .mb-md-n3 { + margin-bottom: -1rem !important; + } + .mb-md-n4 { + margin-bottom: -1.5rem !important; + } + .mb-md-n5 { + margin-bottom: -2rem !important; + } + .mb-md-n6 { + margin-bottom: -2.5rem !important; + } + .ms-md-n1 { + margin-left: -0.25rem !important; + } + .ms-md-n2 { + margin-left: -0.5rem !important; + } + .ms-md-n3 { + margin-left: -1rem !important; + } + .ms-md-n4 { + margin-left: -1.5rem !important; + } + .ms-md-n5 { + margin-left: -2rem !important; + } + .ms-md-n6 { + margin-left: -2.5rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 2rem !important; + } + .p-md-6 { + padding: 2.5rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-md-6 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-md-6 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 2rem !important; + } + .pt-md-6 { + padding-top: 2.5rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 2rem !important; + } + .pe-md-6 { + padding-right: 2.5rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 2rem !important; + } + .pb-md-6 { + padding-bottom: 2.5rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 2rem !important; + } + .ps-md-6 { + padding-left: 2.5rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 2rem !important; + } + .gap-md-6 { + gap: 2.5rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 2rem !important; + } + .row-gap-md-6 { + row-gap: 2.5rem !important; + } + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-md-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-md-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-md-6 { + -moz-column-gap: 2.5rem !important; + column-gap: 2.5rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-lg-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-lg-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-lg-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-lg-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .columns-lg-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-lg-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-lg-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 2rem !important; + } + .m-lg-6 { + margin: 2.5rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-lg-6 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-lg-6 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 2rem !important; + } + .mt-lg-6 { + margin-top: 2.5rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 2rem !important; + } + .me-lg-6 { + margin-right: 2.5rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 2rem !important; + } + .mb-lg-6 { + margin-bottom: 2.5rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 2rem !important; + } + .ms-lg-6 { + margin-left: 2.5rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .m-lg-n5 { + margin: -2rem !important; + } + .m-lg-n6 { + margin: -2.5rem !important; + } + .mx-lg-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + .mx-lg-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + .mx-lg-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + .mx-lg-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + .mx-lg-n5 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + .mx-lg-n6 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + .my-lg-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-lg-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-lg-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-lg-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-lg-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-lg-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .mt-lg-n1 { + margin-top: -0.25rem !important; + } + .mt-lg-n2 { + margin-top: -0.5rem !important; + } + .mt-lg-n3 { + margin-top: -1rem !important; + } + .mt-lg-n4 { + margin-top: -1.5rem !important; + } + .mt-lg-n5 { + margin-top: -2rem !important; + } + .mt-lg-n6 { + margin-top: -2.5rem !important; + } + .me-lg-n1 { + margin-right: -0.25rem !important; + } + .me-lg-n2 { + margin-right: -0.5rem !important; + } + .me-lg-n3 { + margin-right: -1rem !important; + } + .me-lg-n4 { + margin-right: -1.5rem !important; + } + .me-lg-n5 { + margin-right: -2rem !important; + } + .me-lg-n6 { + margin-right: -2.5rem !important; + } + .mb-lg-n1 { + margin-bottom: -0.25rem !important; + } + .mb-lg-n2 { + margin-bottom: -0.5rem !important; + } + .mb-lg-n3 { + margin-bottom: -1rem !important; + } + .mb-lg-n4 { + margin-bottom: -1.5rem !important; + } + .mb-lg-n5 { + margin-bottom: -2rem !important; + } + .mb-lg-n6 { + margin-bottom: -2.5rem !important; + } + .ms-lg-n1 { + margin-left: -0.25rem !important; + } + .ms-lg-n2 { + margin-left: -0.5rem !important; + } + .ms-lg-n3 { + margin-left: -1rem !important; + } + .ms-lg-n4 { + margin-left: -1.5rem !important; + } + .ms-lg-n5 { + margin-left: -2rem !important; + } + .ms-lg-n6 { + margin-left: -2.5rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 2rem !important; + } + .p-lg-6 { + padding: 2.5rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-lg-6 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-lg-6 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 2rem !important; + } + .pt-lg-6 { + padding-top: 2.5rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 2rem !important; + } + .pe-lg-6 { + padding-right: 2.5rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 2rem !important; + } + .pb-lg-6 { + padding-bottom: 2.5rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 2rem !important; + } + .ps-lg-6 { + padding-left: 2.5rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 2rem !important; + } + .gap-lg-6 { + gap: 2.5rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 2rem !important; + } + .row-gap-lg-6 { + row-gap: 2.5rem !important; + } + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-lg-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-lg-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-lg-6 { + -moz-column-gap: 2.5rem !important; + column-gap: 2.5rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .columns-xl-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-xl-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-xl-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 2rem !important; + } + .m-xl-6 { + margin: 2.5rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-xl-6 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-xl-6 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 2rem !important; + } + .mt-xl-6 { + margin-top: 2.5rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 2rem !important; + } + .me-xl-6 { + margin-right: 2.5rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 2rem !important; + } + .mb-xl-6 { + margin-bottom: 2.5rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 2rem !important; + } + .ms-xl-6 { + margin-left: 2.5rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .m-xl-n5 { + margin: -2rem !important; + } + .m-xl-n6 { + margin: -2.5rem !important; + } + .mx-xl-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + .mx-xl-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + .mx-xl-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + .mx-xl-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + .mx-xl-n5 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + .mx-xl-n6 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + .my-xl-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-xl-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-xl-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-xl-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-xl-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-xl-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .mt-xl-n1 { + margin-top: -0.25rem !important; + } + .mt-xl-n2 { + margin-top: -0.5rem !important; + } + .mt-xl-n3 { + margin-top: -1rem !important; + } + .mt-xl-n4 { + margin-top: -1.5rem !important; + } + .mt-xl-n5 { + margin-top: -2rem !important; + } + .mt-xl-n6 { + margin-top: -2.5rem !important; + } + .me-xl-n1 { + margin-right: -0.25rem !important; + } + .me-xl-n2 { + margin-right: -0.5rem !important; + } + .me-xl-n3 { + margin-right: -1rem !important; + } + .me-xl-n4 { + margin-right: -1.5rem !important; + } + .me-xl-n5 { + margin-right: -2rem !important; + } + .me-xl-n6 { + margin-right: -2.5rem !important; + } + .mb-xl-n1 { + margin-bottom: -0.25rem !important; + } + .mb-xl-n2 { + margin-bottom: -0.5rem !important; + } + .mb-xl-n3 { + margin-bottom: -1rem !important; + } + .mb-xl-n4 { + margin-bottom: -1.5rem !important; + } + .mb-xl-n5 { + margin-bottom: -2rem !important; + } + .mb-xl-n6 { + margin-bottom: -2.5rem !important; + } + .ms-xl-n1 { + margin-left: -0.25rem !important; + } + .ms-xl-n2 { + margin-left: -0.5rem !important; + } + .ms-xl-n3 { + margin-left: -1rem !important; + } + .ms-xl-n4 { + margin-left: -1.5rem !important; + } + .ms-xl-n5 { + margin-left: -2rem !important; + } + .ms-xl-n6 { + margin-left: -2.5rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 2rem !important; + } + .p-xl-6 { + padding: 2.5rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-xl-6 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-xl-6 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 2rem !important; + } + .pt-xl-6 { + padding-top: 2.5rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 2rem !important; + } + .pe-xl-6 { + padding-right: 2.5rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 2rem !important; + } + .pb-xl-6 { + padding-bottom: 2.5rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 2rem !important; + } + .ps-xl-6 { + padding-left: 2.5rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 2rem !important; + } + .gap-xl-6 { + gap: 2.5rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 2rem !important; + } + .row-gap-xl-6 { + row-gap: 2.5rem !important; + } + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-xl-6 { + -moz-column-gap: 2.5rem !important; + column-gap: 2.5rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + -o-object-fit: contain !important; + object-fit: contain !important; + } + .object-fit-xxl-cover { + -o-object-fit: cover !important; + object-fit: cover !important; + } + .object-fit-xxl-fill { + -o-object-fit: fill !important; + object-fit: fill !important; + } + .object-fit-xxl-scale { + -o-object-fit: scale-down !important; + object-fit: scale-down !important; + } + .object-fit-xxl-none { + -o-object-fit: none !important; + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .columns-xxl-2 { + -moz-columns: 2 !important; + columns: 2 !important; + } + .columns-xxl-3 { + -moz-columns: 3 !important; + columns: 3 !important; + } + .columns-xxl-4 { + -moz-columns: 4 !important; + columns: 4 !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 2rem !important; + } + .m-xxl-6 { + margin: 2.5rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + .mx-xxl-6 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + .my-xxl-6 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 2rem !important; + } + .mt-xxl-6 { + margin-top: 2.5rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 2rem !important; + } + .me-xxl-6 { + margin-right: 2.5rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 2rem !important; + } + .mb-xxl-6 { + margin-bottom: 2.5rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 2rem !important; + } + .ms-xxl-6 { + margin-left: 2.5rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .m-xxl-n1 { + margin: -0.25rem !important; + } + .m-xxl-n2 { + margin: -0.5rem !important; + } + .m-xxl-n3 { + margin: -1rem !important; + } + .m-xxl-n4 { + margin: -1.5rem !important; + } + .m-xxl-n5 { + margin: -2rem !important; + } + .m-xxl-n6 { + margin: -2.5rem !important; + } + .mx-xxl-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + .mx-xxl-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + .mx-xxl-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + .mx-xxl-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + .mx-xxl-n5 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + .mx-xxl-n6 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + .my-xxl-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + .my-xxl-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + .my-xxl-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + .my-xxl-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + .my-xxl-n5 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + .my-xxl-n6 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + .mt-xxl-n1 { + margin-top: -0.25rem !important; + } + .mt-xxl-n2 { + margin-top: -0.5rem !important; + } + .mt-xxl-n3 { + margin-top: -1rem !important; + } + .mt-xxl-n4 { + margin-top: -1.5rem !important; + } + .mt-xxl-n5 { + margin-top: -2rem !important; + } + .mt-xxl-n6 { + margin-top: -2.5rem !important; + } + .me-xxl-n1 { + margin-right: -0.25rem !important; + } + .me-xxl-n2 { + margin-right: -0.5rem !important; + } + .me-xxl-n3 { + margin-right: -1rem !important; + } + .me-xxl-n4 { + margin-right: -1.5rem !important; + } + .me-xxl-n5 { + margin-right: -2rem !important; + } + .me-xxl-n6 { + margin-right: -2.5rem !important; + } + .mb-xxl-n1 { + margin-bottom: -0.25rem !important; + } + .mb-xxl-n2 { + margin-bottom: -0.5rem !important; + } + .mb-xxl-n3 { + margin-bottom: -1rem !important; + } + .mb-xxl-n4 { + margin-bottom: -1.5rem !important; + } + .mb-xxl-n5 { + margin-bottom: -2rem !important; + } + .mb-xxl-n6 { + margin-bottom: -2.5rem !important; + } + .ms-xxl-n1 { + margin-left: -0.25rem !important; + } + .ms-xxl-n2 { + margin-left: -0.5rem !important; + } + .ms-xxl-n3 { + margin-left: -1rem !important; + } + .ms-xxl-n4 { + margin-left: -1.5rem !important; + } + .ms-xxl-n5 { + margin-left: -2rem !important; + } + .ms-xxl-n6 { + margin-left: -2.5rem !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 2rem !important; + } + .p-xxl-6 { + padding: 2.5rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + .px-xxl-6 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + .py-xxl-6 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 2rem !important; + } + .pt-xxl-6 { + padding-top: 2.5rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 2rem !important; + } + .pe-xxl-6 { + padding-right: 2.5rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 2rem !important; + } + .pb-xxl-6 { + padding-bottom: 2.5rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 2rem !important; + } + .ps-xxl-6 { + padding-left: 2.5rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 2rem !important; + } + .gap-xxl-6 { + gap: 2.5rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 2rem !important; + } + .row-gap-xxl-6 { + row-gap: 2.5rem !important; + } + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + .column-gap-xxl-1 { + -moz-column-gap: 0.25rem !important; + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + -moz-column-gap: 0.5rem !important; + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + -moz-column-gap: 1rem !important; + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + -moz-column-gap: 2rem !important; + column-gap: 2rem !important; + } + .column-gap-xxl-6 { + -moz-column-gap: 2.5rem !important; + column-gap: 2.5rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +/** + * Converts a given value to a percentage string. + * + * @param {Number} $value - The value to be converted to a percentage. + * @return {String} - The percentage representation of the value. + */ +/** + * Generates a transparent version of the given color. + * + * @param {Color} $color - The base color to be made transparent. + * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1. + * @return {Color} - The resulting color with the specified transparency. + */ +:root, +:host { + /** Fonts */ + --tblr-font-monospace: Geist Mono, Monaco, Consolas, Liberation Mono, Courier New, monospace; + --tblr-font-sans-serif: Geist, -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif; + --tblr-font-serif: Georgia, Times New Roman, times, serif; + --tblr-font-comic: Comic Sans MS, Comic Sans, Chalkboard SE, Comic Neue, sans-serif, cursive; + /** Gray colors */ + --tblr-gray-50: #f9fafb; + --tblr-gray-100: #f3f4f6; + --tblr-gray-200: #e5e7eb; + --tblr-gray-300: #d1d5db; + --tblr-gray-400: #9ca3af; + --tblr-gray-500: #6b7280; + --tblr-gray-600: #4b5563; + --tblr-gray-700: #374151; + --tblr-gray-800: #1f2937; + --tblr-gray-900: #111827; + --tblr-gray-950: #030712; + --tblr-white: #ffffff; + --tblr-black: #000000; + --tblr-dark: #1f2937; + --tblr-light: #f9fafb; + /** Brand colors */ + --tblr-brand: #066fd1; + /** Theme colors */ + --tblr-primary: #066fd1; + --tblr-primary-rgb: 6, 111, 209; + --tblr-primary-fg: var(--tblr-light); + --tblr-primary-darken: rgb(5.4, 99.9, 188.1); + --tblr-primary-darken: color-mix(in oklab, var(--tblr-primary), transparent 20%); + --tblr-primary-lt: rgb(230.1, 240.6, 250.4); + --tblr-primary-lt: color-mix(in oklab, var(--tblr-primary) 10%, transparent); + --tblr-primary-200: color-mix(in oklab, var(--tblr-primary) 20%, transparent); + --tblr-primary-lt-rgb: 230.1, 240.6, 250.4; + --tblr-secondary: #6b7280; + --tblr-secondary-rgb: 107, 114, 128; + --tblr-secondary-fg: var(--tblr-light); + --tblr-secondary-darken: rgb(96.3, 102.6, 115.2); + --tblr-secondary-darken: color-mix(in oklab, var(--tblr-secondary), transparent 20%); + --tblr-secondary-lt: rgb(240.2, 240.9, 242.3); + --tblr-secondary-lt: color-mix(in oklab, var(--tblr-secondary) 10%, transparent); + --tblr-secondary-200: color-mix(in oklab, var(--tblr-secondary) 20%, transparent); + --tblr-secondary-lt-rgb: 240.2, 240.9, 242.3; + --tblr-success: #2fb344; + --tblr-success-rgb: 47, 179, 68; + --tblr-success-fg: var(--tblr-light); + --tblr-success-darken: rgb(42.3, 161.1, 61.2); + --tblr-success-darken: color-mix(in oklab, var(--tblr-success), transparent 20%); + --tblr-success-lt: rgb(234.2, 247.4, 236.3); + --tblr-success-lt: color-mix(in oklab, var(--tblr-success) 10%, transparent); + --tblr-success-200: color-mix(in oklab, var(--tblr-success) 20%, transparent); + --tblr-success-lt-rgb: 234.2, 247.4, 236.3; + --tblr-info: #4299e1; + --tblr-info-rgb: 66, 153, 225; + --tblr-info-fg: var(--tblr-light); + --tblr-info-darken: rgb(59.4, 137.7, 202.5); + --tblr-info-darken: color-mix(in oklab, var(--tblr-info), transparent 20%); + --tblr-info-lt: rgb(236.1, 244.8, 252); + --tblr-info-lt: color-mix(in oklab, var(--tblr-info) 10%, transparent); + --tblr-info-200: color-mix(in oklab, var(--tblr-info) 20%, transparent); + --tblr-info-lt-rgb: 236.1, 244.8, 252; + --tblr-warning: #f59f00; + --tblr-warning-rgb: 245, 159, 0; + --tblr-warning-fg: var(--tblr-light); + --tblr-warning-darken: rgb(220.5, 143.1, 0); + --tblr-warning-darken: color-mix(in oklab, var(--tblr-warning), transparent 20%); + --tblr-warning-lt: rgb(254, 245.4, 229.5); + --tblr-warning-lt: color-mix(in oklab, var(--tblr-warning) 10%, transparent); + --tblr-warning-200: color-mix(in oklab, var(--tblr-warning) 20%, transparent); + --tblr-warning-lt-rgb: 254, 245.4, 229.5; + --tblr-danger: #d63939; + --tblr-danger-rgb: 214, 57, 57; + --tblr-danger-fg: var(--tblr-light); + --tblr-danger-darken: rgb(192.6, 51.3, 51.3); + --tblr-danger-darken: color-mix(in oklab, var(--tblr-danger), transparent 20%); + --tblr-danger-lt: rgb(250.9, 235.2, 235.2); + --tblr-danger-lt: color-mix(in oklab, var(--tblr-danger) 10%, transparent); + --tblr-danger-200: color-mix(in oklab, var(--tblr-danger) 20%, transparent); + --tblr-danger-lt-rgb: 250.9, 235.2, 235.2; + --tblr-light: #f9fafb; + --tblr-light-rgb: 249, 250, 251; + --tblr-light-fg: var(--tblr-dark); + --tblr-light-darken: rgb(224.1, 225, 225.9); + --tblr-light-darken: color-mix(in oklab, var(--tblr-light), transparent 20%); + --tblr-light-lt: rgb(254.4, 254.5, 254.6); + --tblr-light-lt: color-mix(in oklab, var(--tblr-light) 10%, transparent); + --tblr-light-200: color-mix(in oklab, var(--tblr-light) 20%, transparent); + --tblr-light-lt-rgb: 254.4, 254.5, 254.6; + --tblr-dark: #1f2937; + --tblr-dark-rgb: 31, 41, 55; + --tblr-dark-fg: var(--tblr-light); + --tblr-dark-darken: rgb(27.9, 36.9, 49.5); + --tblr-dark-darken: color-mix(in oklab, var(--tblr-dark), transparent 20%); + --tblr-dark-lt: rgb(232.6, 233.6, 235); + --tblr-dark-lt: color-mix(in oklab, var(--tblr-dark) 10%, transparent); + --tblr-dark-200: color-mix(in oklab, var(--tblr-dark) 20%, transparent); + --tblr-dark-lt-rgb: 232.6, 233.6, 235; + --tblr-muted: #6b7280; + --tblr-muted-rgb: 107, 114, 128; + --tblr-muted-fg: var(--tblr-light); + --tblr-muted-darken: rgb(96.3, 102.6, 115.2); + --tblr-muted-darken: color-mix(in oklab, var(--tblr-muted), transparent 20%); + --tblr-muted-lt: rgb(240.2, 240.9, 242.3); + --tblr-muted-lt: color-mix(in oklab, var(--tblr-muted) 10%, transparent); + --tblr-muted-200: color-mix(in oklab, var(--tblr-muted) 20%, transparent); + --tblr-muted-lt-rgb: 240.2, 240.9, 242.3; + --tblr-blue: #066fd1; + --tblr-blue-rgb: 6, 111, 209; + --tblr-blue-fg: var(--tblr-light); + --tblr-blue-darken: rgb(5.4, 99.9, 188.1); + --tblr-blue-darken: color-mix(in oklab, var(--tblr-blue), transparent 20%); + --tblr-blue-lt: rgb(230.1, 240.6, 250.4); + --tblr-blue-lt: color-mix(in oklab, var(--tblr-blue) 10%, transparent); + --tblr-blue-200: color-mix(in oklab, var(--tblr-blue) 20%, transparent); + --tblr-blue-lt-rgb: 230.1, 240.6, 250.4; + --tblr-azure: #4299e1; + --tblr-azure-rgb: 66, 153, 225; + --tblr-azure-fg: var(--tblr-light); + --tblr-azure-darken: rgb(59.4, 137.7, 202.5); + --tblr-azure-darken: color-mix(in oklab, var(--tblr-azure), transparent 20%); + --tblr-azure-lt: rgb(236.1, 244.8, 252); + --tblr-azure-lt: color-mix(in oklab, var(--tblr-azure) 10%, transparent); + --tblr-azure-200: color-mix(in oklab, var(--tblr-azure) 20%, transparent); + --tblr-azure-lt-rgb: 236.1, 244.8, 252; + --tblr-indigo: #4263eb; + --tblr-indigo-rgb: 66, 99, 235; + --tblr-indigo-fg: var(--tblr-light); + --tblr-indigo-darken: rgb(59.4, 89.1, 211.5); + --tblr-indigo-darken: color-mix(in oklab, var(--tblr-indigo), transparent 20%); + --tblr-indigo-lt: rgb(236.1, 239.4, 253); + --tblr-indigo-lt: color-mix(in oklab, var(--tblr-indigo) 10%, transparent); + --tblr-indigo-200: color-mix(in oklab, var(--tblr-indigo) 20%, transparent); + --tblr-indigo-lt-rgb: 236.1, 239.4, 253; + --tblr-purple: #ae3ec9; + --tblr-purple-rgb: 174, 62, 201; + --tblr-purple-fg: var(--tblr-light); + --tblr-purple-darken: rgb(156.6, 55.8, 180.9); + --tblr-purple-darken: color-mix(in oklab, var(--tblr-purple), transparent 20%); + --tblr-purple-lt: rgb(246.9, 235.7, 249.6); + --tblr-purple-lt: color-mix(in oklab, var(--tblr-purple) 10%, transparent); + --tblr-purple-200: color-mix(in oklab, var(--tblr-purple) 20%, transparent); + --tblr-purple-lt-rgb: 246.9, 235.7, 249.6; + --tblr-pink: #d6336c; + --tblr-pink-rgb: 214, 51, 108; + --tblr-pink-fg: var(--tblr-light); + --tblr-pink-darken: rgb(192.6, 45.9, 97.2); + --tblr-pink-darken: color-mix(in oklab, var(--tblr-pink), transparent 20%); + --tblr-pink-lt: rgb(250.9, 234.6, 240.3); + --tblr-pink-lt: color-mix(in oklab, var(--tblr-pink) 10%, transparent); + --tblr-pink-200: color-mix(in oklab, var(--tblr-pink) 20%, transparent); + --tblr-pink-lt-rgb: 250.9, 234.6, 240.3; + --tblr-red: #d63939; + --tblr-red-rgb: 214, 57, 57; + --tblr-red-fg: var(--tblr-light); + --tblr-red-darken: rgb(192.6, 51.3, 51.3); + --tblr-red-darken: color-mix(in oklab, var(--tblr-red), transparent 20%); + --tblr-red-lt: rgb(250.9, 235.2, 235.2); + --tblr-red-lt: color-mix(in oklab, var(--tblr-red) 10%, transparent); + --tblr-red-200: color-mix(in oklab, var(--tblr-red) 20%, transparent); + --tblr-red-lt-rgb: 250.9, 235.2, 235.2; + --tblr-orange: #f76707; + --tblr-orange-rgb: 247, 103, 7; + --tblr-orange-fg: var(--tblr-light); + --tblr-orange-darken: rgb(222.3, 92.7, 6.3); + --tblr-orange-darken: color-mix(in oklab, var(--tblr-orange), transparent 20%); + --tblr-orange-lt: rgb(254.2, 239.8, 230.2); + --tblr-orange-lt: color-mix(in oklab, var(--tblr-orange) 10%, transparent); + --tblr-orange-200: color-mix(in oklab, var(--tblr-orange) 20%, transparent); + --tblr-orange-lt-rgb: 254.2, 239.8, 230.2; + --tblr-yellow: #f59f00; + --tblr-yellow-rgb: 245, 159, 0; + --tblr-yellow-fg: var(--tblr-light); + --tblr-yellow-darken: rgb(220.5, 143.1, 0); + --tblr-yellow-darken: color-mix(in oklab, var(--tblr-yellow), transparent 20%); + --tblr-yellow-lt: rgb(254, 245.4, 229.5); + --tblr-yellow-lt: color-mix(in oklab, var(--tblr-yellow) 10%, transparent); + --tblr-yellow-200: color-mix(in oklab, var(--tblr-yellow) 20%, transparent); + --tblr-yellow-lt-rgb: 254, 245.4, 229.5; + --tblr-lime: #74b816; + --tblr-lime-rgb: 116, 184, 22; + --tblr-lime-fg: var(--tblr-light); + --tblr-lime-darken: rgb(104.4, 165.6, 19.8); + --tblr-lime-darken: color-mix(in oklab, var(--tblr-lime), transparent 20%); + --tblr-lime-lt: rgb(241.1, 247.9, 231.7); + --tblr-lime-lt: color-mix(in oklab, var(--tblr-lime) 10%, transparent); + --tblr-lime-200: color-mix(in oklab, var(--tblr-lime) 20%, transparent); + --tblr-lime-lt-rgb: 241.1, 247.9, 231.7; + --tblr-green: #2fb344; + --tblr-green-rgb: 47, 179, 68; + --tblr-green-fg: var(--tblr-light); + --tblr-green-darken: rgb(42.3, 161.1, 61.2); + --tblr-green-darken: color-mix(in oklab, var(--tblr-green), transparent 20%); + --tblr-green-lt: rgb(234.2, 247.4, 236.3); + --tblr-green-lt: color-mix(in oklab, var(--tblr-green) 10%, transparent); + --tblr-green-200: color-mix(in oklab, var(--tblr-green) 20%, transparent); + --tblr-green-lt-rgb: 234.2, 247.4, 236.3; + --tblr-teal: #0ca678; + --tblr-teal-rgb: 12, 166, 120; + --tblr-teal-fg: var(--tblr-light); + --tblr-teal-darken: rgb(10.8, 149.4, 108); + --tblr-teal-darken: color-mix(in oklab, var(--tblr-teal), transparent 20%); + --tblr-teal-lt: rgb(230.7, 246.1, 241.5); + --tblr-teal-lt: color-mix(in oklab, var(--tblr-teal) 10%, transparent); + --tblr-teal-200: color-mix(in oklab, var(--tblr-teal) 20%, transparent); + --tblr-teal-lt-rgb: 230.7, 246.1, 241.5; + --tblr-cyan: #17a2b8; + --tblr-cyan-rgb: 23, 162, 184; + --tblr-cyan-fg: var(--tblr-light); + --tblr-cyan-darken: rgb(20.7, 145.8, 165.6); + --tblr-cyan-darken: color-mix(in oklab, var(--tblr-cyan), transparent 20%); + --tblr-cyan-lt: rgb(231.8, 245.7, 247.9); + --tblr-cyan-lt: color-mix(in oklab, var(--tblr-cyan) 10%, transparent); + --tblr-cyan-200: color-mix(in oklab, var(--tblr-cyan) 20%, transparent); + --tblr-cyan-lt-rgb: 231.8, 245.7, 247.9; + --tblr-x: #000000; + --tblr-x-rgb: 0, 0, 0; + --tblr-x-fg: var(--tblr-light); + --tblr-x-darken: black; + --tblr-x-darken: color-mix(in oklab, var(--tblr-x), transparent 20%); + --tblr-x-lt: rgb(229.5, 229.5, 229.5); + --tblr-x-lt: color-mix(in oklab, var(--tblr-x) 10%, transparent); + --tblr-x-200: color-mix(in oklab, var(--tblr-x) 20%, transparent); + --tblr-x-lt-rgb: 229.5, 229.5, 229.5; + --tblr-facebook: #1877f2; + --tblr-facebook-rgb: 24, 119, 242; + --tblr-facebook-fg: var(--tblr-light); + --tblr-facebook-darken: rgb(21.6, 107.1, 217.8); + --tblr-facebook-darken: color-mix(in oklab, var(--tblr-facebook), transparent 20%); + --tblr-facebook-lt: rgb(231.9, 241.4, 253.7); + --tblr-facebook-lt: color-mix(in oklab, var(--tblr-facebook) 10%, transparent); + --tblr-facebook-200: color-mix(in oklab, var(--tblr-facebook) 20%, transparent); + --tblr-facebook-lt-rgb: 231.9, 241.4, 253.7; + --tblr-twitter: #1da1f2; + --tblr-twitter-rgb: 29, 161, 242; + --tblr-twitter-fg: var(--tblr-light); + --tblr-twitter-darken: rgb(26.1, 144.9, 217.8); + --tblr-twitter-darken: color-mix(in oklab, var(--tblr-twitter), transparent 20%); + --tblr-twitter-lt: rgb(232.4, 245.6, 253.7); + --tblr-twitter-lt: color-mix(in oklab, var(--tblr-twitter) 10%, transparent); + --tblr-twitter-200: color-mix(in oklab, var(--tblr-twitter) 20%, transparent); + --tblr-twitter-lt-rgb: 232.4, 245.6, 253.7; + --tblr-linkedin: #0a66c2; + --tblr-linkedin-rgb: 10, 102, 194; + --tblr-linkedin-fg: var(--tblr-light); + --tblr-linkedin-darken: rgb(9, 91.8, 174.6); + --tblr-linkedin-darken: color-mix(in oklab, var(--tblr-linkedin), transparent 20%); + --tblr-linkedin-lt: rgb(230.5, 239.7, 248.9); + --tblr-linkedin-lt: color-mix(in oklab, var(--tblr-linkedin) 10%, transparent); + --tblr-linkedin-200: color-mix(in oklab, var(--tblr-linkedin) 20%, transparent); + --tblr-linkedin-lt-rgb: 230.5, 239.7, 248.9; + --tblr-google: #dc4e41; + --tblr-google-rgb: 220, 78, 65; + --tblr-google-fg: var(--tblr-light); + --tblr-google-darken: rgb(198, 70.2, 58.5); + --tblr-google-darken: color-mix(in oklab, var(--tblr-google), transparent 20%); + --tblr-google-lt: rgb(251.5, 237.3, 236); + --tblr-google-lt: color-mix(in oklab, var(--tblr-google) 10%, transparent); + --tblr-google-200: color-mix(in oklab, var(--tblr-google) 20%, transparent); + --tblr-google-lt-rgb: 251.5, 237.3, 236; + --tblr-youtube: #ff0000; + --tblr-youtube-rgb: 255, 0, 0; + --tblr-youtube-fg: var(--tblr-light); + --tblr-youtube-darken: rgb(229.5, 0, 0); + --tblr-youtube-darken: color-mix(in oklab, var(--tblr-youtube), transparent 20%); + --tblr-youtube-lt: rgb(255, 229.5, 229.5); + --tblr-youtube-lt: color-mix(in oklab, var(--tblr-youtube) 10%, transparent); + --tblr-youtube-200: color-mix(in oklab, var(--tblr-youtube) 20%, transparent); + --tblr-youtube-lt-rgb: 255, 229.5, 229.5; + --tblr-vimeo: #1ab7ea; + --tblr-vimeo-rgb: 26, 183, 234; + --tblr-vimeo-fg: var(--tblr-light); + --tblr-vimeo-darken: rgb(23.4, 164.7, 210.6); + --tblr-vimeo-darken: color-mix(in oklab, var(--tblr-vimeo), transparent 20%); + --tblr-vimeo-lt: rgb(232.1, 247.8, 252.9); + --tblr-vimeo-lt: color-mix(in oklab, var(--tblr-vimeo) 10%, transparent); + --tblr-vimeo-200: color-mix(in oklab, var(--tblr-vimeo) 20%, transparent); + --tblr-vimeo-lt-rgb: 232.1, 247.8, 252.9; + --tblr-dribbble: #ea4c89; + --tblr-dribbble-rgb: 234, 76, 137; + --tblr-dribbble-fg: var(--tblr-light); + --tblr-dribbble-darken: rgb(210.6, 68.4, 123.3); + --tblr-dribbble-darken: color-mix(in oklab, var(--tblr-dribbble), transparent 20%); + --tblr-dribbble-lt: rgb(252.9, 237.1, 243.2); + --tblr-dribbble-lt: color-mix(in oklab, var(--tblr-dribbble) 10%, transparent); + --tblr-dribbble-200: color-mix(in oklab, var(--tblr-dribbble) 20%, transparent); + --tblr-dribbble-lt-rgb: 252.9, 237.1, 243.2; + --tblr-github: #181717; + --tblr-github-rgb: 24, 23, 23; + --tblr-github-fg: var(--tblr-light); + --tblr-github-darken: rgb(21.6, 20.7, 20.7); + --tblr-github-darken: color-mix(in oklab, var(--tblr-github), transparent 20%); + --tblr-github-lt: rgb(231.9, 231.8, 231.8); + --tblr-github-lt: color-mix(in oklab, var(--tblr-github) 10%, transparent); + --tblr-github-200: color-mix(in oklab, var(--tblr-github) 20%, transparent); + --tblr-github-lt-rgb: 231.9, 231.8, 231.8; + --tblr-instagram: #e4405f; + --tblr-instagram-rgb: 228, 64, 95; + --tblr-instagram-fg: var(--tblr-light); + --tblr-instagram-darken: rgb(205.2, 57.6, 85.5); + --tblr-instagram-darken: color-mix(in oklab, var(--tblr-instagram), transparent 20%); + --tblr-instagram-lt: rgb(252.3, 235.9, 239); + --tblr-instagram-lt: color-mix(in oklab, var(--tblr-instagram) 10%, transparent); + --tblr-instagram-200: color-mix(in oklab, var(--tblr-instagram) 20%, transparent); + --tblr-instagram-lt-rgb: 252.3, 235.9, 239; + --tblr-pinterest: #bd081c; + --tblr-pinterest-rgb: 189, 8, 28; + --tblr-pinterest-fg: var(--tblr-light); + --tblr-pinterest-darken: rgb(170.1, 7.2, 25.2); + --tblr-pinterest-darken: color-mix(in oklab, var(--tblr-pinterest), transparent 20%); + --tblr-pinterest-lt: rgb(248.4, 230.3, 232.3); + --tblr-pinterest-lt: color-mix(in oklab, var(--tblr-pinterest) 10%, transparent); + --tblr-pinterest-200: color-mix(in oklab, var(--tblr-pinterest) 20%, transparent); + --tblr-pinterest-lt-rgb: 248.4, 230.3, 232.3; + --tblr-vk: #6383a8; + --tblr-vk-rgb: 99, 131, 168; + --tblr-vk-fg: var(--tblr-light); + --tblr-vk-darken: rgb(89.1, 117.9, 151.2); + --tblr-vk-darken: color-mix(in oklab, var(--tblr-vk), transparent 20%); + --tblr-vk-lt: rgb(239.4, 242.6, 246.3); + --tblr-vk-lt: color-mix(in oklab, var(--tblr-vk) 10%, transparent); + --tblr-vk-200: color-mix(in oklab, var(--tblr-vk) 20%, transparent); + --tblr-vk-lt-rgb: 239.4, 242.6, 246.3; + --tblr-rss: #ffa500; + --tblr-rss-rgb: 255, 165, 0; + --tblr-rss-fg: var(--tblr-dark); + --tblr-rss-darken: rgb(229.5, 148.5, 0); + --tblr-rss-darken: color-mix(in oklab, var(--tblr-rss), transparent 20%); + --tblr-rss-lt: rgb(255, 246, 229.5); + --tblr-rss-lt: color-mix(in oklab, var(--tblr-rss) 10%, transparent); + --tblr-rss-200: color-mix(in oklab, var(--tblr-rss) 20%, transparent); + --tblr-rss-lt-rgb: 255, 246, 229.5; + --tblr-flickr: #0063dc; + --tblr-flickr-rgb: 0, 99, 220; + --tblr-flickr-fg: var(--tblr-light); + --tblr-flickr-darken: rgb(0, 89.1, 198); + --tblr-flickr-darken: color-mix(in oklab, var(--tblr-flickr), transparent 20%); + --tblr-flickr-lt: rgb(229.5, 239.4, 251.5); + --tblr-flickr-lt: color-mix(in oklab, var(--tblr-flickr) 10%, transparent); + --tblr-flickr-200: color-mix(in oklab, var(--tblr-flickr) 20%, transparent); + --tblr-flickr-lt-rgb: 229.5, 239.4, 251.5; + --tblr-bitbucket: #0052cc; + --tblr-bitbucket-rgb: 0, 82, 204; + --tblr-bitbucket-fg: var(--tblr-light); + --tblr-bitbucket-darken: rgb(0, 73.8, 183.6); + --tblr-bitbucket-darken: color-mix(in oklab, var(--tblr-bitbucket), transparent 20%); + --tblr-bitbucket-lt: rgb(229.5, 237.7, 249.9); + --tblr-bitbucket-lt: color-mix(in oklab, var(--tblr-bitbucket) 10%, transparent); + --tblr-bitbucket-200: color-mix(in oklab, var(--tblr-bitbucket) 20%, transparent); + --tblr-bitbucket-lt-rgb: 229.5, 237.7, 249.9; + --tblr-tabler: #066fd1; + --tblr-tabler-rgb: 6, 111, 209; + --tblr-tabler-fg: var(--tblr-light); + --tblr-tabler-darken: rgb(5.4, 99.9, 188.1); + --tblr-tabler-darken: color-mix(in oklab, var(--tblr-tabler), transparent 20%); + --tblr-tabler-lt: rgb(230.1, 240.6, 250.4); + --tblr-tabler-lt: color-mix(in oklab, var(--tblr-tabler) 10%, transparent); + --tblr-tabler-200: color-mix(in oklab, var(--tblr-tabler) 20%, transparent); + --tblr-tabler-lt-rgb: 230.1, 240.6, 250.4; + /** Gray colors */ + --tblr-gray-50-fg: var(--tblr-body-color); + --tblr-gray-100-fg: var(--tblr-body-color); + --tblr-gray-200-fg: var(--tblr-body-color); + --tblr-gray-300-fg: var(--tblr-body-color); + --tblr-gray-400-fg: var(--tblr-white); + --tblr-gray-500-fg: var(--tblr-white); + --tblr-gray-600-fg: var(--tblr-white); + --tblr-gray-700-fg: var(--tblr-white); + --tblr-gray-800-fg: var(--tblr-white); + --tblr-gray-900-fg: var(--tblr-white); + --tblr-gray-950-fg: var(--tblr-white); + /** Spacers */ + --tblr-spacer-0: 0; + --tblr-spacer-1: 0.25rem; + --tblr-spacer-2: 0.5rem; + --tblr-spacer-3: 1rem; + --tblr-spacer-4: 1.5rem; + --tblr-spacer-5: 2rem; + --tblr-spacer-6: 2.5rem; + /** Font sizes */ + --tblr-font-weight-light: 300; + --tblr-font-weight-normal: 400; + --tblr-font-weight-medium: 500; + --tblr-font-weight-semibold: 600; + --tblr-font-weight-bold: 700; + --tblr-font-weight-headings: var(--tblr-font-weight-semibold); + --tblr-font-size-h1: 1.5rem; + --tblr-font-size-h2: 1.25rem; + --tblr-font-size-h3: 1rem; + --tblr-font-size-h4: 0.875rem; + --tblr-font-size-h5: 0.75rem; + --tblr-font-size-h6: 0.625rem; + --tblr-line-height-h1: 2rem; + --tblr-line-height-h2: 1.75rem; + --tblr-line-height-h3: 1.5rem; + --tblr-line-height-h4: 1.25rem; + --tblr-line-height-h5: 1rem; + --tblr-line-height-h6: 1rem; + --tblr-line-height-base: 1.4285714286; + --tblr-line-height-sm: 1.1428571429; + --tblr-line-height-lg: 1.7142857143; + --tblr-line-height-xl: 2; + /** Shadows */ + --tblr-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08); + --tblr-shadow-xs: 0 1px 2px 0 rgba(18, 18, 23, 0.05); + --tblr-shadow-sm: 0 1px 3px 0 rgba(18, 18, 23, 0.1), 0 1px 2px 0 rgba(18, 18, 23, 0.06); + --tblr-shadow-md: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08); + --tblr-shadow-lg: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08); + --tblr-shadow-xl: 0px 10px 10px -5px rgba(18, 18, 23, 0.04), 0px 20px 25px -5px rgba(18, 18, 23, 0.1); + --tblr-shadow-2xl: 0px 25px 50px -12px rgba(18, 18, 23, 0.25); + --tblr-shadow-overlay: 0px 2px 4px 0px rgba(18, 18, 23, 0.04), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 0px 0px 1px rgba(18, 18, 23, 0.1); + --tblr-shadow-border: 0px 0px 0px 1px rgba(18, 18, 23, 0.1); + --tblr-shadow-transparent: 0 0 0 0 transparent; + --tblr-shadow-input: 0 1px 2px 0 rgba(18, 18, 23, 0.05); + --tblr-shadow-card: 0 1px 2px 0 rgba(18, 18, 23, 0.05); + --tblr-shadow-card-hover: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08); + --tblr-shadow-dropdown: 0px 2px 4px 0px rgba(18, 18, 23, 0.04), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 0px 0px 1px rgba(18, 18, 23, 0.1); + /** Border radiuses */ + --tblr-border-radius-scale: 1; + --tblr-border-radius-0: calc(0 * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-xs: calc(2px * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-sm: calc(4px * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-md: calc(6px * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-lg: calc(8px * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius-pill: calc(100rem * var(--tblr-border-radius-scale, 1)); + --tblr-border-radius: var(--tblr-border-radius-md); + /** Backdrops */ + --tblr-backdrop-opacity: 0.32; + --tblr-backdrop-bg: var(--tblr-bg-surface-dark); + --tblr-backdrop-bg-dark: color-mix(in srgb, var(--tblr-color-dark), transparent var(--tblr-backdrop-opacity)); + --tblr-backdrop-bg-light: color-mix(in srgb, var(--tblr-color-light), transparent var(--tblr-backdrop-opacity)); + --tblr-backdrop-blur: 4px; + --tblr-backdrop-filter: blur(var(--tblr-backdrop-blur)); +} + +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-Thin.woff2") format("woff2"), url("../fonts/geist-sans/Geist-Thin.ttf") format("truetype"); + font-weight: 100; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-UltraLight.woff2") format("woff2"), url("../fonts/geist-sans/Geist-UltraLight.ttf") format("truetype"); + font-weight: 200; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-Light.woff2") format("woff2"), url("../fonts/geist-sans/Geist-Light.ttf") format("truetype"); + font-weight: 300; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-Regular.woff2") format("woff2"), url("../fonts/geist-sans/Geist-Regular.ttf") format("truetype"); + font-weight: 400; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-Medium.woff2") format("woff2"), url("../fonts/geist-sans/Geist-Medium.ttf") format("truetype"); + font-weight: 500; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-SemiBold.woff2") format("woff2"), url("../fonts/geist-sans/Geist-SemiBold.ttf") format("truetype"); + font-weight: 600; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-Bold.woff2") format("woff2"), url("../fonts/geist-sans/Geist-Bold.ttf") format("truetype"); + font-weight: 700; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-Black.woff2") format("woff2"), url("../fonts/geist-sans/Geist-Black.ttf") format("truetype"); + font-weight: 800; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-UltraBlack.woff2") format("woff2"), url("../fonts/geist-sans/Geist-UltraBlack.ttf") format("truetype"); + font-weight: 900; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist"; + src: url("../fonts/geist-sans/Geist-Variable.woff2") format("woff2"), url("../fonts/geist-sans/Geist-Variable.ttf") format("truetype"); + font-weight: 100 900; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-Thin.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-Thin.ttf") format("truetype"); + font-weight: 100; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-UltraLight.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-UltraLight.ttf") format("truetype"); + font-weight: 200; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-Light.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-Light.ttf") format("truetype"); + font-weight: 300; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-Regular.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-Regular.ttf") format("truetype"); + font-weight: 400; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-Medium.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-Medium.ttf") format("truetype"); + font-weight: 500; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-SemiBold.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-SemiBold.ttf") format("truetype"); + font-weight: 600; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-Bold.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-Bold.ttf") format("truetype"); + font-weight: 700; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-Black.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-Black.ttf") format("truetype"); + font-weight: 800; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-UltraBlack.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-UltraBlack.ttf") format("truetype"); + font-weight: 900; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: "Geist Mono"; + src: url("../fonts/geist-mono/GeistMono-Variable.woff2") format("woff2"), url("../fonts/geist-mono/GeistMono-Variable.ttf") format("truetype"); + font-weight: 100 900; + font-style: normal; + font-display: swap; +} +:root, +:host { + font-size: 16px; + height: 100%; +} + +:root, +:host, +[data-bs-theme=light], +[data-theme=light] { + color-scheme: light; + --tblr-spacer: var(--tblr-spacer-2); + --tblr-bg-surface: var(--tblr-bg-surface-primary); + --tblr-bg-surface-primary: var(--tblr-white); + --tblr-bg-surface-secondary: var(--tblr-gray-50); + --tblr-bg-surface-tertiary: var(--tblr-gray-50); + --tblr-bg-surface-dark: var(--tblr-gray-900); + --tblr-bg-surface-inverted: var(--tblr-gray-900); + --tblr-bg-forms: var(--tblr-bg-surface); + --tblr-text-inverted: var(--tblr-gray-100); + --tblr-body-color: var(--tblr-gray-700); + --tblr-body-bg: var(--tblr-bg-surface-secondary); + --tblr-link-color: var(--tblr-primary); + --tblr-link-hover-color: color-mix(in srgb, var(--tblr-primary), #000 20%); + --tblr-secondary: var(--tblr-gray-500); + --tblr-tertiary: var(--tblr-gray-400); + --tblr-border-color: var(--tblr-gray-200); + --tblr-border-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 11.9%, transparent); + --tblr-border-dark-color: var(--tblr-gray-300); + --tblr-border-dark-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 20.7%, transparent); + --tblr-border-light-color: var(--tblr-gray-200); + --tblr-border-light-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 4.7%, transparent); + --tblr-border-active-color: var(--tblr-gray-400); + --tblr-border-active-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 44.8%, transparent); + --tblr-icon-color: var(--tblr-gray-400); + --tblr-active-bg: color-mix(in srgb, var(--tblr-primary) 4%, transparent); + --tblr-disabled-bg: var(--tblr-bg-surface-secondary); + --tblr-disabled-color: color-mix(in srgb, var(--tblr-body-color) 40%, transparent); + --tblr-code-color: light-dark(var(--tblr-gray-600), var(--tblr-gray-400)); + --tblr-code-bg: light-dark(var(--tblr-gray-100), var(--tblr-gray-900)); + --tblr-dark-mode-border-color: rgb(45.7069767442, 60.4511627907, 81.0930232558); + --tblr-dark-mode-border-color-translucent: rgba(128, 150, 172, 0.2); + --tblr-dark-mode-border-active-color: rgb(53.0604651163, 70.176744186, 94.1395348837); + --tblr-dark-mode-border-dark-color: rgb(38.3534883721, 50.7255813953, 68.0465116279); + --tblr-page-padding: var(--tblr-spacer-3); + --tblr-page-padding-y: var(--tblr-spacer-4); +} +@media (max-width: 991.98px) { + :root, + :host, + [data-bs-theme=light], + [data-theme=light] { + --tblr-page-padding: var(--tblr-spacer-2); + } +} + +@keyframes pulse { + 0% { + transform: scale(1); + } + 14% { + transform: scale(1.25); + } + 28% { + transform: scale(1); + } + 42% { + transform: scale(1.25); + } + 70% { + transform: scale(1); + } +} +@keyframes tada { + 0% { + transform: scale3d(1, 1, 1); + } + 10%, 5% { + transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -5deg); + } + 15%, 25%, 35%, 45% { + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg); + } + 20%, 30%, 40% { + transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg); + } + 50% { + transform: scale3d(1, 1, 1); + } +} +@keyframes rotate-360 { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} +@keyframes blink { + from { + opacity: 0; + } + 50% { + opacity: 1; + } + to { + opacity: 0; + } +} +@keyframes shake { + 0% { + transform: scaleX(1); + } + 20% { + transform: scale3d(0.9, 0.9, 0.9) rotate(-5deg); + } + 50%, 70%, 90% { + transform: scale3d(1.25, 1.25, 1.25) rotate(5deg); + } + 60%, 80% { + transform: scale3d(1.25, 1.25, 1.25) rotate(-5deg); + } + to { + transform: scaleX(1); + } +} +html { + scrollbar-gutter: stable; +} +@supports not (scrollbar-gutter: stable) { + html { + overflow-y: scroll; + } +} + +body { + letter-spacing: 0; + touch-action: manipulation; + text-rendering: optimizeLegibility; + font-feature-settings: "liga" 0, "cv03", "cv04", "cv11"; + position: relative; + min-height: 100%; + height: 100%; + padding: 0; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +@media print { + body { + background: transparent; + } +} + +* { + scrollbar-color: color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent) transparent; +} + +*::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + *::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} + +*::-webkit-scrollbar-thumb { + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + *::-webkit-scrollbar-thumb { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} +*::-webkit-scrollbar-thumb { + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent); +} + +*::-webkit-scrollbar-track { + background: transparent; +} + +*:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%, transparent); +} + +*::-webkit-scrollbar-corner { + background: transparent; +} + +.layout-fluid .container, +.layout-fluid [class^=container-], +.layout-fluid [class*=" container-"] { + max-width: 100%; +} + +.layout-boxed { + --tblr-theme-boxed-border-radius: 0; + --tblr-theme-boxed-width: 1320px; +} +@media (min-width: 768px) { + .layout-boxed { + background: #1f2937 linear-gradient(to right, rgba(255, 255, 255, 0.1), transparent) fixed; + padding: 1rem; + --tblr-theme-boxed-border-radius: 6px; + } +} +.layout-boxed .page { + margin: 0 auto; + max-width: var(--tblr-theme-boxed-width); + border-radius: var(--tblr-theme-boxed-border-radius); +} +@supports (corner-shape: squircle) { + .layout-boxed .page { + corner-shape: squircle; + border-radius: calc(var(--tblr-theme-boxed-border-radius) * 2.5) !important; + } +} +.layout-boxed .page { + color: var(--tblr-body-color); +} +@media (min-width: 768px) { + .layout-boxed .page { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background: var(--tblr-body-bg); + } +} +.layout-boxed .page > .navbar:first-child { + border-start-start-radius: var(--tblr-theme-boxed-border-radius); + border-start-end-radius: var(--tblr-theme-boxed-border-radius); +} + +/** +Navbar + */ +.navbar { + --tblr-navbar-bg: var(--tblr-bg-surface); + --tblr-navbar-border-width: var(--tblr-border-width); + --tblr-navbar-active-border-color: var(--tblr-primary); + --tblr-navbar-active-bg: rgba(0, 0, 0, 0.2); + --tblr-navbar-border-color: var(--tblr-border-color); + --tblr-navbar-hover-color: var(--tblr-body-color); + align-items: stretch; + min-height: 3.5rem; + box-shadow: inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color); + background: var(--tblr-navbar-bg); + color: var(--tblr-navbar-color); +} +.navbar-collapse .navbar { + flex-grow: 1; +} +.navbar.collapsing { + min-height: 0; +} +.navbar .dropdown-menu { + position: absolute; + z-index: 1030; +} +.navbar .navbar-nav { + min-height: 3rem; +} +.navbar .navbar-nav .nav-link { + position: relative; + min-width: 2.5rem; + min-height: 2.5rem; + justify-content: center; + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .navbar .navbar-nav .nav-link { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.navbar .navbar-nav .nav-link .badge { + position: absolute; + top: 0.5rem; + inset-inline-end: 0.5rem; + transform: translate(50%, -50%); +} + +@media (max-width: 575.98px) { + .navbar-expand-sm .navbar-collapse { + flex-direction: column; + } + .navbar-expand-sm .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-sm .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-sm .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-expand-sm .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 576px) { + .navbar-expand-sm .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-sm .nav-item.active { + position: relative; + } + .navbar-expand-sm .nav-item.active .nav-link { + color: var(--tblr-navbar-active-color); + } + .navbar-expand-sm .nav-item.active:after { + content: ""; + position: absolute; + inset-inline-start: 0; + inset-inline-end: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-sm.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-sm.navbar-vertical.navbar-right, .navbar-expand-sm.navbar-vertical.navbar-end { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-sm.navbar-vertical ~ .navbar, + .navbar-expand-sm.navbar-vertical ~ .page-wrapper { + margin-inline-start: 15rem; + } + .navbar-expand-sm.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-sm.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-sm.navbar-vertical.navbar-end ~ .navbar, + .navbar-expand-sm.navbar-vertical.navbar-end ~ .page-wrapper { + margin-inline-start: 0; + margin-inline-end: 15rem; + } +} +@media (max-width: 767.98px) { + .navbar-expand-md .navbar-collapse { + flex-direction: column; + } + .navbar-expand-md .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-md .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-expand-md .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-expand-md .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-md .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-md .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-expand-md .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-expand-md .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-md .nav-item.active { + position: relative; + } + .navbar-expand-md .nav-item.active .nav-link { + color: var(--tblr-navbar-active-color); + } + .navbar-expand-md .nav-item.active:after { + content: ""; + position: absolute; + inset-inline-start: 0; + inset-inline-end: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-md.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-md.navbar-vertical.navbar-right, .navbar-expand-md.navbar-vertical.navbar-end { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-md.navbar-vertical ~ .navbar, + .navbar-expand-md.navbar-vertical ~ .page-wrapper { + margin-inline-start: 15rem; + } + .navbar-expand-md.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-md.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-md.navbar-vertical.navbar-end ~ .navbar, + .navbar-expand-md.navbar-vertical.navbar-end ~ .page-wrapper { + margin-inline-start: 0; + margin-inline-end: 15rem; + } +} +@media (max-width: 991.98px) { + .navbar-expand-lg .navbar-collapse { + flex-direction: column; + } + .navbar-expand-lg .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-lg .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-lg .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-expand-lg .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 992px) { + .navbar-expand-lg .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-lg .nav-item.active { + position: relative; + } + .navbar-expand-lg .nav-item.active .nav-link { + color: var(--tblr-navbar-active-color); + } + .navbar-expand-lg .nav-item.active:after { + content: ""; + position: absolute; + inset-inline-start: 0; + inset-inline-end: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-lg.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-lg.navbar-vertical.navbar-right, .navbar-expand-lg.navbar-vertical.navbar-end { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-lg.navbar-vertical ~ .navbar, + .navbar-expand-lg.navbar-vertical ~ .page-wrapper { + margin-inline-start: 15rem; + } + .navbar-expand-lg.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-lg.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-lg.navbar-vertical.navbar-end ~ .navbar, + .navbar-expand-lg.navbar-vertical.navbar-end ~ .page-wrapper { + margin-inline-start: 0; + margin-inline-end: 15rem; + } +} +@media (max-width: 1199.98px) { + .navbar-expand-xl .navbar-collapse { + flex-direction: column; + } + .navbar-expand-xl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-xl .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-xl .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-expand-xl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-xl .nav-item.active { + position: relative; + } + .navbar-expand-xl .nav-item.active .nav-link { + color: var(--tblr-navbar-active-color); + } + .navbar-expand-xl .nav-item.active:after { + content: ""; + position: absolute; + inset-inline-start: 0; + inset-inline-end: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-xl.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xl.navbar-vertical.navbar-right, .navbar-expand-xl.navbar-vertical.navbar-end { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xl.navbar-vertical ~ .navbar, + .navbar-expand-xl.navbar-vertical ~ .page-wrapper { + margin-inline-start: 15rem; + } + .navbar-expand-xl.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-xl.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-xl.navbar-vertical.navbar-end ~ .navbar, + .navbar-expand-xl.navbar-vertical.navbar-end ~ .page-wrapper { + margin-inline-start: 0; + margin-inline-end: 15rem; + } +} +@media (max-width: 1399.98px) { + .navbar-expand-xxl .navbar-collapse { + flex-direction: column; + } + .navbar-expand-xxl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-expand-xxl .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-expand-xxl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl .navbar-collapse { + width: auto; + flex: 1 1 auto; + } + .navbar-expand-xxl .nav-item.active { + position: relative; + } + .navbar-expand-xxl .nav-item.active .nav-link { + color: var(--tblr-navbar-active-color); + } + .navbar-expand-xxl .nav-item.active:after { + content: ""; + position: absolute; + inset-inline-start: 0; + inset-inline-end: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; + } + .navbar-expand-xxl.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xxl.navbar-vertical.navbar-right, .navbar-expand-xxl.navbar-vertical.navbar-end { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); + } + .navbar-expand-xxl.navbar-vertical ~ .navbar, + .navbar-expand-xxl.navbar-vertical ~ .page-wrapper { + margin-inline-start: 15rem; + } + .navbar-expand-xxl.navbar-vertical.navbar-right ~ .navbar, + .navbar-expand-xxl.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-xxl.navbar-vertical.navbar-end ~ .navbar, + .navbar-expand-xxl.navbar-vertical.navbar-end ~ .page-wrapper { + margin-inline-start: 0; + margin-inline-end: 15rem; + } +} +.navbar-expand .navbar-collapse { + flex-direction: column; +} +.navbar-expand .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; +} +.navbar-expand .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; +} +.navbar-expand .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; +} +.navbar-expand .navbar-collapse .dropdown-menu-columns { + flex-direction: column; +} +.navbar-expand .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); +} +.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); +} +.navbar-expand .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; +} +.navbar-expand .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; +} +.navbar-expand .navbar-collapse { + width: auto; + flex: 1 1 auto; +} +.navbar-expand .nav-item.active { + position: relative; +} +.navbar-expand .nav-item.active .nav-link { + color: var(--tblr-navbar-active-color); +} +.navbar-expand .nav-item.active:after { + content: ""; + position: absolute; + inset-inline-start: 0; + inset-inline-end: 0; + bottom: -0.25rem; + border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color); + border-bottom-width: 2px; +} +.navbar-expand.navbar-vertical { + box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); +} +.navbar-expand.navbar-vertical.navbar-right, .navbar-expand.navbar-vertical.navbar-end { + box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color); +} +.navbar-expand.navbar-vertical ~ .navbar, +.navbar-expand.navbar-vertical ~ .page-wrapper { + margin-inline-start: 15rem; +} +.navbar-expand.navbar-vertical.navbar-right ~ .navbar, +.navbar-expand.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand.navbar-vertical.navbar-end ~ .navbar, +.navbar-expand.navbar-vertical.navbar-end ~ .page-wrapper { + margin-inline-start: 0; + margin-inline-end: 15rem; +} + +/** +Navbar brand + */ +.navbar-brand { + display: inline-flex; + align-items: center; + font-weight: var(--tblr-font-weight-semibold); + margin: 0; + line-height: 1; + gap: 0.5rem; +} + +.navbar-brand-image { + height: 2rem; + width: auto; +} + +/** +Navbar toggler + */ +.navbar-toggler { + border: 0; + width: 2rem; + height: 2rem; + position: relative; + display: flex; + align-items: center; + justify-content: center; +} + +.navbar-toggler-icon { + height: 2px; + width: 1.25em; + background: currentColor; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .navbar-toggler-icon { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.navbar-toggler-icon { + position: relative; + transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s, opacity 0s 0.2s; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler-icon { + transition: none; + } +} +.navbar-toggler-icon:before, .navbar-toggler-icon:after { + content: ""; + display: block; + height: inherit; + width: inherit; + border-radius: inherit; + background: inherit; + position: absolute; + inset-inline-start: 0; + transition: inherit; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler-icon:before, .navbar-toggler-icon:after { + transition: none; + } +} +.navbar-toggler-icon:before { + top: -0.45em; +} +.navbar-toggler-icon:after { + bottom: -0.45em; +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon { + transform: rotate(45deg); + transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s, opacity 0s 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler[aria-expanded=true] .navbar-toggler-icon { + transition: none; + } +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before { + top: 0; + transform: rotate(-90deg); +} +.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after { + bottom: 0; + opacity: 0; +} + +/** +Navbar transparent + */ +.navbar-transparent { + --tblr-navbar-border-color: transparent !important; + background: transparent !important; +} + +/** +Navbar nav + */ +.navbar-nav { + --tblr-nav-link-hover-bg: color-mix(in srgb, var(--tblr-nav-link-color) 4%, transparent); + --tblr-nav-link-icon-color: color-mix(in srgb, var(--tblr-nav-link-color) 50%, transparent); + --tblr-nav-link-hover-icon-color: color-mix(in srgb, var(--tblr-nav-link-color) 80%, transparent); + margin: 0; + padding: 0; + align-items: stretch; +} +.navbar-nav .nav-item { + display: flex; + flex-direction: column; + justify-content: center; +} + +/** +Navbar side + */ +.navbar-side { + margin: 0; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-around; +} + +/** +Navbar vertical + */ +@media (min-width: 576px) { + .navbar-vertical.navbar-expand-sm { + width: 15rem; + position: fixed; + top: 0; + inset-inline-start: 0; + bottom: 0; + z-index: 1030; + align-items: start; + overflow-y: scroll; + padding: 0; + transition: transform 0.3s; + } +} +@media (min-width: 576px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-sm { + transition: none; + } +} +@media (min-width: 576px) { + .navbar-vertical.navbar-expand-sm.navbar-right, .navbar-vertical.navbar-expand-sm.navbar-end { + inset-inline-start: auto; + inset-inline-end: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-sm .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-sm > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: start; + padding: 0; + } + .navbar-vertical.navbar-expand-sm ~ .page { + padding-inline-start: 15rem; + } + .navbar-vertical.navbar-expand-sm ~ .page [class^=container] { + padding-inline-start: 1.5rem; + padding-inline-end: 1.5rem; + } + .navbar-vertical.navbar-expand-sm.navbar-right ~ .page, .navbar-vertical.navbar-expand-sm.navbar-end ~ .page { + padding-inline-start: 0; + padding-inline-end: 15rem; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-vertical.navbar-expand-md { + width: 15rem; + position: fixed; + top: 0; + inset-inline-start: 0; + bottom: 0; + z-index: 1030; + align-items: start; + overflow-y: scroll; + padding: 0; + transition: transform 0.3s; + } +} +@media (min-width: 768px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-md { + transition: none; + } +} +@media (min-width: 768px) { + .navbar-vertical.navbar-expand-md.navbar-right, .navbar-vertical.navbar-expand-md.navbar-end { + inset-inline-start: auto; + inset-inline-end: 0; + } + .navbar-vertical.navbar-expand-md .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-md .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-md .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-md .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-md > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: start; + padding: 0; + } + .navbar-vertical.navbar-expand-md ~ .page { + padding-inline-start: 15rem; + } + .navbar-vertical.navbar-expand-md ~ .page [class^=container] { + padding-inline-start: 1.5rem; + padding-inline-end: 1.5rem; + } + .navbar-vertical.navbar-expand-md.navbar-right ~ .page, .navbar-vertical.navbar-expand-md.navbar-end ~ .page { + padding-inline-start: 0; + padding-inline-end: 15rem; + } + .navbar-vertical.navbar-expand-md .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-md .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 992px) { + .navbar-vertical.navbar-expand-lg { + width: 15rem; + position: fixed; + top: 0; + inset-inline-start: 0; + bottom: 0; + z-index: 1030; + align-items: start; + overflow-y: scroll; + padding: 0; + transition: transform 0.3s; + } +} +@media (min-width: 992px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-lg { + transition: none; + } +} +@media (min-width: 992px) { + .navbar-vertical.navbar-expand-lg.navbar-right, .navbar-vertical.navbar-expand-lg.navbar-end { + inset-inline-start: auto; + inset-inline-end: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-lg .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-lg .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-lg > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: start; + padding: 0; + } + .navbar-vertical.navbar-expand-lg ~ .page { + padding-inline-start: 15rem; + } + .navbar-vertical.navbar-expand-lg ~ .page [class^=container] { + padding-inline-start: 1.5rem; + padding-inline-end: 1.5rem; + } + .navbar-vertical.navbar-expand-lg.navbar-right ~ .page, .navbar-vertical.navbar-expand-lg.navbar-end ~ .page { + padding-inline-start: 0; + padding-inline-end: 15rem; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1200px) { + .navbar-vertical.navbar-expand-xl { + width: 15rem; + position: fixed; + top: 0; + inset-inline-start: 0; + bottom: 0; + z-index: 1030; + align-items: start; + overflow-y: scroll; + padding: 0; + transition: transform 0.3s; + } +} +@media (min-width: 1200px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-xl { + transition: none; + } +} +@media (min-width: 1200px) { + .navbar-vertical.navbar-expand-xl.navbar-right, .navbar-vertical.navbar-expand-xl.navbar-end { + inset-inline-start: auto; + inset-inline-end: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-xl .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-xl .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-xl > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: start; + padding: 0; + } + .navbar-vertical.navbar-expand-xl ~ .page { + padding-inline-start: 15rem; + } + .navbar-vertical.navbar-expand-xl ~ .page [class^=container] { + padding-inline-start: 1.5rem; + padding-inline-end: 1.5rem; + } + .navbar-vertical.navbar-expand-xl.navbar-right ~ .page, .navbar-vertical.navbar-expand-xl.navbar-end ~ .page { + padding-inline-start: 0; + padding-inline-end: 15rem; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +@media (min-width: 1400px) { + .navbar-vertical.navbar-expand-xxl { + width: 15rem; + position: fixed; + top: 0; + inset-inline-start: 0; + bottom: 0; + z-index: 1030; + align-items: start; + overflow-y: scroll; + padding: 0; + transition: transform 0.3s; + } +} +@media (min-width: 1400px) and (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand-xxl { + transition: none; + } +} +@media (min-width: 1400px) { + .navbar-vertical.navbar-expand-xxl.navbar-right, .navbar-vertical.navbar-expand-xxl.navbar-end { + inset-inline-start: auto; + inset-inline-end: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-brand { + padding: 0.75rem 0; + justify-content: center; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse { + align-items: stretch; + } + .navbar-vertical.navbar-expand-xxl .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; + } + .navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .navbar-vertical.navbar-expand-xxl > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: start; + padding: 0; + } + .navbar-vertical.navbar-expand-xxl ~ .page { + padding-inline-start: 15rem; + } + .navbar-vertical.navbar-expand-xxl ~ .page [class^=container] { + padding-inline-start: 1.5rem; + padding-inline-end: 1.5rem; + } + .navbar-vertical.navbar-expand-xxl.navbar-right ~ .page, .navbar-vertical.navbar-expand-xxl.navbar-end ~ .page { + padding-inline-start: 0; + padding-inline-end: 15rem; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns { + flex-direction: column; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; + } + .navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; + } +} +.navbar-vertical.navbar-expand { + width: 15rem; + position: fixed; + top: 0; + inset-inline-start: 0; + bottom: 0; + z-index: 1030; + align-items: start; + overflow-y: scroll; + padding: 0; + transition: transform 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .navbar-vertical.navbar-expand { + transition: none; + } +} +.navbar-vertical.navbar-expand.navbar-right, .navbar-vertical.navbar-expand.navbar-end { + inset-inline-start: auto; + inset-inline-end: 0; +} +.navbar-vertical.navbar-expand .navbar-brand { + padding: 0.75rem 0; + justify-content: center; +} +.navbar-vertical.navbar-expand .navbar-collapse { + align-items: stretch; +} +.navbar-vertical.navbar-expand .navbar-nav { + flex-direction: column; + flex-grow: 1; + min-height: auto; +} +.navbar-vertical.navbar-expand .navbar-nav .nav-link { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar-vertical.navbar-expand > [class^=container] { + flex-direction: column; + align-items: stretch; + min-height: 100%; + justify-content: start; + padding: 0; +} +.navbar-vertical.navbar-expand ~ .page { + padding-inline-start: 15rem; +} +.navbar-vertical.navbar-expand ~ .page [class^=container] { + padding-inline-start: 1.5rem; + padding-inline-end: 1.5rem; +} +.navbar-vertical.navbar-expand.navbar-right ~ .page, .navbar-vertical.navbar-expand.navbar-end ~ .page { + padding-inline-start: 0; + padding-inline-end: 15rem; +} +.navbar-vertical.navbar-expand .navbar-collapse { + flex-direction: column; +} +.navbar-vertical.navbar-expand .navbar-collapse [class^=container] { + flex-direction: column; + align-items: stretch; + padding: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav { + margin-inline-start: 0; + margin-inline-end: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link { + padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2); + justify-content: start; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns { + flex-direction: column; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu { + padding: 0; + background: transparent; + position: static; + color: inherit; + box-shadow: none; + border: none; + min-width: 0; + margin: 0; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item { + min-width: 0; + display: flex; + width: auto; + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem); + color: inherit; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.disabled { + color: var(--tblr-disabled-color); + pointer-events: none; + background-color: transparent; +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active { + background: var(--tblr-navbar-active-bg); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item { + padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem); +} +.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after { + margin-inline-start: auto; +} +.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after { + border-bottom-width: 0; + border-inline-start-width: 3px; + inset-inline-end: auto; + top: 0; + bottom: 0; +} + +.navbar-overlap:after { + content: ""; + height: 9rem; + position: absolute; + top: 100%; + inset-inline-start: 0; + inset-inline-end: 0; + background: inherit; + z-index: -1; + box-shadow: inherit; +} + +.page { + display: flex; + flex-direction: column; + position: relative; + min-height: 100%; +} + +.page-center { + justify-content: center; +} + +.page-wrapper { + flex: 1; + display: flex; + flex-direction: column; +} +@media print { + .page-wrapper { + margin: 0 !important; + } +} + +.page-wrapper-full .page-body:first-child { + margin: 0; + border-top: 0; +} + +.page-body { + margin-top: var(--tblr-page-padding-y); + margin-bottom: var(--tblr-page-padding-y); + display: flex; + flex-direction: column; + flex: 1; +} + +.page-body-card { + background: var(--tblr-bg-surface); + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + padding: var(--tblr-page-padding) 0; + margin-bottom: 0; + flex: 1; +} +.page-body ~ .page-body-card { + margin-top: 0; +} + +.page-cover { + background: no-repeat center/cover; + min-height: 9rem; +} +@media (min-width: 768px) { + .page-cover { + min-height: 12rem; + } +} +@media (min-width: 992px) { + .page-cover { + min-height: 15rem; + } +} + +.page-cover-overlay { + position: relative; +} +.page-cover-overlay:after { + content: ""; + position: absolute; + top: 0; + inset-inline-start: 0; + inset-inline-end: 0; + bottom: 0; + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); +} + +.page-header { + display: flex; + flex-wrap: wrap; + min-height: 2.25rem; + flex-direction: column; + justify-content: center; + max-width: 100%; +} +.page-wrapper .page-header { + margin: var(--tblr-page-padding-y) 0 0; +} + +.page-header-border { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + padding: var(--tblr-page-padding-y) 0; + margin: 0 !important; + background-color: var(--tblr-bg-surface); +} + +.page-pretitle { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); +} + +.page-title { + margin: 0; + font-size: var(--tblr-font-size-h2); + line-height: var(--tblr-line-height-h2); + font-weight: var(--tblr-font-weight-headings); + color: inherit; + display: flex; + align-items: center; +} +.page-title svg { + width: 1.5rem; + height: 1.5rem; + margin-inline-end: 0.25rem; +} + +.page-title-lg { + font-size: 1.5rem; + line-height: 2rem; +} + +.page-subtitle { + margin-top: 0.25rem; + color: var(--tblr-secondary); +} + +.page-cover { + --tblr-page-cover-blur: 20px; + --tblr-page-cover-padding: 1rem; + min-height: 6rem; + padding: var(--tblr-page-cover-padding) 0; + position: relative; + overflow: hidden; +} + +.page-cover-img { + position: absolute; + top: calc(-2 * var(--tblr-page-cover-blur, 0)); + inset-inline-start: calc(-2 * var(--tblr-page-cover-blur, 0)); + inset-inline-end: calc(-2 * var(--tblr-page-cover-blur, 0)); + bottom: calc(-2 * var(--tblr-page-cover-blur, 0)); + pointer-events: none; + filter: blur(var(--tblr-page-cover-blur)); + -o-object-fit: cover; + object-fit: cover; + background-size: cover; + background-position: center; + z-index: -1; +} + +.page-tabs { + margin-top: 0.5rem; + position: relative; +} + +.page-header-tabs .nav-bordered { + border: 0; +} +.page-header-tabs + .page-body-card { + margin-top: 0; +} + +.footer { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + background-color: var(--tblr-bg-surface); + padding: 2rem 0; + color: var(--tblr-gray-500); + margin-top: auto; +} +@media print { + .footer { + display: none; + } +} + +.footer-transparent { + background-color: transparent; + border-top: 0; +} + +:root:not(.theme-dark):not([data-bs-theme=dark], [data-theme=dark]) .hide-theme-light { + display: none !important; +} +:root:not(.theme-dark):not([data-bs-theme=dark], [data-theme=dark]) .img-dark { + display: none !important; +} +:root.theme-dark .hide-theme-dark, :root[data-bs-theme=dark] .hide-theme-dark, body[data-bs-theme=dark] [data-bs-theme=light]:root .hide-theme-dark, +body[data-theme=dark] [data-theme=light]:root .hide-theme-dark, :root[data-theme=dark] .hide-theme-dark { + display: none !important; +} +:root.theme-dark .img-light, :root[data-bs-theme=dark] .img-light, body[data-bs-theme=dark] [data-bs-theme=light]:root .img-light, +body[data-theme=dark] [data-theme=light]:root .img-light, :root[data-theme=dark] .img-light { + display: none !important; +} + +[data-bs-theme=dark], body[data-bs-theme=dark] [data-bs-theme=light], +body[data-theme=dark] [data-theme=light], +[data-theme=dark] { + color-scheme: dark; + --tblr-body-color: var(--tblr-gray-200); + --tblr-secondary: var(--tblr-gray-400); + --tblr-body-bg: var(--tblr-gray-900); + --tblr-emphasis-color: #ffffff; + --tblr-emphasis-color-rgb: 255, 255, 255; + --tblr-bg-forms: var(--tblr-gray-900); + --tblr-bg-surface: var(--tblr-gray-800); + --tblr-bg-surface-inverted: var(--tblr-gray-100); + --tblr-bg-surface-secondary: var(--tblr-gray-900); + --tblr-bg-surface-tertiary: var(--tblr-gray-800); + --tblr-text-inverted: var(--tblr-gray-800); + --tblr-link-color: var(--tblr-primary); + --tblr-link-hover-color: color-mix(in srgb, var(--tblr-primary), black 20%); + --tblr-active-bg: rgb(34.676744186, 45.8627906977, 61.523255814); + --tblr-disabled-color: color-mix(in srgb, var(--tblr-body-color) 40%, transparent); + --tblr-border-color: var(--tblr-gray-700); + --tblr-border-color-translucent: var(--tblr-dark-mode-border-color-translucent); + --tblr-border-dark-color: var(--tblr-dark-mode-border-dark-color); + --tblr-border-active-color: var(--tblr-dark-mode-border-active-color); + --tblr-btn-color: rgb(27.323255814, 36.1372093023, 48.476744186); +} +[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image, +[data-theme=dark] .navbar-brand-autodark .navbar-brand-image { + filter: brightness(0) invert(1); +} + +.accordion { + --tblr-accordion-color: var(--tblr-body-color); + --tblr-accordion-border-color: var(--tblr-border-color); + --tblr-accordion-border-radius: var(--tblr-border-radius); + --tblr-accordion-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width))); + --tblr-accordion-padding-x: 1.25rem; + --tblr-accordion-gap: 0; + --tblr-accordion-active-color: inherit; + --tblr-accordion-btn-color: var(--tblr-accordion-color); + --tblr-accordion-btn-bg: transparent; + --tblr-accordion-btn-toggle-width: 1.25rem; + --tblr-accordion-btn-padding-x: var(--tblr-accordion-padding-x); + --tblr-accordion-btn-padding-y: 1rem; + --tblr-accordion-btn-font-weight: var(--tblr-font-weight-medium); + --tblr-accordion-body-padding-x: var(--tblr-accordion-padding-x); + --tblr-accordion-body-padding-y: 1rem; + display: flex; + flex-direction: column; + gap: var(--tblr-accordion-gap); +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-padding-x); + color: inherit; + text-align: inherit; + background-color: transparent; + border: 0; + font-size: inherit; + font-weight: var(--tblr-accordion-btn-font-weight); + gap: 0.75rem; +} +.accordion-button:not(.collapsed) { + border-bottom-color: transparent; + box-shadow: none; + color: var(--tblr-accordion-active-color); +} + +.accordion-header { + margin: 0; + position: relative; + display: flex; + gap: 1rem; + align-items: center; + width: 100%; + color: var(--tblr-accordion-btn-color); + text-align: start; + background-color: transparent; + border: 0; + overflow-anchor: none; + transition: transform 0.3s; +} +.accordion-header:hover { + z-index: 2; +} +.accordion-header:focus { + z-index: 3; + outline: 0; + box-shadow: var(--tblr-accordion-btn-focus-box-shadow); +} +.accordion-header:focus:not(:focus-visible) { + outline: none; + box-shadow: none; +} + +.accordion-button-icon { + color: var(--tblr-secondary); +} + +.accordion-button-toggle { + display: flex; + line-height: 1; + transition: 0.3s transform; + margin-inline-start: auto; + margin-inline-end: 0; + color: var(--tblr-secondary); + width: var(--tblr-accordion-btn-toggle-width); + height: var(--tblr-accordion-btn-toggle-width); +} +.accordion-button:not(.collapsed) .accordion-button-toggle { + transform: rotate(-180deg); + color: var(--tblr-accordion-active-color); +} +.accordion-button-toggle path { + transition: 0.3s opacity; +} + +.accordion-button:not(.collapsed) .accordion-button-toggle-plus path:first-child { + opacity: 0; +} + +.accordion-item { + color: var(--tblr-accordion-color); + border: var(--tblr-border-width) solid var(--tblr-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--tblr-accordion-border-radius); + border-top-right-radius: var(--tblr-accordion-border-radius); +} +.accordion-item:first-of-type > .accordion-header { + border-top-left-radius: var(--tblr-accordion-inner-border-radius); + border-top-right-radius: var(--tblr-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--tblr-accordion-border-radius); + border-bottom-left-radius: var(--tblr-accordion-border-radius); +} +.accordion-item:last-of-type > .accordion-header.collapsed { + border-bottom-right-radius: var(--tblr-accordion-inner-border-radius); + border-bottom-left-radius: var(--tblr-accordion-inner-border-radius); +} +.accordion-item:last-of-type > .accordion-collapse { + border-bottom-right-radius: var(--tblr-accordion-border-radius); + border-bottom-left-radius: var(--tblr-accordion-border-radius); +} + +.accordion-body { + color: var(--tblr-secondary); + padding: 0 var(--tblr-accordion-body-padding-x) var(--tblr-accordion-body-padding-y); +} + +.accordion-flush > .accordion-item { + border-inline-end: 0; + border-inline-start: 0; + border-radius: 0; +} +.accordion-flush > .accordion-item:first-child { + border-top: 0; +} +.accordion-flush > .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush > .accordion-item > .accordion-collapse, +.accordion-flush > .accordion-item > .accordion-header .accordion-button, +.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { + border-radius: 0; +} + +.accordion-tabs { + --tblr-accordion-gap: 0.75rem; +} +.accordion-tabs > .accordion-item { + border: var(--tblr-border-width) solid var(--tblr-accordion-border-color); + border-radius: var(--tblr-accordion-border-radius); +} +@supports (corner-shape: squircle) { + .accordion-tabs > .accordion-item { + corner-shape: squircle; + border-radius: calc(var(--tblr-accordion-border-radius) * 2.5) !important; + } +} + +.accordion-inverted .accordion-button-toggle { + order: -1; + margin-inline-start: 0; +} + +.alert { + --tblr-alert-variant-color: var(--tblr-body-color); + --tblr-alert-color: var(--tblr-alert-variant-color); + --tblr-alert-bg: color-mix(in srgb, var(--tblr-alert-variant-color) 16%, var(--tblr-bg-surface)); + --tblr-alert-padding-x: 1rem; + --tblr-alert-padding-y: 0.75rem; + --tblr-alert-margin-bottom: 1rem; + --tblr-alert-border-color: color-mix(in srgb, var(--tblr-alert-variant-color) 20%, var(--tblr-bg-surface)); + --tblr-alert-border-color: var(--tblr-border-color); + --tblr-alert-border: var(--tblr-border-width) solid var(--tblr-alert-border-color); + --tblr-alert-border-radius: var(--tblr-border-radius); + --tblr-alert-link-color: inherit; + --tblr-alert-heading-font-weight: var(--tblr-font-weight-medium); + position: relative; + padding: var(--tblr-alert-padding-y) var(--tblr-alert-padding-x); + margin-bottom: var(--tblr-alert-margin-bottom); + background-color: color-mix(in srgb, var(--tblr-alert-bg), var(--tblr-bg-surface)); + border-radius: var(--tblr-alert-border-radius); +} +@supports (corner-shape: squircle) { + .alert { + corner-shape: squircle; + border-radius: calc(var(--tblr-alert-border-radius) * 2.5) !important; + } +} +.alert { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-alert-border-color); + box-shadow: var(--tblr-box-shadow); + color: var(--tblr-alert-color); + display: flex; + flex-direction: row; + gap: 1rem; +} + +.alert-heading { + color: inherit; + margin-bottom: 0.25rem; + font-weight: var(--tblr-alert-heading-font-weight); +} + +.alert-description { + color: var(--tblr-secondary); +} + +.alert-icon { + color: var(--tblr-alert-color); + width: 1.25rem !important; + height: 1.25rem !important; +} + +.alert-action { + color: var(--tblr-alert-color); + text-decoration: underline; +} +.alert-action:hover { + text-decoration: none; +} + +.alert-list { + margin: 0; +} + +.alert-link { + font-weight: var(--tblr-font-weight-semibold); + color: var(--tblr-alert-link-color); +} +.alert-link, .alert-link:hover { + color: var(--tblr-alert-color); +} + +.alert-dismissible { + padding-inline-end: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: calc(var(--tblr-alert-padding-x) / 2 - 1px); + inset-inline-end: calc(var(--tblr-alert-padding-y) / 2 - 1px); + z-index: 1; + padding: calc(var(--tblr-alert-padding-y) * 1.25) var(--tblr-alert-padding-x); +} + +.alert-important { + background-color: var(--tblr-alert-variant-color); + color: var(--tblr-white); +} +.alert-important .alert-description { + color: inherit; +} +.alert-important .alert-icon { + color: inherit; +} + +.alert-minor { + background: transparent; + border-color: var(--tblr-border-color); +} + +.alert-primary { + --tblr-alert-variant-color: var(--tblr-primary); +} + +.alert-secondary { + --tblr-alert-variant-color: var(--tblr-secondary); +} + +.alert-success { + --tblr-alert-variant-color: var(--tblr-success); +} + +.alert-info { + --tblr-alert-variant-color: var(--tblr-info); +} + +.alert-warning { + --tblr-alert-variant-color: var(--tblr-warning); +} + +.alert-danger { + --tblr-alert-variant-color: var(--tblr-danger); +} + +.alert-light { + --tblr-alert-variant-color: var(--tblr-light); +} + +.alert-dark { + --tblr-alert-variant-color: var(--tblr-dark); +} + +.alert-muted { + --tblr-alert-variant-color: var(--tblr-muted); +} + +.alert-blue { + --tblr-alert-variant-color: var(--tblr-blue); +} + +.alert-azure { + --tblr-alert-variant-color: var(--tblr-azure); +} + +.alert-indigo { + --tblr-alert-variant-color: var(--tblr-indigo); +} + +.alert-purple { + --tblr-alert-variant-color: var(--tblr-purple); +} + +.alert-pink { + --tblr-alert-variant-color: var(--tblr-pink); +} + +.alert-red { + --tblr-alert-variant-color: var(--tblr-red); +} + +.alert-orange { + --tblr-alert-variant-color: var(--tblr-orange); +} + +.alert-yellow { + --tblr-alert-variant-color: var(--tblr-yellow); +} + +.alert-lime { + --tblr-alert-variant-color: var(--tblr-lime); +} + +.alert-green { + --tblr-alert-variant-color: var(--tblr-green); +} + +.alert-teal { + --tblr-alert-variant-color: var(--tblr-teal); +} + +.alert-cyan { + --tblr-alert-variant-color: var(--tblr-cyan); +} + +.avatar { + --tblr-avatar-size: var(--tblr-avatar-list-size, 2.5rem); + --tblr-avatar-status-size: 0.75rem; + --tblr-avatar-bg: var(--tblr-bg-surface-secondary); + --tblr-avatar-box-shadow-color: var(--tblr-border-color-translucent); + --tblr-avatar-box-shadow: inset 0 0 0 1px var(--tblr-avatar-box-shadow-color); + --tblr-avatar-font-size: 1rem; + --tblr-avatar-icon-size: 1.5rem; + --tblr-avatar-brand-size: 1.25rem; + --tblr-avatar-border-radius: var(--tblr-border-radius-pill); + position: relative; + width: var(--tblr-avatar-size); + height: var(--tblr-avatar-size); + font-size: var(--tblr-avatar-font-size); + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + display: inline-flex; + align-items: center; + justify-content: center; + color: var(--tblr-secondary); + text-align: center; + text-transform: uppercase; + vertical-align: bottom; + -webkit-user-select: none; + user-select: none; + background: var(--tblr-avatar-bg) no-repeat center/cover; + border-radius: var(--tblr-avatar-border-radius); +} +@supports (corner-shape: squircle) { + .avatar { + corner-shape: squircle; + border-radius: calc(var(--tblr-avatar-border-radius) * 2.5) !important; + } +} +.avatar { + box-shadow: var(--tblr-avatar-box-shadow); + transition: color 0.3s, background-color 0.3s, box-shadow 0.3s; +} +.avatar .icon { + width: var(--tblr-avatar-icon-size); + height: var(--tblr-avatar-icon-size); +} +.avatar .badge { + position: absolute; + inset-inline-end: 0; + bottom: 0; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .avatar .badge { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.avatar .badge { + box-shadow: 0 0 0 calc(var(--tblr-avatar-status-size) / 4) var(--tblr-bg-surface); +} +a.avatar { + cursor: pointer; +} +a.avatar:hover { + color: var(--tblr-primary); + --tblr-avatar-box-shadow-color: var(--tblr-primary); +} + +.avatar-rounded { + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .avatar-rounded { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} + +.avatar-square { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .avatar-square { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.avatar-xxs { + --tblr-avatar-size: 1rem; + --tblr-avatar-status-size: 0.25rem; + --tblr-avatar-font-size: 0.5rem; + --tblr-avatar-icon-size: 0.5rem; + --tblr-avatar-brand-size: 0.5rem; +} +.avatar-xxs .badge:empty { + width: 0.25rem; + height: 0.25rem; +} +@supports (corner-shape: squircle) { + .avatar-xxs.avatar-square { + corner-shape: squircle; + border-radius: calc( * 2.5) !important; + } +} + +.avatar-xs { + --tblr-avatar-size: 1.25rem; + --tblr-avatar-status-size: 0.375rem; + --tblr-avatar-font-size: 0.625rem; + --tblr-avatar-icon-size: 0.75rem; + --tblr-avatar-brand-size: 0.75rem; +} +.avatar-xs .badge:empty { + width: 0.375rem; + height: 0.375rem; +} +.avatar-xs.avatar-square { + border-radius: 2px; +} +@supports (corner-shape: squircle) { + .avatar-xs.avatar-square { + corner-shape: squircle; + border-radius: calc(2px * 2.5) !important; + } +} + +.avatar-sm { + --tblr-avatar-size: 2rem; + --tblr-avatar-status-size: 0.5rem; + --tblr-avatar-font-size: 0.75rem; + --tblr-avatar-icon-size: 1.5rem; + --tblr-avatar-brand-size: 1rem; +} +.avatar-sm .badge:empty { + width: 0.5rem; + height: 0.5rem; +} +@supports (corner-shape: squircle) { + .avatar-sm.avatar-square { + corner-shape: squircle; + border-radius: calc( * 2.5) !important; + } +} + +.avatar-md { + --tblr-avatar-size: 2.5rem; + --tblr-avatar-status-size: 0.75rem; + --tblr-avatar-font-size: 0.875rem; + --tblr-avatar-icon-size: 1.5rem; + --tblr-avatar-brand-size: 1.25rem; +} +.avatar-md .badge:empty { + width: 0.75rem; + height: 0.75rem; +} +@supports (corner-shape: squircle) { + .avatar-md.avatar-square { + corner-shape: squircle; + border-radius: calc( * 2.5) !important; + } +} + +.avatar-lg { + --tblr-avatar-size: 3rem; + --tblr-avatar-status-size: 0.75rem; + --tblr-avatar-font-size: 1.25rem; + --tblr-avatar-icon-size: 2rem; + --tblr-avatar-brand-size: 1.25rem; +} +.avatar-lg .badge:empty { + width: 0.75rem; + height: 0.75rem; +} +@supports (corner-shape: squircle) { + .avatar-lg.avatar-square { + corner-shape: squircle; + border-radius: calc( * 2.5) !important; + } +} + +.avatar-xl { + --tblr-avatar-size: 5rem; + --tblr-avatar-status-size: 1rem; + --tblr-avatar-font-size: 2rem; + --tblr-avatar-icon-size: 3rem; + --tblr-avatar-brand-size: 1.25rem; +} +.avatar-xl .badge:empty { + width: 1rem; + height: 1rem; +} +@supports (corner-shape: squircle) { + .avatar-xl.avatar-square { + corner-shape: squircle; + border-radius: calc( * 2.5) !important; + } +} + +.avatar-2xl { + --tblr-avatar-size: 7rem; + --tblr-avatar-status-size: 1rem; + --tblr-avatar-font-size: 3rem; + --tblr-avatar-icon-size: 5rem; + --tblr-avatar-brand-size: 2rem; +} +.avatar-2xl .badge:empty { + width: 1rem; + height: 1rem; +} +@supports (corner-shape: squircle) { + .avatar-2xl.avatar-square { + corner-shape: squircle; + border-radius: calc( * 2.5) !important; + } +} + +.avatar-list { + --tblr-avatar-list-size: 2.5rem; + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} +.avatar-list a.avatar:hover { + z-index: 1; +} + +.avatar-list-stacked { + display: block; + --tblr-list-gap: 0; +} +.avatar-list-stacked .avatar { + box-shadow: var(--tblr-avatar-box-shadow), 0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface)); +} +.avatar-list-stacked .avatar:not(:first-child) { + margin-inline-start: calc(-0.5 * var(--tblr-avatar-size)) !important; +} + +.avatar-list-xxs { + --tblr-avatar-list-size: 1rem; +} + +.avatar-list-xs { + --tblr-avatar-list-size: 1.25rem; +} + +.avatar-list-sm { + --tblr-avatar-list-size: 2rem; +} + +.avatar-list-md { + --tblr-avatar-list-size: 2.5rem; +} + +.avatar-list-lg { + --tblr-avatar-list-size: 3rem; +} + +.avatar-list-xl { + --tblr-avatar-list-size: 5rem; +} + +.avatar-list-2xl { + --tblr-avatar-list-size: 7rem; +} + +.avatar-upload { + border: var(--tblr-border-width) dashed var(--tblr-border-color); + background: var(--tblr-bg-forms); + box-shadow: none; + flex-direction: column; + transition: color 0.3s, background-color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .avatar-upload { + transition: none; + } +} +.avatar-upload svg { + width: 1.5rem; + height: 1.5rem; + stroke-width: 1; +} +.avatar-upload:hover { + border-color: var(--tblr-primary); + color: var(--tblr-primary); + text-decoration: none; +} + +.avatar-upload-text { + font-size: 0.625rem; + line-height: 1; + margin-top: 0.25rem; +} + +.avatar-cover { + margin-top: calc(-0.5 * var(--tblr-avatar-size)); + box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-body-bg)); +} + +.avatar-brand { + width: var(--tblr-avatar-brand-size); + height: var(--tblr-avatar-brand-size); + position: absolute; + inset-inline-end: -2px; + bottom: -2px; + z-index: 1000; + background: var(--tblr-bg-surface); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .avatar-brand { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.avatar-brand { + border: 1px solid var(--tblr-border-color); +} + +.badge { + --tblr-badge-padding-x: 0.5em; + --tblr-badge-padding-y: 0.25em; + --tblr-badge-font-size: 0.85714285em; + --tblr-badge-font-weight: var(--tblr-font-weight-medium); + --tblr-badge-color: var(--tblr-secondary); + --tblr-badge-border-radius: var(--tblr-border-radius); + --tblr-badge-icon-size: 1em; + --tblr-badge-line-height: 1; + display: inline-flex; + padding: var(--tblr-badge-padding-y) var(--tblr-badge-padding-x); + font-weight: var(--tblr-badge-font-weight); + font-size: var(--tblr-badge-font-size); + color: var(--tblr-badge-color); + text-align: center; + white-space: nowrap; + justify-content: center; + align-items: center; + gap: 0.25rem; + background: var(--tblr-bg-surface-secondary); + overflow: hidden; + -webkit-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) transparent; + border-radius: var(--tblr-badge-border-radius); +} +@supports (corner-shape: squircle) { + .badge { + corner-shape: squircle; + border-radius: calc(var(--tblr-badge-border-radius) * 2.5) !important; + } +} +.badge { + min-width: calc(1em + var(--tblr-badge-padding-y) * 2 + 2px); + letter-spacing: 0.04em; + vertical-align: bottom; + line-height: var(--tblr-badge-line-height); +} +a.badge { + background: var(--tblr-bg-surface-secondary); +} + +.badge .icon { + width: 1em; + height: 1em; + font-size: var(--tblr-badge-icon-size); + stroke-width: 2; +} + +.badge:empty, +.badge-dot { + display: inline-block; + width: 0.5rem; + height: 0.5rem; + min-width: 0; + min-height: auto; + padding: 0; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .badge:empty, + .badge-dot { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.badge:empty, +.badge-dot { + vertical-align: baseline; +} + +.badge-outline { + background-color: transparent; + border: var(--tblr-border-width) var(--tblr-border-style) currentColor; +} + +.badge-pill { + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .badge-pill { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} + +.badges-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} + +.badge-notification { + position: absolute !important; + top: 0 !important; + inset-inline-end: 0 !important; + transform: translate(50%, -50%); + z-index: 1; +} + +.badge-blink { + animation: blink 2s infinite; +} + +.badge-sm { + --tblr-badge-font-size: 0.71428571em; + --tblr-badge-icon-size: 1em; + --tblr-badge-padding-y: 2px; + --tblr-badge-padding-x: 0.25rem; +} + +.badge-lg { + --tblr-badge-font-size: 1em; + --tblr-badge-icon-size: 1em; + --tblr-badge-padding-y: 0.25rem; + --tblr-badge-padding-x: 0.5rem; +} + +.badge-icononly { + --tblr-badge-padding-x: 0; +} + +.breadcrumb { + --tblr-breadcrumb-padding-x: 0; + --tblr-breadcrumb-padding-y: 0; + --tblr-breadcrumb-margin-bottom: 1rem; + --tblr-breadcrumb-font-size: ; + --tblr-breadcrumb-bg: ; + --tblr-breadcrumb-border-radius: ; + --tblr-breadcrumb-divider-color: var(--tblr-gray-500); + --tblr-breadcrumb-item-padding-x: 0.5rem; + --tblr-breadcrumb-item-active-color: inherit; + --tblr-breadcrumb-item-active-font-weight: var(--tblr-font-weight-semibold); + --tblr-breadcrumb-item-disabled-color: var(--tblr-disabled-color); + --tblr-breadcrumb-link-color: var(--tblr-link-color); + display: flex; + flex-wrap: wrap; + font-size: var(--tblr-breadcrumb-font-size); + list-style: none; + background-color: var(--tblr-breadcrumb-bg); + border-radius: var(--tblr-breadcrumb-border-radius); +} +@supports (corner-shape: squircle) { + .breadcrumb { + corner-shape: squircle; + border-radius: calc(var(--tblr-breadcrumb-border-radius) * 2.5) !important; + } +} +.breadcrumb { + padding: 0; + margin: 0; + background: transparent; +} +.breadcrumb a { + color: var(--tblr-breadcrumb-link-color); +} +.breadcrumb a:hover { + text-decoration: underline; +} + +.breadcrumb-muted { + --tblr-breadcrumb-link-color: var(--tblr-secondary); +} + +.breadcrumb-item.active { + color: var(--tblr-breadcrumb-item-active-color); + font-weight: var(--tblr-breadcrumb-item-active-font-weight); +} +.breadcrumb-item.active a { + color: inherit; + pointer-events: none; +} +.breadcrumb-item.disabled { + color: var(--tblr-breadcrumb-item-disabled-color); +} +.breadcrumb-item.disabled:before { + color: inherit; +} +.breadcrumb-item.disabled a { + color: inherit; + pointer-events: none; +} +.breadcrumb-item + .breadcrumb-item { + padding-inline-start: var(--tblr-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: inline-start; + padding-inline-end: var(--tblr-breadcrumb-item-padding-x); + color: var(--tblr-breadcrumb-divider-color); + content: var(--tblr-breadcrumb-divider, "/"); + /*rtl:raw: + transform: scaleX(-1); + */ +} + +.breadcrumb-dots { + --tblr-breadcrumb-divider: '·'; +} + +.breadcrumb-arrows { + --tblr-breadcrumb-divider: '›'; +} + +.breadcrumb-bullets { + --tblr-breadcrumb-divider: '•'; +} + +.btn { + --tblr-btn-icon-size: 1.25rem; + --tblr-btn-icon-color: inherit; + --tblr-btn-bg: var(--tblr-bg-surface); + --tblr-btn-color: var(--tblr-body-color); + --tblr-btn-border-color: var(--tblr-border-color); + --tblr-btn-hover-bg: var(--tblr-btn-bg); + --tblr-btn-hover-border-color: var(--tblr-border-active-color); + --tblr-btn-active-color: var(--tblr-primary); + --tblr-btn-active-bg: color-mix(in srgb, var(--tblr-primary) 4%, transparent); + --tblr-btn-active-border-color: var(--tblr-primary); + display: inline-flex; + align-items: center; + justify-content: center; + white-space: nowrap; + box-shadow: var(--tblr-btn-box-shadow); + position: relative; + min-width: calc(var(--tblr-btn-line-height) * 1 + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); + min-height: calc(var(--tblr-btn-line-height) * 1 + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); + border-radius: var(--tblr-btn-border-radius); +} +@supports (corner-shape: squircle) { + .btn { + corner-shape: squircle; + border-radius: calc(var(--tblr-btn-border-radius) * 2.5) !important; + } +} +.btn .icon { + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + min-width: var(--tblr-btn-icon-size); + font-size: var(--tblr-btn-icon-size); + margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4); + vertical-align: bottom; + color: var(--tblr-btn-icon-color); +} +.btn .avatar { + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4); +} +.btn .icon-right, +.btn .icon-end { + margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2); +} +.btn .badge { + top: auto; +} +.btn-check + .btn:hover { + color: var(--tblr-btn-hover-color); + background-color: var(--tblr-btn-hover-bg); + border-color: var(--tblr-btn-hover-border-color); +} + +.btn-link { + color: rgb(6.711627907, 124.1651162791, 233.788372093); + background-color: transparent; + border-color: transparent; + box-shadow: none; +} +.btn-link .icon { + color: inherit; +} +.btn-link:hover { + color: rgb(4.8, 88.8, 167.2); + border-color: transparent; +} + +.btn-ghost { + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-box-shadow: none; + --tblr-btn-hover-bg: var(--tblr-bg-surface-secondary); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-body-color); +} + +.btn-primary { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-primary-fg, #ffffff); + --tblr-btn-bg: var(--tblr-primary); + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-bg: var(--tblr-primary-darken); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: var(--tblr-primary-darken); + --tblr-btn-disabled-bg: var(--tblr-primary); + --tblr-btn-disabled-color: var(--tblr-primary-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-primary, +.btn-outline.btn-primary { + --tblr-btn-color: var(--tblr-primary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-primary); + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-primary); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: var(--tblr-primary); + --tblr-btn-active-border-color: var(--tblr-primary); + --tblr-btn-disabled-color: var(--tblr-primary); + --tblr-btn-disabled-border-color: var(--tblr-primary); +} + +.btn-ghost-primary, +.btn-ghost.btn-primary { + --tblr-btn-color: var(--tblr-primary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-primary-fg); + --tblr-btn-hover-bg: var(--tblr-primary); + --tblr-btn-hover-border-color: var(--tblr-primary); + --tblr-btn-active-color: var(--tblr-primary-fg); + --tblr-btn-active-bg: var(--tblr-primary); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-primary); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-secondary { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-secondary-fg, #ffffff); + --tblr-btn-bg: var(--tblr-secondary); + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-bg: var(--tblr-secondary-darken); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: var(--tblr-secondary-darken); + --tblr-btn-disabled-bg: var(--tblr-secondary); + --tblr-btn-disabled-color: var(--tblr-secondary-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-secondary, +.btn-outline.btn-secondary { + --tblr-btn-color: var(--tblr-secondary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-secondary); + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-secondary); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: var(--tblr-secondary); + --tblr-btn-active-border-color: var(--tblr-secondary); + --tblr-btn-disabled-color: var(--tblr-secondary); + --tblr-btn-disabled-border-color: var(--tblr-secondary); +} + +.btn-ghost-secondary, +.btn-ghost.btn-secondary { + --tblr-btn-color: var(--tblr-secondary); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-secondary-fg); + --tblr-btn-hover-bg: var(--tblr-secondary); + --tblr-btn-hover-border-color: var(--tblr-secondary); + --tblr-btn-active-color: var(--tblr-secondary-fg); + --tblr-btn-active-bg: var(--tblr-secondary); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-secondary); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-success { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-success-fg, #ffffff); + --tblr-btn-bg: var(--tblr-success); + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-bg: var(--tblr-success-darken); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: var(--tblr-success-darken); + --tblr-btn-disabled-bg: var(--tblr-success); + --tblr-btn-disabled-color: var(--tblr-success-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-success, +.btn-outline.btn-success { + --tblr-btn-color: var(--tblr-success); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-success); + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-success); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: var(--tblr-success); + --tblr-btn-active-border-color: var(--tblr-success); + --tblr-btn-disabled-color: var(--tblr-success); + --tblr-btn-disabled-border-color: var(--tblr-success); +} + +.btn-ghost-success, +.btn-ghost.btn-success { + --tblr-btn-color: var(--tblr-success); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-success-fg); + --tblr-btn-hover-bg: var(--tblr-success); + --tblr-btn-hover-border-color: var(--tblr-success); + --tblr-btn-active-color: var(--tblr-success-fg); + --tblr-btn-active-bg: var(--tblr-success); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-success); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-info { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-info-fg, #ffffff); + --tblr-btn-bg: var(--tblr-info); + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-bg: var(--tblr-info-darken); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: var(--tblr-info-darken); + --tblr-btn-disabled-bg: var(--tblr-info); + --tblr-btn-disabled-color: var(--tblr-info-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-info, +.btn-outline.btn-info { + --tblr-btn-color: var(--tblr-info); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-info); + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-info); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: var(--tblr-info); + --tblr-btn-active-border-color: var(--tblr-info); + --tblr-btn-disabled-color: var(--tblr-info); + --tblr-btn-disabled-border-color: var(--tblr-info); +} + +.btn-ghost-info, +.btn-ghost.btn-info { + --tblr-btn-color: var(--tblr-info); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-info-fg); + --tblr-btn-hover-bg: var(--tblr-info); + --tblr-btn-hover-border-color: var(--tblr-info); + --tblr-btn-active-color: var(--tblr-info-fg); + --tblr-btn-active-bg: var(--tblr-info); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-info); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-warning { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-warning-fg, #ffffff); + --tblr-btn-bg: var(--tblr-warning); + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-bg: var(--tblr-warning-darken); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: var(--tblr-warning-darken); + --tblr-btn-disabled-bg: var(--tblr-warning); + --tblr-btn-disabled-color: var(--tblr-warning-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-warning, +.btn-outline.btn-warning { + --tblr-btn-color: var(--tblr-warning); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-warning); + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-warning); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: var(--tblr-warning); + --tblr-btn-active-border-color: var(--tblr-warning); + --tblr-btn-disabled-color: var(--tblr-warning); + --tblr-btn-disabled-border-color: var(--tblr-warning); +} + +.btn-ghost-warning, +.btn-ghost.btn-warning { + --tblr-btn-color: var(--tblr-warning); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-warning-fg); + --tblr-btn-hover-bg: var(--tblr-warning); + --tblr-btn-hover-border-color: var(--tblr-warning); + --tblr-btn-active-color: var(--tblr-warning-fg); + --tblr-btn-active-bg: var(--tblr-warning); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-warning); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-danger { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-danger-fg, #ffffff); + --tblr-btn-bg: var(--tblr-danger); + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-bg: var(--tblr-danger-darken); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: var(--tblr-danger-darken); + --tblr-btn-disabled-bg: var(--tblr-danger); + --tblr-btn-disabled-color: var(--tblr-danger-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-danger, +.btn-outline.btn-danger { + --tblr-btn-color: var(--tblr-danger); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-danger); + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-danger); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: var(--tblr-danger); + --tblr-btn-active-border-color: var(--tblr-danger); + --tblr-btn-disabled-color: var(--tblr-danger); + --tblr-btn-disabled-border-color: var(--tblr-danger); +} + +.btn-ghost-danger, +.btn-ghost.btn-danger { + --tblr-btn-color: var(--tblr-danger); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-danger-fg); + --tblr-btn-hover-bg: var(--tblr-danger); + --tblr-btn-hover-border-color: var(--tblr-danger); + --tblr-btn-active-color: var(--tblr-danger-fg); + --tblr-btn-active-bg: var(--tblr-danger); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-danger); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-light { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-light-fg, #ffffff); + --tblr-btn-bg: var(--tblr-light); + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-bg: var(--tblr-light-darken); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: var(--tblr-light-darken); + --tblr-btn-disabled-bg: var(--tblr-light); + --tblr-btn-disabled-color: var(--tblr-light-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-light, +.btn-outline.btn-light { + --tblr-btn-color: var(--tblr-light); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-light); + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-light); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: var(--tblr-light); + --tblr-btn-active-border-color: var(--tblr-light); + --tblr-btn-disabled-color: var(--tblr-light); + --tblr-btn-disabled-border-color: var(--tblr-light); +} + +.btn-ghost-light, +.btn-ghost.btn-light { + --tblr-btn-color: var(--tblr-light); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-light-fg); + --tblr-btn-hover-bg: var(--tblr-light); + --tblr-btn-hover-border-color: var(--tblr-light); + --tblr-btn-active-color: var(--tblr-light-fg); + --tblr-btn-active-bg: var(--tblr-light); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-light); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-dark { + --tblr-btn-border-color: var(--tblr-dark-mode-border-color); + --tblr-btn-hover-border-color: var(--tblr-dark-mode-border-active-color); + --tblr-btn-active-border-color: var(--tblr-dark-mode-border-active-color); + --tblr-btn-color: var(--tblr-dark-fg, #ffffff); + --tblr-btn-bg: var(--tblr-dark); + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-bg: var(--tblr-dark-darken); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: var(--tblr-dark-darken); + --tblr-btn-disabled-bg: var(--tblr-dark); + --tblr-btn-disabled-color: var(--tblr-dark-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-dark, +.btn-outline.btn-dark { + --tblr-btn-color: var(--tblr-dark); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-dark); + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-dark); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: var(--tblr-dark); + --tblr-btn-active-border-color: var(--tblr-dark); + --tblr-btn-disabled-color: var(--tblr-dark); + --tblr-btn-disabled-border-color: var(--tblr-dark); +} + +.btn-ghost-dark, +.btn-ghost.btn-dark { + --tblr-btn-color: var(--tblr-dark); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-dark-fg); + --tblr-btn-hover-bg: var(--tblr-dark); + --tblr-btn-hover-border-color: var(--tblr-dark); + --tblr-btn-active-color: var(--tblr-dark-fg); + --tblr-btn-active-bg: var(--tblr-dark); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-dark); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-muted { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-muted-fg, #ffffff); + --tblr-btn-bg: var(--tblr-muted); + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-bg: var(--tblr-muted-darken); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: var(--tblr-muted-darken); + --tblr-btn-disabled-bg: var(--tblr-muted); + --tblr-btn-disabled-color: var(--tblr-muted-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-muted, +.btn-outline.btn-muted { + --tblr-btn-color: var(--tblr-muted); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-muted); + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-muted); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: var(--tblr-muted); + --tblr-btn-active-border-color: var(--tblr-muted); + --tblr-btn-disabled-color: var(--tblr-muted); + --tblr-btn-disabled-border-color: var(--tblr-muted); +} + +.btn-ghost-muted, +.btn-ghost.btn-muted { + --tblr-btn-color: var(--tblr-muted); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-muted-fg); + --tblr-btn-hover-bg: var(--tblr-muted); + --tblr-btn-hover-border-color: var(--tblr-muted); + --tblr-btn-active-color: var(--tblr-muted-fg); + --tblr-btn-active-bg: var(--tblr-muted); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-muted); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-blue { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-blue-fg, #ffffff); + --tblr-btn-bg: var(--tblr-blue); + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-bg: var(--tblr-blue-darken); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: var(--tblr-blue-darken); + --tblr-btn-disabled-bg: var(--tblr-blue); + --tblr-btn-disabled-color: var(--tblr-blue-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-blue, +.btn-outline.btn-blue { + --tblr-btn-color: var(--tblr-blue); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-blue); + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-blue); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: var(--tblr-blue); + --tblr-btn-active-border-color: var(--tblr-blue); + --tblr-btn-disabled-color: var(--tblr-blue); + --tblr-btn-disabled-border-color: var(--tblr-blue); +} + +.btn-ghost-blue, +.btn-ghost.btn-blue { + --tblr-btn-color: var(--tblr-blue); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-blue-fg); + --tblr-btn-hover-bg: var(--tblr-blue); + --tblr-btn-hover-border-color: var(--tblr-blue); + --tblr-btn-active-color: var(--tblr-blue-fg); + --tblr-btn-active-bg: var(--tblr-blue); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-blue); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-azure { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-azure-fg, #ffffff); + --tblr-btn-bg: var(--tblr-azure); + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-bg: var(--tblr-azure-darken); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: var(--tblr-azure-darken); + --tblr-btn-disabled-bg: var(--tblr-azure); + --tblr-btn-disabled-color: var(--tblr-azure-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-azure, +.btn-outline.btn-azure { + --tblr-btn-color: var(--tblr-azure); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-azure); + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-azure); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: var(--tblr-azure); + --tblr-btn-active-border-color: var(--tblr-azure); + --tblr-btn-disabled-color: var(--tblr-azure); + --tblr-btn-disabled-border-color: var(--tblr-azure); +} + +.btn-ghost-azure, +.btn-ghost.btn-azure { + --tblr-btn-color: var(--tblr-azure); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-azure-fg); + --tblr-btn-hover-bg: var(--tblr-azure); + --tblr-btn-hover-border-color: var(--tblr-azure); + --tblr-btn-active-color: var(--tblr-azure-fg); + --tblr-btn-active-bg: var(--tblr-azure); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-azure); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-indigo { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-indigo-fg, #ffffff); + --tblr-btn-bg: var(--tblr-indigo); + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-bg: var(--tblr-indigo-darken); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: var(--tblr-indigo-darken); + --tblr-btn-disabled-bg: var(--tblr-indigo); + --tblr-btn-disabled-color: var(--tblr-indigo-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-indigo, +.btn-outline.btn-indigo { + --tblr-btn-color: var(--tblr-indigo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-indigo); + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-indigo); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: var(--tblr-indigo); + --tblr-btn-active-border-color: var(--tblr-indigo); + --tblr-btn-disabled-color: var(--tblr-indigo); + --tblr-btn-disabled-border-color: var(--tblr-indigo); +} + +.btn-ghost-indigo, +.btn-ghost.btn-indigo { + --tblr-btn-color: var(--tblr-indigo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-indigo-fg); + --tblr-btn-hover-bg: var(--tblr-indigo); + --tblr-btn-hover-border-color: var(--tblr-indigo); + --tblr-btn-active-color: var(--tblr-indigo-fg); + --tblr-btn-active-bg: var(--tblr-indigo); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-indigo); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-purple { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-purple-fg, #ffffff); + --tblr-btn-bg: var(--tblr-purple); + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-bg: var(--tblr-purple-darken); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: var(--tblr-purple-darken); + --tblr-btn-disabled-bg: var(--tblr-purple); + --tblr-btn-disabled-color: var(--tblr-purple-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-purple, +.btn-outline.btn-purple { + --tblr-btn-color: var(--tblr-purple); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-purple); + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-purple); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: var(--tblr-purple); + --tblr-btn-active-border-color: var(--tblr-purple); + --tblr-btn-disabled-color: var(--tblr-purple); + --tblr-btn-disabled-border-color: var(--tblr-purple); +} + +.btn-ghost-purple, +.btn-ghost.btn-purple { + --tblr-btn-color: var(--tblr-purple); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-purple-fg); + --tblr-btn-hover-bg: var(--tblr-purple); + --tblr-btn-hover-border-color: var(--tblr-purple); + --tblr-btn-active-color: var(--tblr-purple-fg); + --tblr-btn-active-bg: var(--tblr-purple); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-purple); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-pink { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-pink-fg, #ffffff); + --tblr-btn-bg: var(--tblr-pink); + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-bg: var(--tblr-pink-darken); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: var(--tblr-pink-darken); + --tblr-btn-disabled-bg: var(--tblr-pink); + --tblr-btn-disabled-color: var(--tblr-pink-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-pink, +.btn-outline.btn-pink { + --tblr-btn-color: var(--tblr-pink); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-pink); + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-pink); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: var(--tblr-pink); + --tblr-btn-active-border-color: var(--tblr-pink); + --tblr-btn-disabled-color: var(--tblr-pink); + --tblr-btn-disabled-border-color: var(--tblr-pink); +} + +.btn-ghost-pink, +.btn-ghost.btn-pink { + --tblr-btn-color: var(--tblr-pink); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-pink-fg); + --tblr-btn-hover-bg: var(--tblr-pink); + --tblr-btn-hover-border-color: var(--tblr-pink); + --tblr-btn-active-color: var(--tblr-pink-fg); + --tblr-btn-active-bg: var(--tblr-pink); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-pink); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-red { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-red-fg, #ffffff); + --tblr-btn-bg: var(--tblr-red); + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-bg: var(--tblr-red-darken); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: var(--tblr-red-darken); + --tblr-btn-disabled-bg: var(--tblr-red); + --tblr-btn-disabled-color: var(--tblr-red-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-red, +.btn-outline.btn-red { + --tblr-btn-color: var(--tblr-red); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-red); + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-red); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: var(--tblr-red); + --tblr-btn-active-border-color: var(--tblr-red); + --tblr-btn-disabled-color: var(--tblr-red); + --tblr-btn-disabled-border-color: var(--tblr-red); +} + +.btn-ghost-red, +.btn-ghost.btn-red { + --tblr-btn-color: var(--tblr-red); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-red-fg); + --tblr-btn-hover-bg: var(--tblr-red); + --tblr-btn-hover-border-color: var(--tblr-red); + --tblr-btn-active-color: var(--tblr-red-fg); + --tblr-btn-active-bg: var(--tblr-red); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-red); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-orange { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-orange-fg, #ffffff); + --tblr-btn-bg: var(--tblr-orange); + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-bg: var(--tblr-orange-darken); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: var(--tblr-orange-darken); + --tblr-btn-disabled-bg: var(--tblr-orange); + --tblr-btn-disabled-color: var(--tblr-orange-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-orange, +.btn-outline.btn-orange { + --tblr-btn-color: var(--tblr-orange); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-orange); + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-orange); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: var(--tblr-orange); + --tblr-btn-active-border-color: var(--tblr-orange); + --tblr-btn-disabled-color: var(--tblr-orange); + --tblr-btn-disabled-border-color: var(--tblr-orange); +} + +.btn-ghost-orange, +.btn-ghost.btn-orange { + --tblr-btn-color: var(--tblr-orange); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-orange-fg); + --tblr-btn-hover-bg: var(--tblr-orange); + --tblr-btn-hover-border-color: var(--tblr-orange); + --tblr-btn-active-color: var(--tblr-orange-fg); + --tblr-btn-active-bg: var(--tblr-orange); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-orange); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-yellow { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-yellow-fg, #ffffff); + --tblr-btn-bg: var(--tblr-yellow); + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-bg: var(--tblr-yellow-darken); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: var(--tblr-yellow-darken); + --tblr-btn-disabled-bg: var(--tblr-yellow); + --tblr-btn-disabled-color: var(--tblr-yellow-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-yellow, +.btn-outline.btn-yellow { + --tblr-btn-color: var(--tblr-yellow); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-yellow); + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-yellow); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: var(--tblr-yellow); + --tblr-btn-active-border-color: var(--tblr-yellow); + --tblr-btn-disabled-color: var(--tblr-yellow); + --tblr-btn-disabled-border-color: var(--tblr-yellow); +} + +.btn-ghost-yellow, +.btn-ghost.btn-yellow { + --tblr-btn-color: var(--tblr-yellow); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-yellow-fg); + --tblr-btn-hover-bg: var(--tblr-yellow); + --tblr-btn-hover-border-color: var(--tblr-yellow); + --tblr-btn-active-color: var(--tblr-yellow-fg); + --tblr-btn-active-bg: var(--tblr-yellow); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-yellow); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-lime { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-lime-fg, #ffffff); + --tblr-btn-bg: var(--tblr-lime); + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-bg: var(--tblr-lime-darken); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: var(--tblr-lime-darken); + --tblr-btn-disabled-bg: var(--tblr-lime); + --tblr-btn-disabled-color: var(--tblr-lime-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-lime, +.btn-outline.btn-lime { + --tblr-btn-color: var(--tblr-lime); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-lime); + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-lime); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: var(--tblr-lime); + --tblr-btn-active-border-color: var(--tblr-lime); + --tblr-btn-disabled-color: var(--tblr-lime); + --tblr-btn-disabled-border-color: var(--tblr-lime); +} + +.btn-ghost-lime, +.btn-ghost.btn-lime { + --tblr-btn-color: var(--tblr-lime); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-lime-fg); + --tblr-btn-hover-bg: var(--tblr-lime); + --tblr-btn-hover-border-color: var(--tblr-lime); + --tblr-btn-active-color: var(--tblr-lime-fg); + --tblr-btn-active-bg: var(--tblr-lime); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-lime); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-green { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-green-fg, #ffffff); + --tblr-btn-bg: var(--tblr-green); + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-bg: var(--tblr-green-darken); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: var(--tblr-green-darken); + --tblr-btn-disabled-bg: var(--tblr-green); + --tblr-btn-disabled-color: var(--tblr-green-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-green, +.btn-outline.btn-green { + --tblr-btn-color: var(--tblr-green); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-green); + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-green); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: var(--tblr-green); + --tblr-btn-active-border-color: var(--tblr-green); + --tblr-btn-disabled-color: var(--tblr-green); + --tblr-btn-disabled-border-color: var(--tblr-green); +} + +.btn-ghost-green, +.btn-ghost.btn-green { + --tblr-btn-color: var(--tblr-green); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-green-fg); + --tblr-btn-hover-bg: var(--tblr-green); + --tblr-btn-hover-border-color: var(--tblr-green); + --tblr-btn-active-color: var(--tblr-green-fg); + --tblr-btn-active-bg: var(--tblr-green); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-green); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-teal { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-teal-fg, #ffffff); + --tblr-btn-bg: var(--tblr-teal); + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-bg: var(--tblr-teal-darken); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: var(--tblr-teal-darken); + --tblr-btn-disabled-bg: var(--tblr-teal); + --tblr-btn-disabled-color: var(--tblr-teal-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-teal, +.btn-outline.btn-teal { + --tblr-btn-color: var(--tblr-teal); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-teal); + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-teal); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: var(--tblr-teal); + --tblr-btn-active-border-color: var(--tblr-teal); + --tblr-btn-disabled-color: var(--tblr-teal); + --tblr-btn-disabled-border-color: var(--tblr-teal); +} + +.btn-ghost-teal, +.btn-ghost.btn-teal { + --tblr-btn-color: var(--tblr-teal); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-teal-fg); + --tblr-btn-hover-bg: var(--tblr-teal); + --tblr-btn-hover-border-color: var(--tblr-teal); + --tblr-btn-active-color: var(--tblr-teal-fg); + --tblr-btn-active-bg: var(--tblr-teal); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-teal); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-cyan { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-cyan-fg, #ffffff); + --tblr-btn-bg: var(--tblr-cyan); + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-bg: var(--tblr-cyan-darken); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: var(--tblr-cyan-darken); + --tblr-btn-disabled-bg: var(--tblr-cyan); + --tblr-btn-disabled-color: var(--tblr-cyan-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-cyan, +.btn-outline.btn-cyan { + --tblr-btn-color: var(--tblr-cyan); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-cyan); + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-cyan); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: var(--tblr-cyan); + --tblr-btn-active-border-color: var(--tblr-cyan); + --tblr-btn-disabled-color: var(--tblr-cyan); + --tblr-btn-disabled-border-color: var(--tblr-cyan); +} + +.btn-ghost-cyan, +.btn-ghost.btn-cyan { + --tblr-btn-color: var(--tblr-cyan); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-cyan-fg); + --tblr-btn-hover-bg: var(--tblr-cyan); + --tblr-btn-hover-border-color: var(--tblr-cyan); + --tblr-btn-active-color: var(--tblr-cyan-fg); + --tblr-btn-active-bg: var(--tblr-cyan); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-cyan); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-x { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-x-fg, #ffffff); + --tblr-btn-bg: var(--tblr-x); + --tblr-btn-hover-color: var(--tblr-x-fg); + --tblr-btn-hover-bg: var(--tblr-x-darken); + --tblr-btn-active-color: var(--tblr-x-fg); + --tblr-btn-active-bg: var(--tblr-x-darken); + --tblr-btn-disabled-bg: var(--tblr-x); + --tblr-btn-disabled-color: var(--tblr-x-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-x, +.btn-outline.btn-x { + --tblr-btn-color: var(--tblr-x); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-x); + --tblr-btn-hover-color: var(--tblr-x-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-x); + --tblr-btn-active-color: var(--tblr-x-fg); + --tblr-btn-active-bg: var(--tblr-x); + --tblr-btn-active-border-color: var(--tblr-x); + --tblr-btn-disabled-color: var(--tblr-x); + --tblr-btn-disabled-border-color: var(--tblr-x); +} + +.btn-ghost-x, +.btn-ghost.btn-x { + --tblr-btn-color: var(--tblr-x); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-x-fg); + --tblr-btn-hover-bg: var(--tblr-x); + --tblr-btn-hover-border-color: var(--tblr-x); + --tblr-btn-active-color: var(--tblr-x-fg); + --tblr-btn-active-bg: var(--tblr-x); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-x); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-facebook { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-facebook-fg, #ffffff); + --tblr-btn-bg: var(--tblr-facebook); + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-bg: var(--tblr-facebook-darken); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: var(--tblr-facebook-darken); + --tblr-btn-disabled-bg: var(--tblr-facebook); + --tblr-btn-disabled-color: var(--tblr-facebook-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-facebook, +.btn-outline.btn-facebook { + --tblr-btn-color: var(--tblr-facebook); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-facebook); + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-facebook); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: var(--tblr-facebook); + --tblr-btn-active-border-color: var(--tblr-facebook); + --tblr-btn-disabled-color: var(--tblr-facebook); + --tblr-btn-disabled-border-color: var(--tblr-facebook); +} + +.btn-ghost-facebook, +.btn-ghost.btn-facebook { + --tblr-btn-color: var(--tblr-facebook); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-facebook-fg); + --tblr-btn-hover-bg: var(--tblr-facebook); + --tblr-btn-hover-border-color: var(--tblr-facebook); + --tblr-btn-active-color: var(--tblr-facebook-fg); + --tblr-btn-active-bg: var(--tblr-facebook); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-facebook); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-twitter { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-twitter-fg, #ffffff); + --tblr-btn-bg: var(--tblr-twitter); + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-bg: var(--tblr-twitter-darken); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: var(--tblr-twitter-darken); + --tblr-btn-disabled-bg: var(--tblr-twitter); + --tblr-btn-disabled-color: var(--tblr-twitter-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-twitter, +.btn-outline.btn-twitter { + --tblr-btn-color: var(--tblr-twitter); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-twitter); + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-twitter); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: var(--tblr-twitter); + --tblr-btn-active-border-color: var(--tblr-twitter); + --tblr-btn-disabled-color: var(--tblr-twitter); + --tblr-btn-disabled-border-color: var(--tblr-twitter); +} + +.btn-ghost-twitter, +.btn-ghost.btn-twitter { + --tblr-btn-color: var(--tblr-twitter); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-twitter-fg); + --tblr-btn-hover-bg: var(--tblr-twitter); + --tblr-btn-hover-border-color: var(--tblr-twitter); + --tblr-btn-active-color: var(--tblr-twitter-fg); + --tblr-btn-active-bg: var(--tblr-twitter); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-twitter); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-linkedin { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-linkedin-fg, #ffffff); + --tblr-btn-bg: var(--tblr-linkedin); + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-bg: var(--tblr-linkedin-darken); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: var(--tblr-linkedin-darken); + --tblr-btn-disabled-bg: var(--tblr-linkedin); + --tblr-btn-disabled-color: var(--tblr-linkedin-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-linkedin, +.btn-outline.btn-linkedin { + --tblr-btn-color: var(--tblr-linkedin); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-linkedin); + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-linkedin); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: var(--tblr-linkedin); + --tblr-btn-active-border-color: var(--tblr-linkedin); + --tblr-btn-disabled-color: var(--tblr-linkedin); + --tblr-btn-disabled-border-color: var(--tblr-linkedin); +} + +.btn-ghost-linkedin, +.btn-ghost.btn-linkedin { + --tblr-btn-color: var(--tblr-linkedin); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-linkedin-fg); + --tblr-btn-hover-bg: var(--tblr-linkedin); + --tblr-btn-hover-border-color: var(--tblr-linkedin); + --tblr-btn-active-color: var(--tblr-linkedin-fg); + --tblr-btn-active-bg: var(--tblr-linkedin); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-linkedin); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-google { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-google-fg, #ffffff); + --tblr-btn-bg: var(--tblr-google); + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-bg: var(--tblr-google-darken); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: var(--tblr-google-darken); + --tblr-btn-disabled-bg: var(--tblr-google); + --tblr-btn-disabled-color: var(--tblr-google-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-google, +.btn-outline.btn-google { + --tblr-btn-color: var(--tblr-google); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-google); + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-google); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: var(--tblr-google); + --tblr-btn-active-border-color: var(--tblr-google); + --tblr-btn-disabled-color: var(--tblr-google); + --tblr-btn-disabled-border-color: var(--tblr-google); +} + +.btn-ghost-google, +.btn-ghost.btn-google { + --tblr-btn-color: var(--tblr-google); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-google-fg); + --tblr-btn-hover-bg: var(--tblr-google); + --tblr-btn-hover-border-color: var(--tblr-google); + --tblr-btn-active-color: var(--tblr-google-fg); + --tblr-btn-active-bg: var(--tblr-google); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-google); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-youtube { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-youtube-fg, #ffffff); + --tblr-btn-bg: var(--tblr-youtube); + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-bg: var(--tblr-youtube-darken); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: var(--tblr-youtube-darken); + --tblr-btn-disabled-bg: var(--tblr-youtube); + --tblr-btn-disabled-color: var(--tblr-youtube-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-youtube, +.btn-outline.btn-youtube { + --tblr-btn-color: var(--tblr-youtube); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-youtube); + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-youtube); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: var(--tblr-youtube); + --tblr-btn-active-border-color: var(--tblr-youtube); + --tblr-btn-disabled-color: var(--tblr-youtube); + --tblr-btn-disabled-border-color: var(--tblr-youtube); +} + +.btn-ghost-youtube, +.btn-ghost.btn-youtube { + --tblr-btn-color: var(--tblr-youtube); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-youtube-fg); + --tblr-btn-hover-bg: var(--tblr-youtube); + --tblr-btn-hover-border-color: var(--tblr-youtube); + --tblr-btn-active-color: var(--tblr-youtube-fg); + --tblr-btn-active-bg: var(--tblr-youtube); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-youtube); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-vimeo { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-vimeo-fg, #ffffff); + --tblr-btn-bg: var(--tblr-vimeo); + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-bg: var(--tblr-vimeo-darken); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: var(--tblr-vimeo-darken); + --tblr-btn-disabled-bg: var(--tblr-vimeo); + --tblr-btn-disabled-color: var(--tblr-vimeo-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-vimeo, +.btn-outline.btn-vimeo { + --tblr-btn-color: var(--tblr-vimeo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-vimeo); + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-vimeo); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: var(--tblr-vimeo); + --tblr-btn-active-border-color: var(--tblr-vimeo); + --tblr-btn-disabled-color: var(--tblr-vimeo); + --tblr-btn-disabled-border-color: var(--tblr-vimeo); +} + +.btn-ghost-vimeo, +.btn-ghost.btn-vimeo { + --tblr-btn-color: var(--tblr-vimeo); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-vimeo-fg); + --tblr-btn-hover-bg: var(--tblr-vimeo); + --tblr-btn-hover-border-color: var(--tblr-vimeo); + --tblr-btn-active-color: var(--tblr-vimeo-fg); + --tblr-btn-active-bg: var(--tblr-vimeo); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-vimeo); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-dribbble { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-dribbble-fg, #ffffff); + --tblr-btn-bg: var(--tblr-dribbble); + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-bg: var(--tblr-dribbble-darken); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: var(--tblr-dribbble-darken); + --tblr-btn-disabled-bg: var(--tblr-dribbble); + --tblr-btn-disabled-color: var(--tblr-dribbble-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-dribbble, +.btn-outline.btn-dribbble { + --tblr-btn-color: var(--tblr-dribbble); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-dribbble); + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-dribbble); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: var(--tblr-dribbble); + --tblr-btn-active-border-color: var(--tblr-dribbble); + --tblr-btn-disabled-color: var(--tblr-dribbble); + --tblr-btn-disabled-border-color: var(--tblr-dribbble); +} + +.btn-ghost-dribbble, +.btn-ghost.btn-dribbble { + --tblr-btn-color: var(--tblr-dribbble); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-dribbble-fg); + --tblr-btn-hover-bg: var(--tblr-dribbble); + --tblr-btn-hover-border-color: var(--tblr-dribbble); + --tblr-btn-active-color: var(--tblr-dribbble-fg); + --tblr-btn-active-bg: var(--tblr-dribbble); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-dribbble); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-github { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-github-fg, #ffffff); + --tblr-btn-bg: var(--tblr-github); + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-bg: var(--tblr-github-darken); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: var(--tblr-github-darken); + --tblr-btn-disabled-bg: var(--tblr-github); + --tblr-btn-disabled-color: var(--tblr-github-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-github, +.btn-outline.btn-github { + --tblr-btn-color: var(--tblr-github); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-github); + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-github); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: var(--tblr-github); + --tblr-btn-active-border-color: var(--tblr-github); + --tblr-btn-disabled-color: var(--tblr-github); + --tblr-btn-disabled-border-color: var(--tblr-github); +} + +.btn-ghost-github, +.btn-ghost.btn-github { + --tblr-btn-color: var(--tblr-github); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-github-fg); + --tblr-btn-hover-bg: var(--tblr-github); + --tblr-btn-hover-border-color: var(--tblr-github); + --tblr-btn-active-color: var(--tblr-github-fg); + --tblr-btn-active-bg: var(--tblr-github); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-github); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-instagram { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-instagram-fg, #ffffff); + --tblr-btn-bg: var(--tblr-instagram); + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-bg: var(--tblr-instagram-darken); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: var(--tblr-instagram-darken); + --tblr-btn-disabled-bg: var(--tblr-instagram); + --tblr-btn-disabled-color: var(--tblr-instagram-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-instagram, +.btn-outline.btn-instagram { + --tblr-btn-color: var(--tblr-instagram); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-instagram); + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-instagram); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: var(--tblr-instagram); + --tblr-btn-active-border-color: var(--tblr-instagram); + --tblr-btn-disabled-color: var(--tblr-instagram); + --tblr-btn-disabled-border-color: var(--tblr-instagram); +} + +.btn-ghost-instagram, +.btn-ghost.btn-instagram { + --tblr-btn-color: var(--tblr-instagram); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-instagram-fg); + --tblr-btn-hover-bg: var(--tblr-instagram); + --tblr-btn-hover-border-color: var(--tblr-instagram); + --tblr-btn-active-color: var(--tblr-instagram-fg); + --tblr-btn-active-bg: var(--tblr-instagram); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-instagram); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-pinterest { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-pinterest-fg, #ffffff); + --tblr-btn-bg: var(--tblr-pinterest); + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-bg: var(--tblr-pinterest-darken); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: var(--tblr-pinterest-darken); + --tblr-btn-disabled-bg: var(--tblr-pinterest); + --tblr-btn-disabled-color: var(--tblr-pinterest-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-pinterest, +.btn-outline.btn-pinterest { + --tblr-btn-color: var(--tblr-pinterest); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-pinterest); + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-pinterest); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: var(--tblr-pinterest); + --tblr-btn-active-border-color: var(--tblr-pinterest); + --tblr-btn-disabled-color: var(--tblr-pinterest); + --tblr-btn-disabled-border-color: var(--tblr-pinterest); +} + +.btn-ghost-pinterest, +.btn-ghost.btn-pinterest { + --tblr-btn-color: var(--tblr-pinterest); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-pinterest-fg); + --tblr-btn-hover-bg: var(--tblr-pinterest); + --tblr-btn-hover-border-color: var(--tblr-pinterest); + --tblr-btn-active-color: var(--tblr-pinterest-fg); + --tblr-btn-active-bg: var(--tblr-pinterest); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-pinterest); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-vk { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-vk-fg, #ffffff); + --tblr-btn-bg: var(--tblr-vk); + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-bg: var(--tblr-vk-darken); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: var(--tblr-vk-darken); + --tblr-btn-disabled-bg: var(--tblr-vk); + --tblr-btn-disabled-color: var(--tblr-vk-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-vk, +.btn-outline.btn-vk { + --tblr-btn-color: var(--tblr-vk); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-vk); + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-vk); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: var(--tblr-vk); + --tblr-btn-active-border-color: var(--tblr-vk); + --tblr-btn-disabled-color: var(--tblr-vk); + --tblr-btn-disabled-border-color: var(--tblr-vk); +} + +.btn-ghost-vk, +.btn-ghost.btn-vk { + --tblr-btn-color: var(--tblr-vk); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-vk-fg); + --tblr-btn-hover-bg: var(--tblr-vk); + --tblr-btn-hover-border-color: var(--tblr-vk); + --tblr-btn-active-color: var(--tblr-vk-fg); + --tblr-btn-active-bg: var(--tblr-vk); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-vk); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-rss { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-rss-fg, #ffffff); + --tblr-btn-bg: var(--tblr-rss); + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-bg: var(--tblr-rss-darken); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: var(--tblr-rss-darken); + --tblr-btn-disabled-bg: var(--tblr-rss); + --tblr-btn-disabled-color: var(--tblr-rss-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-rss, +.btn-outline.btn-rss { + --tblr-btn-color: var(--tblr-rss); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-rss); + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-rss); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: var(--tblr-rss); + --tblr-btn-active-border-color: var(--tblr-rss); + --tblr-btn-disabled-color: var(--tblr-rss); + --tblr-btn-disabled-border-color: var(--tblr-rss); +} + +.btn-ghost-rss, +.btn-ghost.btn-rss { + --tblr-btn-color: var(--tblr-rss); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-rss-fg); + --tblr-btn-hover-bg: var(--tblr-rss); + --tblr-btn-hover-border-color: var(--tblr-rss); + --tblr-btn-active-color: var(--tblr-rss-fg); + --tblr-btn-active-bg: var(--tblr-rss); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-rss); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-flickr { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-flickr-fg, #ffffff); + --tblr-btn-bg: var(--tblr-flickr); + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-bg: var(--tblr-flickr-darken); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: var(--tblr-flickr-darken); + --tblr-btn-disabled-bg: var(--tblr-flickr); + --tblr-btn-disabled-color: var(--tblr-flickr-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-flickr, +.btn-outline.btn-flickr { + --tblr-btn-color: var(--tblr-flickr); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-flickr); + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-flickr); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: var(--tblr-flickr); + --tblr-btn-active-border-color: var(--tblr-flickr); + --tblr-btn-disabled-color: var(--tblr-flickr); + --tblr-btn-disabled-border-color: var(--tblr-flickr); +} + +.btn-ghost-flickr, +.btn-ghost.btn-flickr { + --tblr-btn-color: var(--tblr-flickr); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-flickr-fg); + --tblr-btn-hover-bg: var(--tblr-flickr); + --tblr-btn-hover-border-color: var(--tblr-flickr); + --tblr-btn-active-color: var(--tblr-flickr-fg); + --tblr-btn-active-bg: var(--tblr-flickr); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-flickr); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-bitbucket { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-bitbucket-fg, #ffffff); + --tblr-btn-bg: var(--tblr-bitbucket); + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-bg: var(--tblr-bitbucket-darken); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: var(--tblr-bitbucket-darken); + --tblr-btn-disabled-bg: var(--tblr-bitbucket); + --tblr-btn-disabled-color: var(--tblr-bitbucket-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-bitbucket, +.btn-outline.btn-bitbucket { + --tblr-btn-color: var(--tblr-bitbucket); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-bitbucket); + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-bitbucket); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: var(--tblr-bitbucket); + --tblr-btn-active-border-color: var(--tblr-bitbucket); + --tblr-btn-disabled-color: var(--tblr-bitbucket); + --tblr-btn-disabled-border-color: var(--tblr-bitbucket); +} + +.btn-ghost-bitbucket, +.btn-ghost.btn-bitbucket { + --tblr-btn-color: var(--tblr-bitbucket); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-bitbucket-fg); + --tblr-btn-hover-bg: var(--tblr-bitbucket); + --tblr-btn-hover-border-color: var(--tblr-bitbucket); + --tblr-btn-active-color: var(--tblr-bitbucket-fg); + --tblr-btn-active-bg: var(--tblr-bitbucket); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-bitbucket); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-tabler { + --tblr-btn-border-color: transparent; + --tblr-btn-hover-border-color: transparent; + --tblr-btn-active-border-color: transparent; + --tblr-btn-color: var(--tblr-tabler-fg, #ffffff); + --tblr-btn-bg: var(--tblr-tabler); + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-bg: var(--tblr-tabler-darken); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: var(--tblr-tabler-darken); + --tblr-btn-disabled-bg: var(--tblr-tabler); + --tblr-btn-disabled-color: var(--tblr-tabler-fg); + --tblr-btn-box-shadow: var(--tblr-shadow-input); +} + +.btn-outline-tabler, +.btn-outline.btn-tabler { + --tblr-btn-color: var(--tblr-tabler); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: var(--tblr-tabler); + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-border-color: transparent; + --tblr-btn-hover-bg: var(--tblr-tabler); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: var(--tblr-tabler); + --tblr-btn-active-border-color: var(--tblr-tabler); + --tblr-btn-disabled-color: var(--tblr-tabler); + --tblr-btn-disabled-border-color: var(--tblr-tabler); +} + +.btn-ghost-tabler, +.btn-ghost.btn-tabler { + --tblr-btn-color: var(--tblr-tabler); + --tblr-btn-bg: transparent; + --tblr-btn-border-color: transparent; + --tblr-btn-hover-color: var(--tblr-tabler-fg); + --tblr-btn-hover-bg: var(--tblr-tabler); + --tblr-btn-hover-border-color: var(--tblr-tabler); + --tblr-btn-active-color: var(--tblr-tabler-fg); + --tblr-btn-active-bg: var(--tblr-tabler); + --tblr-btn-active-border-color: transparent; + --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --tblr-btn-disabled-color: var(--tblr-tabler); + --tblr-btn-disabled-bg: transparent; + --tblr-btn-disabled-border-color: transparent; + --tblr-gradient: none; + --tblr-btn-box-shadow: none; +} + +.btn-sm, +.btn-group-sm > .btn { + --tblr-btn-line-height: 1rem; + --tblr-btn-icon-size: 1rem; +} + +.btn-lg, +.btn-group-lg > .btn { + --tblr-btn-line-height: 1.5rem; + --tblr-btn-icon-size: 1.5rem; +} + +.btn-xl, +.btn-group-xl > .btn { + --tblr-btn-line-height: 2rem; + --tblr-btn-icon-size: 2rem; + --tblr-btn-padding-y: 0.6875rem; + --tblr-btn-padding-x: 1.75rem; + --tblr-btn-font-size: 1.5rem; +} + +.btn-pill { + padding-inline-end: 1.5em; + padding-inline-start: 1.5em; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .btn-pill { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.btn-pill[class*=btn-icon] { + padding: 0.375rem 15px; +} + +.btn-square { + border-radius: 0; +} + +.btn-icon, +.btn-action { + padding-inline-start: 0; + padding-inline-end: 0; +} +.btn-icon .icon, +.btn-action .icon { + margin: calc(-1 * var(--tblr-btn-padding-x)); +} +.btn-icon, +.btn-action { + min-width: calc(var(--tblr-btn-line-height) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2); +} + +.btn-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} + +.btn-list-center { + justify-content: center; +} + +.btn-floating { + position: fixed; + z-index: 1030; + bottom: 1rem; + inset-inline-start: 1rem; + box-shadow: var(--tblr-shadow-dropdown); +} +@media print { + .btn-floating { + display: none; + } +} + +.btn-loading { + position: relative; + color: transparent !important; + text-shadow: none !important; + pointer-events: none; +} +.btn-loading > * { + opacity: 0; +} +.btn-loading:after { + content: ""; + display: inline-block; + vertical-align: text-bottom; + border: 2px var(--tblr-border-style) currentColor; + border-inline-end-color: transparent; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .btn-loading:after { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.btn-loading:after { + color: var(--tblr-btn-color); + position: absolute; + width: var(--tblr-btn-icon-size); + height: var(--tblr-btn-icon-size); + inset-inline-start: calc(50% - var(--tblr-btn-icon-size) / 2); + top: calc(50% - var(--tblr-btn-icon-size) / 2); + animation: spinner-border 0.75s linear infinite; +} + +.btn-action { + --tblr-border-color: transparent; + color: var(--tblr-secondary); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .btn-action { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.btn-action { + background: transparent; + box-shadow: none; +} +.btn-action:after { + content: none; +} +.btn-action:focus { + outline: none; + box-shadow: none; +} +.btn-action:hover, .btn-action.show { + color: var(--tblr-body-color); + background: var(--tblr-active-bg); + border-color: transparent; +} +.btn-action.show { + color: var(--tblr-primary); +} +@media print { + .btn-action { + display: none; + } +} + +.btn-actions { + display: flex; +} +@media print { + .btn-actions { + display: none; + } +} + +.btn-animate-icon .icon { + transition: transform 0.3s ease; +} +.btn-animate-icon:hover .icon, .btn-animate-icon:focus-visible .icon { + transform: translateX(4px); +} +.btn-animate-icon.btn-animate-icon-rotate:hover .icon, .btn-animate-icon.btn-animate-icon-rotate:focus-visible .icon { + transform: rotate(90deg); +} +.btn-animate-icon.btn-animate-icon-move-start:hover .icon, .btn-animate-icon.btn-animate-icon-move-start:focus-visible .icon { + transform: translateX(-4px); +} +.btn-animate-icon.btn-animate-icon-pulse:hover .icon, .btn-animate-icon.btn-animate-icon-pulse:focus-visible .icon { + transform: none; + animation: pulse 0.9s; +} +.btn-animate-icon.btn-animate-icon-shake:hover .icon, .btn-animate-icon.btn-animate-icon-shake:focus-visible .icon { + transform: none; + animation: shake 0.9s; +} +.btn-animate-icon.btn-animate-icon-tada:hover .icon, .btn-animate-icon.btn-animate-icon-tada:focus-visible .icon { + transform: none; + animation: tada 0.9s; +} + +.btn-group, +.btn-group-vertical { + box-shadow: var(--tblr-shadow-input); +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 5; +} +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus { + z-index: 1; +} + +.calendar { + display: block; + font-size: 0.765625rem; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .calendar { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.calendar-nav { + display: flex; + align-items: center; +} + +.calendar-title { + flex: 1; + text-align: center; +} + +.calendar-body, +.calendar-header { + display: flex; + flex-wrap: wrap; + justify-content: start; + padding: 0.5rem 0; +} + +.calendar-header { + color: var(--tblr-secondary); +} + +.calendar-date { + flex: 0 0 14.2857142857%; + max-width: 14.2857142857%; + padding: 0.2rem; + text-align: center; + border: 0; +} +.calendar-date.prev-month, .calendar-date.next-month { + opacity: 0.25; +} +.calendar-date .date-item { + position: relative; + display: inline-block; + width: 1.4rem; + height: 1.4rem; + line-height: 1.4rem; + color: #66758c; + text-align: center; + text-decoration: none; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: 0 0; + border: var(--tblr-border-width) var(--tblr-border-style) transparent; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .calendar-date .date-item { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.calendar-date .date-item { + outline: 0; + transition: background 0.3s, border 0.3s, box-shadow 0.32s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .calendar-date .date-item { + transition: none; + } +} +.calendar-date .date-item:hover { + color: var(--tblr-primary); + text-decoration: none; + background: #fefeff; + border-color: var(--tblr-border-color); +} +.calendar-date .date-today { + color: var(--tblr-primary); + border-color: var(--tblr-border-color); +} + +.calendar-range { + position: relative; +} +.calendar-range:before { + position: absolute; + top: 50%; + inset-inline-end: 0; + inset-inline-start: 0; + height: 1.4rem; + content: ""; + background: color-mix(in srgb, var(--tblr-primary) 10%, transparent); + transform: translateY(-50%); +} +.calendar-range.range-start .date-item, .calendar-range.range-end .date-item { + color: #ffffff; + background: var(--tblr-primary); + border-color: var(--tblr-primary); +} +.calendar-range.range-start:before { + inset-inline-start: 50%; +} +.calendar-range.range-end:before { + inset-inline-end: 50%; +} + +.carousel-indicators-vertical { + inset-inline-start: auto; + top: 0; + margin: 0 1rem 0 0; + flex-direction: column; +} +.carousel-indicators-vertical [data-bs-target], +.carousel-indicators-vertical [data-target] { + margin: 3px 0 3px; + width: 3px; + height: 30px; + border: 0; + border-inline-start: 10px var(--tblr-border-style) transparent; + border-inline-end: 10px var(--tblr-border-style) transparent; +} + +.carousel-indicators-dot [data-bs-target], +.carousel-indicators-dot [data-target] { + width: 0.5rem; + height: 0.5rem; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .carousel-indicators-dot [data-bs-target], + .carousel-indicators-dot [data-target] { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.carousel-indicators-dot [data-bs-target], +.carousel-indicators-dot [data-target] { + border: 10px var(--tblr-border-style) transparent; + margin: 0; +} + +.carousel-indicators-thumb [data-bs-target], +.carousel-indicators-thumb [data-target] { + width: 2rem; + height: auto; + background: no-repeat center/cover; + border: 0; + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .carousel-indicators-thumb [data-bs-target], + .carousel-indicators-thumb [data-target] { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.carousel-indicators-thumb [data-bs-target], +.carousel-indicators-thumb [data-target] { + box-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08); + margin: 0 3px; + opacity: 0.75; +} +@media (min-width: 992px) { + .carousel-indicators-thumb [data-bs-target], + .carousel-indicators-thumb [data-target] { + width: 4rem; + } +} +.carousel-indicators-thumb [data-bs-target]:before, +.carousel-indicators-thumb [data-target]:before { + content: ""; + padding-top: var(--tblr-aspect-ratio, 100%); + display: block; +} +.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target], +.carousel-indicators-thumb.carousel-indicators-vertical [data-target] { + margin: 3px 0; +} + +.carousel-caption-background { + background: red; + position: absolute; + inset-inline-start: 0; + inset-inline-end: 0; + bottom: 0; + height: 90%; + background: linear-gradient(0deg, rgba(31, 41, 55, 0.9), rgba(31, 41, 55, 0)); +} + +@property --tblr-card-gradient-direction { + syntax: ""; + inherits: true; + initial-value: 180deg; +} +@keyframes gradient-animation { + 0% { + --tblr-card-gradient-direction: 180deg; + } + 100% { + --tblr-card-gradient-direction: 540deg; + } +} +.card { + transition: transform 0.3s ease-out, opacity 0.3s ease-out, box-shadow 0.3s ease-out; +} +@media (prefers-reduced-motion: reduce) { + .card { + transition: none; + } +} +@media print { + .card { + border: none; + box-shadow: none; + } +} +a.card { + color: inherit; +} +a.card:hover { + text-decoration: none; + box-shadow: var(--tblr-shadow-card-hover); +} + +.card .card { + box-shadow: none; +} + +.card-borderless, +.card-borderless .card-header, +.card-borderless .card-footer { + border-color: transparent; +} + +.card-dashed { + border: var(--tblr-border-width) dashed var(--tblr-border-color); +} + +.card-transparent { + background: transparent; + border: var(--tblr-border-width) dashed var(--tblr-border-color); + box-shadow: none; +} + +.card-stamp { + --tblr-stamp-size: 7rem; + position: absolute; + top: 0; + inset-inline-end: 0; + width: calc(var(--tblr-stamp-size) * 1); + height: calc(var(--tblr-stamp-size) * 1); + max-height: 100%; + border-start-end-radius: 6px; + opacity: 0.2; + overflow: hidden; + pointer-events: none; +} + +.card-stamp-lg { + --tblr-stamp-size: 13rem; +} + +.card-stamp-icon { + background: var(--tblr-secondary); + color: var(--tblr-card-bg, var(--tblr-bg-surface)); + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .card-stamp-icon { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.card-stamp-icon { + width: calc(var(--tblr-stamp-size) * 1); + height: calc(var(--tblr-stamp-size) * 1); + position: relative; + top: calc(var(--tblr-stamp-size) * -0.25); + inset-inline-end: calc(var(--tblr-stamp-size) * -0.25); + font-size: calc(var(--tblr-stamp-size) * 0.75); + transform: rotate(10deg); +} +.card-stamp-icon .icon { + stroke-width: 2; + width: calc(var(--tblr-stamp-size) * 0.75); + height: calc(var(--tblr-stamp-size) * 0.75); +} + +.card-img, +.card-img-start { + border-top-left-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width))); + border-bottom-left-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width))); +} + +.card-img, +.card-img-end { + border-top-right-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width))); + border-bottom-right-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width))); +} + +.card-img-overlay { + display: flex; + flex-direction: column; + justify-content: end; +} + +.card-img-overlay-dark { + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); +} + +.card-inactive { + pointer-events: none; + box-shadow: none; +} +.card-inactive .card-body { + opacity: 0.64; +} + +.card-active { + --tblr-card-border-color: var(--tblr-primary); + --tblr-card-bg: var(--tblr-active-bg); +} + +.card-btn { + display: flex; + align-items: center; + justify-content: center; + padding: 1.25rem 1.25rem; + text-align: center; + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + flex: 1; + color: inherit; + font-weight: var(--tblr-font-weight-medium); + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .card-btn { + transition: none; + } +} +.card-btn:hover { + text-decoration: none; + background: color-mix(in srgb, var(--tblr-primary) 4%, transparent); +} +.card-btn + .card-btn { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +/** +Stacked card + */ +.card-stacked { + --tblr-card-stacked-offset: 0.25rem; + position: relative; +} +.card-stacked:after { + position: absolute; + top: calc(-1 * var(--tblr-card-stacked-offset)); + inset-inline-end: var(--tblr-card-stacked-offset); + inset-inline-start: var(--tblr-card-stacked-offset); + height: var(--tblr-card-stacked-offset); + content: ""; + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color); + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} +@supports (corner-shape: squircle) { + .card-stacked:after { + corner-shape: squircle; + border-radius: calc(var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0 * 2.5) !important; + } +} + +.card-cover { + position: relative; + padding: 1.25rem 1.25rem; + background: #666666 no-repeat center/cover; +} +.card-cover:before { + position: absolute; + top: 0; + inset-inline-end: 0; + bottom: 0; + inset-inline-start: 0; + content: ""; + background: rgba(31, 41, 55, 0.48); +} +.card-cover:first-child, .card-cover:first-child:before { + border-radius: 6px 6px 0 0; +} +@supports (corner-shape: squircle) { + .card-cover:first-child, .card-cover:first-child:before { + corner-shape: squircle; + border-radius: calc(6px 6px 0 0 * 2.5) !important; + } +} + +.card-cover-blurred:before { + -webkit-backdrop-filter: blur(2px); + backdrop-filter: blur(2px); +} + +.card-actions { + margin: -0.5rem -0.5rem -0.5rem auto; + padding-inline-start: 0.5rem; +} +.card-actions a { + text-decoration: none; +} + +.card-header { + color: inherit; + display: flex; + align-items: center; + background: transparent; +} +.card-header:first-child { + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} +@supports (corner-shape: squircle) { + .card-header:first-child { + corner-shape: squircle; + border-radius: calc(var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0 * 2.5) !important; + } +} + +.card-header-light { + border-bottom-color: transparent; + background: var(--tblr-bg-surface-tertiary); +} + +.card-header-tabs { + background: var(--tblr-bg-surface-tertiary); + flex: 1; + margin: calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1); + padding: calc(var(--tblr-card-cap-padding-y) * 0.5) calc(var(--tblr-card-cap-padding-x) * 0.5) 0; + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} +@supports (corner-shape: squircle) { + .card-header-tabs { + corner-shape: squircle; + border-radius: calc(var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0 * 2.5) !important; + } +} + +.card-header-pills { + flex: 1; + margin-top: -0.5rem; + margin-bottom: -0.5rem; +} + +.card-rotate-left, +.card-rotate-start { + transform: rotate(-1.5deg); +} + +.card-rotate-right, +.card-rotate-end { + transform: rotate(1.5deg); +} + +.card-link { + color: inherit; +} +.card-link:hover { + color: inherit; + text-decoration: none; + box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.08); +} + +.card-link-rotate:hover { + transform: rotate(1.5deg); + opacity: 1; +} + +.card-link-pop:hover { + transform: translateY(-2px); + opacity: 1; +} + +.card-footer { + margin-top: auto; +} +.card-footer:last-child { + border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); +} +@supports (corner-shape: squircle) { + .card-footer:last-child { + corner-shape: squircle; + border-radius: calc(0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius) * 2.5) !important; + } +} + +.card-footer-transparent { + background: transparent; + border-color: transparent; + padding-top: 0; +} + +.card-footer-borderless { + border-top: none; +} + +.card-progress { + height: 0.25rem; +} +.card-progress:last-child { + border-radius: 0 0 2px 2px; +} +@supports (corner-shape: squircle) { + .card-progress:last-child { + corner-shape: squircle; + border-radius: calc(0 0 2px 2px * 2.5) !important; + } +} +.card-progress:first-child { + border-radius: 2px 2px 0 0; +} +@supports (corner-shape: squircle) { + .card-progress:first-child { + corner-shape: squircle; + border-radius: calc(2px 2px 0 0 * 2.5) !important; + } +} + +.card-meta { + color: var(--tblr-secondary); +} + +.card-title { + display: block; + margin: 0 0 1rem; + font-size: 1rem; + font-weight: var(--tblr-font-weight-medium); + color: var(--tblr-heading-color); + line-height: 1.5rem; +} +a.card-title:hover { + color: inherit; +} + +.card-header .card-title { + margin: 0; +} + +.card-subtitle { + margin-bottom: 1.25rem; + color: var(--tblr-secondary); + font-weight: normal; +} +.card-header .card-subtitle { + margin: 0; +} +.card-title .card-subtitle { + margin: 0 0 0 0.25rem; + font-size: 0.875rem; +} + +.card-body { + position: relative; +} +.card-body > :last-child { + margin-bottom: 0; +} +.card-sm > .card-body { + padding: 1rem; +} +@media (min-width: 768px) { + .card-md > .card-body { + padding: 2.5rem; + } +} +@media (min-width: 768px) { + .card-lg > .card-body { + padding: 2rem; + } +} +@media (min-width: 992px) { + .card-lg > .card-body { + padding: 4rem; + } +} +@media print { + .card-body { + padding: 0; + } +} +.card-body + .card-body { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.card-body-scrollable { + overflow: auto; +} + +/** +Card optinos + */ +.card-options { + top: 1.5rem; + inset-inline-end: 0.75rem; + display: flex; + margin-inline-start: auto; +} + +.card-options-link { + display: inline-block; + min-width: 1rem; + margin-inline-start: 0.25rem; + color: var(--tblr-secondary); +} + +/** +Card status + */ +.card-status-top { + position: absolute; + top: 0; + inset-inline-end: 0; + inset-inline-start: 0; + height: 2px; + border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0; +} +@supports (corner-shape: squircle) { + .card-status-top { + corner-shape: squircle; + border-radius: calc(var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0 * 2.5) !important; + } +} + +.card-status-start { + position: absolute; + inset-inline-end: auto; + bottom: 0; + width: 2px; + height: 100%; + border-radius: var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius); +} +@supports (corner-shape: squircle) { + .card-status-start { + corner-shape: squircle; + border-radius: calc(var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius) * 2.5) !important; + } +} + +.card-status-bottom { + position: absolute; + top: initial; + bottom: 0; + width: 100%; + height: 2px; + border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius); +} +@supports (corner-shape: squircle) { + .card-status-bottom { + corner-shape: squircle; + border-radius: calc(0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius) * 2.5) !important; + } +} + +/** +Card table + */ +.card-table { + margin-bottom: 0 !important; +} +.card-table tr td:first-child, +.card-table tr th:first-child { + padding-left: 1.25rem; + border-left: 0; + border-top-left-radius: var(--tblr-card-border-radius); +} +.card-table tr td:last-child, +.card-table tr th:last-child { + padding-right: 1.25rem; + border-right: 0; + border-top-right-radius: var(--tblr-card-border-radius); + padding-inline-start: 1.25rem; + border-inline-start: 0; +} +.card-table tr td:last-child, +.card-table tr th:last-child { + padding-inline-end: 1.25rem; + border-inline-end: 0; +} +.card-table thead:last-child tr:last-child > *:last-child, +.card-table tbody:last-child tr:last-child > *:last-child, +.card-table tfoot:last-child tr:last-child > *:last-child { + border-end-end-radius: calc(var(--tblr-card-border-radius) - var(--tblr-card-border-width)); +} +.card-table thead:last-child tr:last-child > *:first-child, +.card-table tbody:last-child tr:last-child > *:first-child, +.card-table tfoot:last-child tr:last-child > *:first-child { + border-end-start-radius: calc(var(--tblr-card-border-radius) - var(--tblr-card-border-width)); +} +.card-table thead tr:first-child, +.card-table tbody tr:first-child, +.card-table tfoot tr:first-child { + border-top: 0; +} +.card-table thead tr:first-child td, +.card-table thead tr:first-child th, +.card-table tbody tr:first-child td, +.card-table tbody tr:first-child th, +.card-table tfoot tr:first-child td, +.card-table tfoot tr:first-child th { + border-top: 0; +} +.card-table tbody tr:last-child td { + border-bottom: 0; +} +.card-table tfoot tr:last-child { + border-bottom: 0; +} +.card-body + .card-table { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color); +} + +/* +Card code + */ +.card-code { + padding: 0; +} +.card-code .highlight { + margin: 0; + border: 0; +} +.card-code pre { + margin: 0 !important; + border: 0 !important; +} + +/* +Card chart + */ +.card-chart { + position: relative; + z-index: 1; + height: 3.5rem; +} + +/** +Card avatar + */ +.card-avatar { + margin-inline-start: auto; + margin-inline-end: auto; + box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-bg-surface)); + margin-top: calc(-1 * var(--tblr-avatar-size) * 0.5); +} + +/* +Card list group + */ +.card-body + .card-list-group { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.card-list-group .list-group-item { + padding-inline-end: 1.25rem; + padding-inline-start: 1.25rem; + border-inline-end: 0; + border-inline-start: 0; + border-radius: 0; +} +.card-list-group .list-group-item:last-child { + border-bottom: 0; +} +.card-list-group .list-group-item:first-child { + border-top: 0; +} + +.card-tabs .nav-tabs { + position: relative; + z-index: 1000; + border-bottom: 0; +} +.card-tabs .nav-tabs .nav-link { + background: var(--tblr-bg-surface-tertiary); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); +} +.card-tabs .nav-tabs .nav-link.active, .card-tabs .nav-tabs .nav-link:active, .card-tabs .nav-tabs .nav-link:hover { + border-color: var(--tblr-border-color-translucent); + color: var(--tblr-body-color); +} +.card-tabs .nav-tabs .nav-link.active { + color: light-dark(var(--tblr-gray-900), var(--tblr-white)); + background: var(--tblr-card-bg, var(--tblr-bg-surface)); + border-bottom-color: transparent; +} +.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link { + border-start-start-radius: 0; +} +.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link { + border-start-end-radius: 0; +} +.card-tabs .nav-tabs .nav-item + .nav-item { + margin-inline-start: calc(-1 * var(--tblr-border-width)); +} +.card-tabs .nav-tabs-bottom { + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-link { + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-link.active { + border-top-color: transparent; +} +.card-tabs .nav-tabs-bottom .nav-item { + margin-top: calc(-1 * var(--tblr-border-width)); + margin-bottom: 0; +} +.card-tabs .nav-tabs-bottom .nav-item .nav-link { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + border-radius: 0 0 var(--tblr-border-radius-lg) var(--tblr-border-radius-lg); +} +@supports (corner-shape: squircle) { + .card-tabs .nav-tabs-bottom .nav-item .nav-link { + corner-shape: squircle; + border-radius: calc(0 0 var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) * 2.5) !important; + } +} +.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link { + border-end-start-radius: 0; +} +.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link { + border-end-end-radius: 0; +} +.card-tabs .card { + border-end-start-radius: 0; +} +.card-tabs .nav-tabs + .tab-content .card { + border-end-start-radius: var(--tblr-card-border-radius); + border-start-start-radius: 0; +} + +/** +Card note +*/ +.card-note { + --tblr-card-bg: #fff7dd; + --tblr-card-border-color: #fff1c9; +} + +/** +Card gradient +*/ +.card-gradient { + --tblr-card-gradient-direction: 180deg; + --tblr-card-gradient-opacity: 86%; + --tblr-card-gradient: var(--tblr-primary), var(--tblr-primary); + background: radial-gradient(ellipse at center, var(--tblr-card-bg) 0%, color-mix(in srgb, var(--tblr-card-bg) 0%, transparent) 80%) border-box, linear-gradient(var(--tblr-card-gradient-direction), color-mix(in srgb, var(--tblr-card-bg) var(--tblr-card-gradient-opacity), transparent) 0%, var(--tblr-card-bg) 40%) border-box, linear-gradient(calc(270deg + var(--tblr-card-gradient-direction)), var(--tblr-card-gradient)) border-box; +} + +.card-gradient-blue { + --tblr-card-gradient: var(--tblr-blue), var(--tblr-blue); +} + +.card-gradient-azure { + --tblr-card-gradient: var(--tblr-azure), var(--tblr-azure); +} + +.card-gradient-indigo { + --tblr-card-gradient: var(--tblr-indigo), var(--tblr-indigo); +} + +.card-gradient-purple { + --tblr-card-gradient: var(--tblr-purple), var(--tblr-purple); +} + +.card-gradient-pink { + --tblr-card-gradient: var(--tblr-pink), var(--tblr-pink); +} + +.card-gradient-red { + --tblr-card-gradient: var(--tblr-red), var(--tblr-red); +} + +.card-gradient-orange { + --tblr-card-gradient: var(--tblr-orange), var(--tblr-orange); +} + +.card-gradient-yellow { + --tblr-card-gradient: var(--tblr-yellow), var(--tblr-yellow); +} + +.card-gradient-lime { + --tblr-card-gradient: var(--tblr-lime), var(--tblr-lime); +} + +.card-gradient-green { + --tblr-card-gradient: var(--tblr-green), var(--tblr-green); +} + +.card-gradient-teal { + --tblr-card-gradient: var(--tblr-teal), var(--tblr-teal); +} + +.card-gradient-cyan { + --tblr-card-gradient: var(--tblr-cyan), var(--tblr-cyan); +} + +.card-gradient-black { + --tblr-card-gradient: var(--tblr-black), var(--tblr-black); +} + +.card-gradient-white { + --tblr-card-gradient: var(--tblr-white), var(--tblr-white); +} + +.card-gradient-gray { + --tblr-card-gradient: var(--tblr-gray), var(--tblr-gray); +} + +.card-gradient-gray-dark { + --tblr-card-gradient: var(--tblr-gray-dark), var(--tblr-gray-dark); +} + +.card-gradient-primary { + --tblr-card-gradient: var(--tblr-primary), var(--tblr-primary); +} + +.card-gradient-secondary { + --tblr-card-gradient: var(--tblr-secondary), var(--tblr-secondary); +} + +.card-gradient-success { + --tblr-card-gradient: var(--tblr-success), var(--tblr-success); +} + +.card-gradient-info { + --tblr-card-gradient: var(--tblr-info), var(--tblr-info); +} + +.card-gradient-warning { + --tblr-card-gradient: var(--tblr-warning), var(--tblr-warning); +} + +.card-gradient-danger { + --tblr-card-gradient: var(--tblr-danger), var(--tblr-danger); +} + +.card-gradient-light { + --tblr-card-gradient: var(--tblr-light), var(--tblr-light); +} + +.card-gradient-dark { + --tblr-card-gradient: var(--tblr-dark), var(--tblr-dark); +} + +.card-gradient-muted { + --tblr-card-gradient: var(--tblr-muted), var(--tblr-muted); +} + +.card-gradient-rainbow { + --tblr-card-gradient: #78c5d6, #459ba8, #79c267, #c5d647, #f5d63d, #f08b33, #e868a2, #be61a5; +} + +.card-gradient-sun { + --tblr-card-gradient: #fd1d1d, #fcb045; +} + +.card-gradient-snow { + --tblr-card-gradient: #333, #e9ecef; +} + +.card-gradient-ocean { + --tblr-card-gradient: #1cb5e0, #000851; +} + +.card-gradient-mellow { + --tblr-card-gradient: #f8ff00, #3ad59f; +} + +.card-gradient-disco { + --tblr-card-gradient: #fc466b, #3f5efb; +} + +.card-gradient-psychedelic { + --tblr-card-gradient: #fcc5e4, #fda34b, #ff7882, #c8699e, #7046aa, #0c1db8, #020f75; +} + +.card-gradient-love { + --tblr-card-gradient: #f235e6, #bc0707; +} + +.card-gradient-gold { + --tblr-card-gradient: #9d4100, #bf7122, #f59f00, #ffd700; +} + +.card-gradient-animated { + animation: gradient-animation 15s linear infinite; +} + +.card-gradient-bottom { + --tblr-card-gradient-direction: 0deg; +} + +.card-gradient-end { + --tblr-card-gradient-direction: 270deg; +} + +.card-gradient-start { + --tblr-card-gradient-direction: 90deg; +} + +.btn-close { + --tblr-btn-close-color: currentColor; + --tblr-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236b7280'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e"); + --tblr-btn-close-opacity: 0.4; + --tblr-btn-close-hover-opacity: 0.75; + --tblr-btn-close-focus-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); + --tblr-btn-close-focus-opacity: 1; + --tblr-btn-close-disabled-opacity: 0.25; + --tblr-btn-close-size: 1em; + width: var(--tblr-btn-close-size); + height: var(--tblr-btn-close-size); + padding: 0.25em 0.25em; + color: var(--tblr-btn-close-color); + -webkit-mask: var(--tblr-btn-close-bg) no-repeat center/calc(var(--tblr-btn-close-size) * 0.75); + mask: var(--tblr-btn-close-bg) no-repeat center/calc(var(--tblr-btn-close-size) * 0.75); + background-color: var(--tblr-btn-close-color); + border: 0; + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .btn-close { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.btn-close { + opacity: var(--tblr-btn-close-opacity); + cursor: pointer; + display: block; +} +.btn-close:hover { + color: var(--tblr-btn-close-color); + text-decoration: none; + opacity: var(--tblr-btn-close-hover-opacity); + background-color: var(--tblr-btn-close-color); +} +.btn-close:focus { + outline: 0; + box-shadow: var(--tblr-btn-close-focus-shadow); + opacity: var(--tblr-btn-close-focus-opacity); +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + user-select: none; + opacity: var(--tblr-btn-close-disabled-opacity); +} +@media print { + .btn-close { + display: none; + } +} + +.dropdown-menu { + --tblr-dropdown-item-gap: 0.5rem; + --tblr-dropdown-item-icon-size: 1.25rem; + --tblr-dropdown-item-icon-color: var(--tblr-tertiary); + -webkit-user-select: none; + user-select: none; + background-clip: border-box; +} +.dropdown-menu.card { + padding: 0; + min-width: 25rem; + display: none; +} +.dropdown-menu.card.show { + display: flex; +} +@media print { + .dropdown-menu { + display: none; + } +} + +.dropdown-item { + min-width: 11rem; + display: flex; + align-items: center; + margin: 0; + line-height: 1.4285714286; + gap: var(--tblr-dropdown-item-gap); +} + +.dropdown-item-icon { + width: var(--tblr-dropdown-item-icon-size) !important; + height: var(--tblr-dropdown-item-icon-size) !important; + color: var(--tblr-dropdown-item-icon-color); + text-align: center; +} + +.dropdown-item-indicator { + height: 1.25rem; + display: inline-flex; + line-height: 1; + vertical-align: bottom; + align-items: center; +} + +.dropdown-header { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + padding-bottom: 0.25rem; + pointer-events: none; +} + +.dropdown-menu-scrollable { + height: auto; + max-height: 13rem; + overflow-x: hidden; +} + +.dropdown-menu-column { + min-width: 11rem; +} +.dropdown-menu-column .dropdown-item { + min-width: 0; +} + +.dropdown-menu-columns { + display: flex; + flex: 0 0.25rem; +} + +.dropdown-menu-arrow:before { + content: ""; + position: absolute; + top: -0.25rem; + inset-inline-start: 0.75rem; + display: block; + background: inherit; + width: 14px; + height: 14px; + /*rtl:ignore*/ + transform: rotate(45deg); + transform-origin: center; + border: 1px solid; + border-color: inherit; + z-index: -1; + clip: rect(0px, 9px, 9px, 0px); +} +.dropdown-menu-arrow.dropdown-menu-end:before { + inset-inline-end: 0.75rem; + inset-inline-start: auto; +} + +.dropend > .dropdown-menu { + margin-top: calc(-0.25rem - 1px); + margin-inline-start: -0.25rem; +} +.dropend .dropdown-toggle:after { + margin-inline-start: auto; +} + +.dropdown-menu-card { + padding: 0; + min-width: 20rem; +} +.dropdown-menu-card > .card { + margin: 0; + border: 0; + box-shadow: none; +} + +.datagrid { + --tblr-datagrid-padding: 1.5rem; + --tblr-datagrid-item-width: 15rem; + display: grid; + grid-gap: var(--tblr-datagrid-padding); + grid-template-columns: repeat(auto-fit, minmax(var(--tblr-datagrid-item-width), 1fr)); +} + +.datagrid-title { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + margin-bottom: 0.25rem; +} + +.empty { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; + text-align: center; +} +@media (min-width: 768px) { + .empty { + padding: 3rem; + } +} + +.empty-icon { + margin: 0 0 1rem; + width: 3rem; + height: 3rem; + line-height: 1; + color: var(--tblr-secondary); +} +.empty-icon svg { + width: 100%; + height: 100%; +} + +.empty-img { + margin: 0 0 2rem; + line-height: 1; +} + +.empty-header { + margin: 0 0 1rem; + font-size: 4rem; + font-weight: var(--tblr-font-weight-light); + line-height: 1; + color: var(--tblr-secondary); +} + +.empty-title { + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: var(--tblr-font-weight-semibold); +} + +.empty-title, +.empty-subtitle { + margin: 0 0 0.5rem; +} + +.empty-action { + margin-top: 1.5rem; +} + +.empty-bordered { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .empty-bordered { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.row > * { + min-width: 0; +} + +.col-separator { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.container-slim { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; + max-width: 16rem; +} +.container-tight { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; + max-width: 32rem; +} +.container-narrow { + --tblr-gutter-x: calc(var(--tblr-page-padding) * 2); + --tblr-gutter-y: 0; + width: 100%; + padding-right: calc(var(--tblr-gutter-x) * 0.5); + padding-left: calc(var(--tblr-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; + max-width: 61.875rem; +} + +.row-0 { + margin-inline-end: 0; + margin-inline-start: 0; +} +.row-0 > .col, +.row-0 > [class*=col-] { + padding-inline-end: 0; + padding-inline-start: 0; +} +.row-0 .card { + margin-bottom: 0; +} + +.row-sm { + margin-inline-end: -0.375rem; + margin-inline-start: -0.375rem; +} +.row-sm > .col, +.row-sm > [class*=col-] { + padding-inline-end: 0.375rem; + padding-inline-start: 0.375rem; +} +.row-sm .card { + margin-bottom: 0.75rem; +} + +.row-md { + margin-inline-end: -1.5rem; + margin-inline-start: -1.5rem; +} +.row-md > .col, +.row-md > [class*=col-] { + padding-inline-end: 1.5rem; + padding-inline-start: 1.5rem; +} +.row-md .card { + margin-bottom: 3rem; +} + +.row-lg { + margin-inline-end: -3rem; + margin-inline-start: -3rem; +} +.row-lg > .col, +.row-lg > [class*=col-] { + padding-inline-end: 3rem; + padding-inline-start: 3rem; +} +.row-lg .card { + margin-bottom: 6rem; +} + +.row-deck > .col, +.row-deck > [class*=col-] { + display: flex; + align-items: stretch; +} +.row-deck > .col .card, +.row-deck > [class*=col-] .card { + flex: 1 1 auto; +} + +.row-cards { + --tblr-gutter-x: var(--tblr-page-padding); + --tblr-gutter-y: var(--tblr-page-padding); + min-width: 0; +} +.row-cards .row-cards { + flex: 1; +} + +.space-y { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.space-x { + display: flex; + gap: 1rem; +} + +.space-y-0 { + display: flex; + flex-direction: column; + gap: 0; +} + +.space-x-0 { + display: flex; + gap: 0; +} + +.space-y-1 { + display: flex; + flex-direction: column; + gap: 0.25rem; +} + +.space-x-1 { + display: flex; + gap: 0.25rem; +} + +.space-y-2 { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.space-x-2 { + display: flex; + gap: 0.5rem; +} + +.space-y-3 { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.space-x-3 { + display: flex; + gap: 1rem; +} + +.space-y-4 { + display: flex; + flex-direction: column; + gap: 1.5rem; +} + +.space-x-4 { + display: flex; + gap: 1.5rem; +} + +.space-y-5 { + display: flex; + flex-direction: column; + gap: 2rem; +} + +.space-x-5 { + display: flex; + gap: 2rem; +} + +.space-y-6 { + display: flex; + flex-direction: column; + gap: 2.5rem; +} + +.space-x-6 { + display: flex; + gap: 2.5rem; +} + +.divide-y > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y > :not(template):not(:first-child) { + padding-top: 1rem !important; +} +.divide-y > :not(template):not(:last-child) { + padding-bottom: 1rem !important; +} + +.divide-x > :not(template) ~ :not(template) { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x > :not(template):not(:first-child) { + padding-inline-start: 1rem !important; +} +.divide-x > :not(template):not(:last-child) { + padding-inline-end: 1rem !important; +} + +.divide-y-0 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-0 > :not(template):not(:first-child) { + padding-top: 0 !important; +} +.divide-y-0 > :not(template):not(:last-child) { + padding-bottom: 0 !important; +} + +.divide-x-0 > :not(template) ~ :not(template) { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-0 > :not(template):not(:first-child) { + padding-inline-start: 0 !important; +} +.divide-x-0 > :not(template):not(:last-child) { + padding-inline-end: 0 !important; +} + +.divide-y-1 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-1 > :not(template):not(:first-child) { + padding-top: 0.25rem !important; +} +.divide-y-1 > :not(template):not(:last-child) { + padding-bottom: 0.25rem !important; +} + +.divide-x-1 > :not(template) ~ :not(template) { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-1 > :not(template):not(:first-child) { + padding-inline-start: 0.25rem !important; +} +.divide-x-1 > :not(template):not(:last-child) { + padding-inline-end: 0.25rem !important; +} + +.divide-y-2 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-2 > :not(template):not(:first-child) { + padding-top: 0.5rem !important; +} +.divide-y-2 > :not(template):not(:last-child) { + padding-bottom: 0.5rem !important; +} + +.divide-x-2 > :not(template) ~ :not(template) { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-2 > :not(template):not(:first-child) { + padding-inline-start: 0.5rem !important; +} +.divide-x-2 > :not(template):not(:last-child) { + padding-inline-end: 0.5rem !important; +} + +.divide-y-3 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-3 > :not(template):not(:first-child) { + padding-top: 1rem !important; +} +.divide-y-3 > :not(template):not(:last-child) { + padding-bottom: 1rem !important; +} + +.divide-x-3 > :not(template) ~ :not(template) { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-3 > :not(template):not(:first-child) { + padding-inline-start: 1rem !important; +} +.divide-x-3 > :not(template):not(:last-child) { + padding-inline-end: 1rem !important; +} + +.divide-y-4 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-4 > :not(template):not(:first-child) { + padding-top: 1.5rem !important; +} +.divide-y-4 > :not(template):not(:last-child) { + padding-bottom: 1.5rem !important; +} + +.divide-x-4 > :not(template) ~ :not(template) { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-4 > :not(template):not(:first-child) { + padding-inline-start: 1.5rem !important; +} +.divide-x-4 > :not(template):not(:last-child) { + padding-inline-end: 1.5rem !important; +} + +.divide-y-5 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-5 > :not(template):not(:first-child) { + padding-top: 2rem !important; +} +.divide-y-5 > :not(template):not(:last-child) { + padding-bottom: 2rem !important; +} + +.divide-x-5 > :not(template) ~ :not(template) { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-5 > :not(template):not(:first-child) { + padding-inline-start: 2rem !important; +} +.divide-x-5 > :not(template):not(:last-child) { + padding-inline-end: 2rem !important; +} + +.divide-y-6 > :not(template) ~ :not(template) { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-y-6 > :not(template):not(:first-child) { + padding-top: 2.5rem !important; +} +.divide-y-6 > :not(template):not(:last-child) { + padding-bottom: 2.5rem !important; +} + +.divide-x-6 > :not(template) ~ :not(template) { + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important; +} +.divide-x-6 > :not(template):not(:first-child) { + padding-inline-start: 2.5rem !important; +} +.divide-x-6 > :not(template):not(:last-child) { + padding-inline-end: 2.5rem !important; +} + +.divide-y-fill { + display: flex; + flex-direction: column; + height: 100%; +} +.divide-y-fill > :not(template) { + flex: 1; + display: flex; + justify-content: center; + flex-direction: column; +} + +.icon { + --tblr-icon-size: 1.25rem; + width: var(--tblr-icon-size); + height: var(--tblr-icon-size); + font-size: var(--tblr-icon-size); + vertical-align: bottom; + stroke-width: 1.5; +} +.icon:hover { + text-decoration: none; +} + +.icon-inline { + --tblr-icon-size: 1rem; + vertical-align: -0.2rem; +} + +.icon-filled { + fill: currentColor; +} + +.icon-sm { + --tblr-icon-size: 1rem; + stroke-width: 1.5; +} + +.icon-md { + --tblr-icon-size: 2.5rem; + stroke-width: 1; +} + +.icon-lg { + --tblr-icon-size: 3.5rem; + stroke-width: 1; +} + +.icon-pulse { + transition: all 0.15s ease 0s; + animation: pulse 2s ease infinite; + animation-fill-mode: both; +} + +.icon-tada { + transition: all 0.15s ease 0s; + animation: tada 3s ease infinite; + animation-fill-mode: both; +} + +.icon-rotate { + transition: all 0.15s ease 0s; + animation: rotate-360 3s linear infinite; + animation-fill-mode: both; +} + +.img-responsive { + --tblr-img-responsive-ratio: 75%; + background: no-repeat center/cover; + padding-top: var(--tblr-img-responsive-ratio); +} + +.img-responsive-grid { + padding-top: calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y) / 2); +} + +.img-responsive-1x1 { + --tblr-img-responsive-ratio: 100%; +} + +.img-responsive-2x1 { + --tblr-img-responsive-ratio: 50%; +} + +.img-responsive-1x2 { + --tblr-img-responsive-ratio: 200%; +} + +.img-responsive-3x1 { + --tblr-img-responsive-ratio: 33.3333333333%; +} + +.img-responsive-1x3 { + --tblr-img-responsive-ratio: 300%; +} + +.img-responsive-4x1 { + --tblr-img-responsive-ratio: 25%; +} + +.img-responsive-1x4 { + --tblr-img-responsive-ratio: 400%; +} + +.img-responsive-4x3 { + --tblr-img-responsive-ratio: 75%; +} + +.img-responsive-3x4 { + --tblr-img-responsive-ratio: 133.3333333333%; +} + +.img-responsive-16x9 { + --tblr-img-responsive-ratio: 56.25%; +} + +.img-responsive-9x16 { + --tblr-img-responsive-ratio: 177.7777777778%; +} + +.img-responsive-21x9 { + --tblr-img-responsive-ratio: 42.8571428571%; +} + +.img-responsive-9x21 { + --tblr-img-responsive-ratio: 233.3333333333%; +} + +.img-bg { + background: no-repeat center/cover; +} + +textarea[cols] { + height: auto; +} + +/** +Form label + */ +.col-form-label, +.form-label { + display: block; + font-weight: var(--tblr-font-weight-medium); +} +.col-form-label.required:after, +.form-label.required:after { + content: "*"; + margin-inline-start: 0.25rem; + color: #d63939; +} + +.form-label-description { + float: inline-end; + font-weight: var(--tblr-font-weight-normal); + color: var(--tblr-secondary); +} + +/** +Form hint + */ +.form-hint { + display: block; + color: var(--tblr-secondary); +} +.form-hint:last-child { + margin-bottom: 0; +} +.form-hint + .form-control { + margin-top: 0.25rem; +} +.form-label + .form-hint { + margin-top: -0.25rem; +} +.input-group + .form-hint, .form-control + .form-hint, .form-select + .form-hint { + margin-top: 0.5rem; + color: var(--tblr-secondary); +} + +/** +Form select + */ +.form-select:-moz-focusring { + color: var(--tblr-body-color); +} + +/** +Form control + */ +.form-control:-webkit-autofill { + box-shadow: 0 0 0 1000px var(--tblr-bg-surface-secondary) inset; + color: var(--tblr-body-color); + -webkit-text-fill-color: var(--tblr-body-color); +} +.form-control:disabled, .form-control.disabled { + color: var(--tblr-secondary); + -webkit-user-select: none; + user-select: none; +} +.form-control[size] { + width: auto; +} + +.form-control-light { + background-color: var(--tblr-gray-100); + border-color: transparent; +} + +.form-control-dark { + background-color: rgba(0, 0, 0, 0.1); + color: #ffffff; + border-color: transparent; +} +.form-control-dark:focus { + background-color: rgba(0, 0, 0, 0.1); + box-shadow: none; + border-color: rgba(255, 255, 255, 0.24); +} +.form-control-dark::placeholder { + color: rgba(255, 255, 255, 0.6); +} + +.form-control-rounded { + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .form-control-rounded { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} + +.form-control-flush { + padding: 0; + background: none !important; + border-color: transparent !important; + resize: none; + box-shadow: none !important; + line-height: inherit; +} + +.form-footer { + margin-top: 2rem; +} + +.form-fieldset { + padding: 1rem; + margin-bottom: 1rem; + background: var(--tblr-bg-surface-secondary); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-fieldset { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +fieldset:empty { + display: none; +} + +/** +Form help + */ +.form-help { + display: inline-flex; + font-weight: var(--tblr-font-weight-semibold); + align-items: center; + justify-content: center; + width: 1.125rem; + height: 1.125rem; + font-size: 0.75rem; + color: var(--tblr-secondary); + text-align: center; + text-decoration: none; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + background: var(--tblr-gray-100); + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .form-help { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.form-help { + transition: background-color 0.3s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-help { + transition: none; + } +} +.form-help:hover, .form-help[aria-describedby] { + color: #ffffff; + background: var(--tblr-primary); +} + +/** +Input group + */ +.input-group { + box-shadow: var(--tblr-shadow-input); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .input-group { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.input-group .form-control, +.input-group .btn { + box-shadow: none; +} + +.input-group-link { + font-size: 0.75rem; +} + +.input-group-flat:focus-within { + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .input-group-flat:focus-within { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.input-group-flat:focus-within .form-control, +.input-group-flat:focus-within .input-group-text { + border-color: rgb(130.5, 183, 232) !important; +} +.input-group-flat .form-control:focus { + border-color: var(--tblr-border-color); + box-shadow: none; +} +.input-group-flat .form-control:not(:last-child) { + border-inline-end: 0; +} +.input-group-flat .form-control:not(:first-child) { + border-inline-start: 0; +} +.input-group-flat .input-group-text { + background: var(--tblr-bg-forms); + z-index: 10; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .input-group-flat .input-group-text { + transition: none; + } +} +.input-group-flat .input-group-text:first-child { + padding-inline-end: 0; + border-inline-end: 0; +} +.input-group-flat .input-group-text:last-child { + padding-inline-start: 0; + border-inline-start: 0; +} + +/** +Upload files + */ +.form-file-button { + margin-inline-start: 0; + border-inline-start: 0; +} + +/** +Floating inputs + */ +label[for=floating-input] { + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/** +Forms on mobile devices + */ +@media (max-width: 575.98px) { + .form-control, + .form-select { + font-size: 1rem; + } +} + +/** +Icon input + */ +.input-icon { + position: relative; +} +.input-icon .form-control:not(:last-child), +.input-icon .form-select:not(:last-child) { + padding-inline-end: 2.5rem; +} +.input-icon .form-control:not(:first-child), +.input-icon .form-select:not(:last-child) { + padding-inline-start: 2.5rem; +} + +.input-icon-addon { + position: absolute; + top: 0; + bottom: 0; + inset-inline-start: 0; + z-index: 10; + display: flex; + align-items: center; + justify-content: center; + min-width: 2.5rem; + height: calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2)); + color: var(--tblr-icon-color); + pointer-events: none; + font-size: 1.2em; +} +.input-icon-addon:last-child { + inset-inline-end: 0; + inset-inline-start: auto; +} + +/* +Color Input + */ +.form-colorinput { + position: relative; + display: inline-block; + margin: 0; + line-height: 1; + cursor: pointer; +} + +.form-colorinput-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.form-colorinput-color { + display: block; + width: 1.5rem; + height: 1.5rem; + color: #ffffff; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-colorinput-color { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-colorinput-color { + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); +} +.form-colorinput-color:before { + position: absolute; + top: 0; + inset-inline-start: 0; + width: 100%; + height: 100%; + content: ""; + background: no-repeat center center/1.25rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); + opacity: 0; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-colorinput-color:before { + transition: none; + } +} +.form-colorinput-input:checked ~ .form-colorinput-color:before { + opacity: 1; +} +.form-colorinput-input:focus ~ .form-colorinput-color { + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.form-colorinput-light .form-colorinput-color:before { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} + +/** +Image check + */ +.form-imagecheck { + --tblr-form-imagecheck-radius: var(--tblr-border-radius); + position: relative; + margin: 0; + cursor: pointer; +} + +.form-imagecheck-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.form-imagecheck-figure { + position: relative; + display: block; + margin: 0; + -webkit-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-form-imagecheck-radius); +} +@supports (corner-shape: squircle) { + .form-imagecheck-figure { + corner-shape: squircle; + border-radius: calc(var(--tblr-form-imagecheck-radius) * 2.5) !important; + } +} +.form-imagecheck-input:focus ~ .form-imagecheck-figure { + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} +.form-imagecheck-input:checked ~ .form-imagecheck-figure { + border-color: var(--tblr-primary); +} +.form-imagecheck-figure:before { + position: absolute; + top: 0.25rem; + inset-inline-start: 0.25rem; + z-index: 1; + display: block; + width: 1.25rem; + height: 1.25rem; + color: #ffffff; + pointer-events: none; + content: ""; + -webkit-user-select: none; + user-select: none; + background: var(--tblr-bg-forms); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-imagecheck-figure:before { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-imagecheck-figure:before { + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-figure:before { + transition: none; + } +} +.form-imagecheck-input:checked ~ .form-imagecheck-figure:before { + background-color: var(--tblr-primary); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); + background-repeat: repeat; + background-position: center; + background-size: 1.25rem; + border-color: var(--tblr-border-color-translucent); +} +.form-imagecheck-input[type=radio] ~ .form-imagecheck-figure:before { + border-radius: 50%; +} +@supports (corner-shape: squircle) { + .form-imagecheck-input[type=radio] ~ .form-imagecheck-figure:before { + corner-shape: squircle; + border-radius: calc(50% * 2.5) !important; + } +} +.form-imagecheck-input[type=radio]:checked ~ .form-imagecheck-figure:before { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} + +.form-imagecheck-image { + max-width: 100%; + display: block; + opacity: 0.64; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-image { + transition: none; + } +} +.form-imagecheck-image:first-child { + border-start-start-radius: calc(var(--tblr-form-imagecheck-radius) - 1px); + border-start-end-radius: calc(var(--tblr-form-imagecheck-radius) - 1px); +} +.form-imagecheck-image:last-child { + border-end-end-radius: calc(var(--tblr-form-imagecheck-radius) - 1px); + border-end-start-radius: calc(var(--tblr-form-imagecheck-radius) - 1px); +} +.form-imagecheck:hover .form-imagecheck-image, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-image, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-image { + opacity: 1; +} + +.form-imagecheck-caption { + padding: 0.25rem; + font-size: 0.765625rem; + color: var(--tblr-secondary); + text-align: center; + transition: color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-imagecheck-caption { + transition: none; + } +} +.form-imagecheck:hover .form-imagecheck-caption, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-caption, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-caption { + color: var(--tblr-body-color); +} + +/* +Select group + */ +.form-selectgroup { + display: inline-flex; + margin: 0; + flex-wrap: wrap; + gap: 0.5rem; +} +.form-selectgroup .form-selectgroup-item { + margin: 0; +} + +.form-selectgroup-vertical { + flex-direction: column; +} + +.form-selectgroup-item { + display: block; + position: relative; +} + +.form-selectgroup-input { + position: absolute; + top: 0; + inset-inline-start: 0; + z-index: -1; + opacity: 0; +} + +.form-selectgroup-label { + position: relative; + display: block; + min-width: calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2)); + margin: 0; + padding: 0.5625rem 1rem; + font-size: 0.875rem; + line-height: 1.25rem; + color: var(--tblr-secondary); + background: var(--tblr-bg-forms); + text-align: center; + cursor: pointer; + -webkit-user-select: none; + user-select: none; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-selectgroup-label { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-selectgroup-label { + box-shadow: var(--tblr-shadow-input); + transition: border-color 0.3s, background 0.3s, color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-selectgroup-label { + transition: none; + } +} +.form-selectgroup-label .icon:only-child { + margin: 0 -0.25rem; +} +.form-selectgroup-label:hover { + color: var(--tblr-body-color); +} + +.form-selectgroup-check { + display: inline-block; + width: 1.25rem; + height: 1.25rem; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + vertical-align: middle; + box-shadow: var(--tblr-shadow-input); +} +.form-selectgroup-input[type=checkbox] + .form-selectgroup-label .form-selectgroup-check { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .form-selectgroup-input[type=checkbox] + .form-selectgroup-label .form-selectgroup-check { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.form-selectgroup-input[type=radio] + .form-selectgroup-label .form-selectgroup-check { + border-radius: 50%; +} +@supports (corner-shape: squircle) { + .form-selectgroup-input[type=radio] + .form-selectgroup-label .form-selectgroup-check { + corner-shape: squircle; + border-radius: calc(50% * 2.5) !important; + } +} +.form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-check { + background-color: var(--tblr-primary); + background-repeat: repeat; + background-position: center; + background-size: 1.25rem; + border-color: var(--tblr-border-color-translucent); +} +.form-selectgroup-input[type=checkbox]:checked + .form-selectgroup-label .form-selectgroup-check { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e"); +} +.form-selectgroup-input[type=radio]:checked + .form-selectgroup-label .form-selectgroup-check { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e"); +} + +.form-selectgroup-check-floated { + position: absolute; + top: 0.5625rem; + inset-inline-end: 0.5625rem; +} + +.form-selectgroup-input:checked + .form-selectgroup-label { + z-index: 1; + color: var(--tblr-primary); + background: color-mix(in srgb, var(--tblr-primary) 4%, transparent); + border-color: var(--tblr-primary); +} + +.form-selectgroup-input:focus + .form-selectgroup-label { + z-index: 2; + color: var(--tblr-primary); + border-color: var(--tblr-primary); + box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent); +} + +/** +Alternate version of form select group + */ +.form-selectgroup-boxes .form-selectgroup-label { + text-align: start; + padding: 1.25rem 1.25rem; + color: inherit; +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label { + color: inherit; +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-title { + color: var(--tblr-primary); +} +.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-label-content { + opacity: 1; +} + +/** +Select group + */ +.form-selectgroup-pills { + flex-wrap: wrap; + align-items: start; +} +.form-selectgroup-pills .form-selectgroup-item { + flex-grow: 0; +} +.form-selectgroup-pills .form-selectgroup-label { + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .form-selectgroup-pills .form-selectgroup-label { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} + +/** +Bootstrap color input + */ +.form-control-color::-webkit-color-swatch { + border: none; +} + +/** +Remove the cancel buttons in Chrome and Safari on macOS. + */ +[type=search]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/** +Form control dark theme fix + */ +.form-control::file-selector-button { + background-color: var(--tblr-btn-color, var(--tblr-tertiary-bg)); +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--tblr-btn-color, var(--tblr-secondary-bg)); +} + +/* +Form check + */ +.form-check { + -webkit-user-select: none; + user-select: none; +} +.form-check.form-check-highlight .form-check-input:not(:checked) ~ .form-check-label { + color: var(--tblr-secondary); +} +.form-check .form-check-label-off { + color: var(--tblr-secondary); +} +.form-check .form-check-input:checked ~ .form-check-label-off { + display: none; +} +.form-check .form-check-input:not(:checked) ~ .form-check-label-on { + display: none; +} + +.form-check-input { + background-size: 1.25rem; + margin-top: 0rem; + box-shadow: var(--tblr-shadow-input); +} +.form-switch .form-check-input { + transition: background-color 0.3s, background-position 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} + +.form-check-label { + display: block; +} +.form-check-label.required:after { + content: "*"; + margin-inline-start: 0.25rem; + color: #d63939; +} + +.form-check-description { + display: block; + color: var(--tblr-secondary); + font-size: 0.75rem; + margin-top: 0.25rem; +} + +.form-check-single { + margin: 0; +} +.form-check-single .form-check-input { + margin: 0; +} + +/* +Form switch + */ +.form-switch .form-check-input { + height: 1.25rem; + margin-top: 0rem; +} + +.form-switch-lg { + padding-inline-start: 3.5rem; + min-height: 1.5rem; +} +.form-switch-lg .form-check-input { + height: 1.5rem; + width: 2.75rem; + background-size: 1.5rem; + margin-inline-start: -3.5rem; +} +.form-switch-lg .form-check-label { + padding-top: 0.125rem; +} + +.form-select.is-invalid-lite, .form-control.is-invalid-lite, .form-select.is-valid-lite, .form-control.is-valid-lite { + border-color: var(--tblr-border-color) !important; +} + +/** +Legend + */ +.legend { + --tblr-legend-size: 0.75em; + display: inline-block; + background: var(--tblr-border-color); + width: var(--tblr-legend-size); + height: var(--tblr-legend-size); + border-radius: var(--tblr-border-radius-sm); +} +@supports (corner-shape: squircle) { + .legend { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important; + } +} +.legend { + border: 1px solid var(--tblr-border-color-translucent); +} + +.list-group { + margin-inline-start: 0; + margin-inline-end: 0; +} + +.list-group-header { + background: var(--tblr-bg-surface-tertiary); + padding: 0.5rem 1.25rem; + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + text-transform: uppercase; + color: var(--tblr-gray-500); + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.list-group-flush > .list-group-header:last-child { + border-bottom-width: 0; +} + +.list-group-item { + background-color: inherit; +} + +.list-group-item.active { + background-color: color-mix(in srgb, var(--tblr-secondary) 8%, transparent); + border-inline-start-color: #066fd1; + border-inline-start-width: 2px; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6b7280; + background-color: color-mix(in srgb, var(--tblr-secondary) 8%, transparent); +} + +.list-bordered .list-item { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + margin-top: -1px; +} +.list-bordered .list-item:first-child { + border-top: none; +} + +.list-group-hoverable .list-group-item:active, .list-group-hoverable .list-group-item:focus, .list-group-hoverable .list-group-item:hover { + background-color: color-mix(in srgb, var(--tblr-secondary) 8%, transparent); +} +.list-group-hoverable .list-group-item-actions { + opacity: 0; + transition: opacity 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .list-group-hoverable .list-group-item-actions { + transition: none; + } +} +.list-group-hoverable .list-group-item:hover .list-group-item-actions, +.list-group-hoverable .list-group-item-actions.show { + opacity: 1; +} + +.list-group-transparent { + --tblr-list-group-border-radius: 0; + margin: 0 -1.25rem; +} +.list-group-transparent .list-group-item { + background: none; + border: 0; +} +.list-group-transparent .list-group-item .icon { + color: var(--tblr-secondary); +} +.list-group-transparent .list-group-item.active { + font-weight: var(--tblr-font-weight-semibold); + color: inherit; + background: var(--tblr-active-bg); +} +.list-group-transparent .list-group-item.active .icon { + color: inherit; +} + +/** +Seprated list +*/ +.list-separated { + display: flex; + flex-direction: column; + gap: 1rem; +} + +/** +Inline list + */ +.list-inline { + margin: 0; +} + +.list-inline-item:not(:last-child) { + margin-inline-end: auto; + margin-inline-end: 0.5rem; +} + +.list-inline-dots .list-inline-item + .list-inline-item:before { + content: " · "; + margin-inline-end: 0.5rem; +} + +.loader { + position: relative; + display: block; + width: 2.5rem; + height: 2.5rem; + color: #066fd1; + vertical-align: middle; +} +.loader:after { + position: absolute; + top: 0; + inset-inline-start: 0; + width: 100%; + height: 100%; + content: ""; + border: 1px var(--tblr-border-style); + border-color: transparent; + border-top-color: currentColor; + border-inline-start-color: currentColor; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .loader:after { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.loader:after { + animation: rotate-360 0.6s linear; + animation-iteration-count: infinite; +} + +/** +Dimmer +*/ +.dimmer { + position: relative; +} +.dimmer .loader { + position: absolute; + top: 50%; + inset-inline-end: 0; + inset-inline-start: 0; + display: none; + margin: 0 auto; + transform: translateY(-50%); +} +.dimmer.active .loader { + display: block; +} +.dimmer.active .dimmer-content { + pointer-events: none; + opacity: 0.1; +} + +@keyframes animated-dots { + 0% { + transform: translateX(-100%); + } +} +.animated-dots { + display: inline-block; + overflow: hidden; + vertical-align: bottom; +} +.animated-dots:after { + display: inline-block; + content: "..."; + animation: animated-dots 1.2s steps(4, jump-none) infinite; +} + +.modal-content > .btn-close, +.modal-header > .btn-close { + position: absolute; + top: 0; + inset-inline-end: 0; + width: 3.5rem; + height: 3.5rem; + margin: 0; + padding: 0; + z-index: 10; +} + +.modal-body { + scrollbar-color: color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent) transparent; +} +.modal-body::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .modal-body::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} +.modal-body::-webkit-scrollbar-thumb { + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + .modal-body::-webkit-scrollbar-thumb { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} +.modal-body::-webkit-scrollbar-thumb { + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent); +} +.modal-body::-webkit-scrollbar-track { + background: transparent; +} +.modal-body:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%, transparent); +} +.modal-body::-webkit-scrollbar-corner { + background: transparent; +} +.modal-body .modal-title { + margin-bottom: 1rem; +} +.modal-body + .modal-body { + border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.modal-status { + position: absolute; + top: 0; + inset-inline-start: 0; + inset-inline-end: 0; + height: 2px; + background: var(--tblr-secondary); + border-radius: var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0; +} +@supports (corner-shape: squircle) { + .modal-status { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0 * 2.5) !important; + } +} + +.modal-header { + align-items: center; + min-height: 3.5rem; + background: transparent; + padding: 0 3.5rem 0 1.5rem; +} + +.modal-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-semibold); + color: light-dark(var(--tblr-gray-900), var(--tblr-white)); + line-height: 1.4285714286; +} + +.modal-footer { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.modal-blur { + -webkit-backdrop-filter: blur(4px); + backdrop-filter: blur(4px); +} + +.modal-full-width { + max-width: none; + margin: 0 0.5rem; +} + +@media print { + .modal { + display: none !important; + } +} + +.nav { + --tblr-nav-link-hover-bg: color-mix(in srgb, var(--tblr-nav-link-color) 4%, transparent); +} + +.nav-vertical, +.nav-vertical .nav { + flex-direction: column; + flex-wrap: nowrap; +} +.nav-vertical .nav { + margin-inline-start: 1.25rem; + border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + padding-inline-start: 0.5rem; +} +.nav-vertical .nav-link.active, +.nav-vertical .nav-item.show .nav-link { + font-weight: var(--tblr-font-weight-semibold); + color: var(--tblr-nav-link-active-color); +} +.nav-vertical.nav-pills { + margin: 0 -0.75rem; +} + +.nav-bordered { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} +.nav-bordered .nav-item + .nav-item { + margin-inline-start: 1.25rem; +} +.nav-bordered .nav-link { + padding-inline-start: 0; + padding-inline-end: 0; + margin: 0 0 calc(-1 * var(--tblr-border-width)); + border: 0; + border-bottom: 2px var(--tblr-border-style) transparent; +} +.nav-bordered .nav-link:hover { + background-color: transparent; +} +.nav-bordered .nav-link.active, +.nav-bordered .nav-item.show .nav-link { + color: var(--tblr-primary); + border-color: var(--tblr-primary); +} + +.nav-underline .nav-link { + border-radius: 0; +} + +.nav-link { + display: flex; + align-items: center; + transition: color 0.3s, background-color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + background-color: var(--tblr-nav-link-hover-bg); +} + +.nav-link-toggle { + margin-inline-start: auto; + padding: 0 0.25rem; + transition: transform 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .nav-link-toggle { + transition: none; + } +} +.nav-link-toggle:after { + content: ""; + display: inline-block; + vertical-align: 0.255em; + width: 0.3em; + height: 0.3em; + border-bottom: 1px var(--tblr-border-style); + border-inline-start: 1px var(--tblr-border-style); + margin-inline-end: 0.1em; + margin-inline-start: 0.255em; + transform: rotate(-45deg); +} +.nav-link-toggle:after { + margin: 0; +} +.nav-link[aria-expanded=true] .nav-link-toggle { + transform: rotate(180deg); +} + +.nav-link-icon { + width: 1.25rem; + height: 1.25rem; + margin-inline-end: 0.5rem; + color: color-mix(in srgb, var(--tblr-nav-link-color) 50%, transparent); +} +.nav-link-icon svg { + display: block; + height: 100%; +} +.nav-link:hover .nav-link-icon { + color: var(--tblr-nav-link-hover-icon-color); +} + +.nav-fill .nav-item .nav-link { + justify-content: center; +} + +.stars { + display: inline-flex; + color: #9ca3af; + font-size: 0.75rem; +} +.stars .star:not(:first-child) { + margin-inline-start: 0.25rem; +} + +.pagination { + margin: 0; + --tblr-pagination-gap: 0.25rem; + -webkit-user-select: none; + user-select: none; + gap: var(--tblr-pagination-gap); + line-height: var(--tblr-body-line-height); +} +@media print { + .pagination { + display: none; + } +} + +.page-link { + min-width: 2rem; + border-radius: var(--tblr-pagination-border-radius); +} +@supports (corner-shape: squircle) { + .page-link { + corner-shape: squircle; + border-radius: calc(var(--tblr-pagination-border-radius) * 2.5) !important; + } +} + +.page-item:not(.active) .page-link:hover { + background: var(--tblr-pagination-hover-bg); +} + +.page-text { + padding-inline-start: 0.5rem; + padding-inline-end: 0.5rem; +} + +.page-item { + text-align: center; +} +.page-item.page-prev, .page-item.page-next { + flex: 0 0 50%; + text-align: start; +} +.page-item.page-next { + margin-inline-start: auto; + text-align: end; +} + +.page-item-subtitle { + margin-bottom: 2px; + font-size: 12px; + color: var(--tblr-secondary); + text-transform: uppercase; +} +.page-item.disabled .page-item-subtitle { + color: var(--tblr-disabled-color); +} + +.page-item-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-normal); + color: var(--tblr-body-color); +} +.page-link:hover .page-item-title { + color: #066fd1; +} +.page-item.disabled .page-item-title { + color: var(--tblr-disabled-color); +} + +.pagination-outline { + --tblr-pagination-border-color: var(--tblr-border-color); + --tblr-pagination-disabled-border-color: var(--tblr-border-color); + --tblr-pagination-border-width: 1px; +} + +.pagination-circle { + --tblr-pagination-border-radius: var(--tblr-border-radius-pill); +} + +@media print { + .popover { + display: none; + } +} + +@keyframes progress-indeterminate { + 0% { + inset-inline-end: 100%; + inset-inline-start: -35%; + } + 100%, 60% { + inset-inline-end: -90%; + inset-inline-start: 100%; + } +} +/** +Progress + */ +.progress { + position: relative; + width: 100%; + line-height: 0.5rem; + -webkit-appearance: none; + appearance: none; +} +.progress::-webkit-progress-bar { + background: var(--tblr-progress-bg); +} +.progress::-webkit-progress-value { + background-color: var(--tblr-primary); +} +.progress::-moz-progress-bar { + background-color: var(--tblr-primary); +} +.progress::-ms-fill { + background-color: var(--tblr-primary); + border: none; +} + +.progress-sm { + height: 0.25rem; +} + +.progress-lg { + height: 0.75rem; +} + +.progress-xl { + height: 1rem; +} + +/** +Progress bar + */ +.progress-bar { + height: 100%; + transition: width 0.3s, background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-indeterminate:after, .progress-bar-indeterminate:before { + position: absolute; + top: 0; + bottom: 0; + inset-inline-start: 0; + content: ""; + background-color: inherit; + will-change: left, right; +} +.progress-bar-indeterminate:before { + animation: progress-indeterminate 1.5s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; +} + +.progress-separated .progress-bar { + box-shadow: 0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface)); +} + +/** +Progressbg + */ +.progressbg { + position: relative; + padding: 0.25rem 0.5rem; + display: flex; +} + +.progressbg-text { + position: relative; + z-index: 1; + display: flex; + align-items: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.progressbg-progress { + position: absolute; + top: 0; + inset-inline-end: 0; + bottom: 0; + inset-inline-start: 0; + z-index: 0; + height: 100%; + background: transparent; + pointer-events: none; +} + +.progressbg-value { + font-weight: var(--tblr-font-weight-medium); + margin-inline-start: auto; + padding-inline-start: 2rem; +} + +/** +Progress steps + */ +.progress-steps { + display: flex; + flex-wrap: nowrap; + width: 100%; + padding: 0; + margin: 0; + list-style: none; + gap: 0.25rem; +} + +.progress-steps-item { + flex: 1 1 0; + min-height: 0.25rem; + margin-top: 0; + color: inherit; + text-align: center; + cursor: default; + background-color: var(--tblr-border-color); + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .progress-steps-item { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +a.progress-steps-item { + cursor: pointer; +} + +.ribbon { + --tblr-ribbon-margin: 0.25rem; + --tblr-ribbon-border-radius: var(--tblr-border-radius); + position: absolute; + top: 0.75rem; + inset-inline-end: calc(-1 * var(--tblr-ribbon-margin)); + z-index: 1; + padding: 0.25rem 0.75rem; + font-size: 0.625rem; + font-weight: var(--tblr-font-weight-semibold); + line-height: 1; + color: #ffffff; + text-align: center; + text-transform: uppercase; + background: var(--tblr-primary); + border-color: var(--tblr-primary); + border-radius: var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); +} +@supports (corner-shape: squircle) { + .ribbon { + corner-shape: squircle; + border-radius: calc(var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) * 2.5) !important; + } +} +.ribbon { + display: inline-flex; + align-items: center; + justify-content: center; + min-height: 2rem; + min-width: 2rem; +} +.ribbon:before { + position: absolute; + inset-inline-end: 0; + bottom: 100%; + width: 0; + height: 0; + content: ""; + filter: brightness(70%); + border: calc(var(--tblr-ribbon-margin) * 0.5) var(--tblr-border-style); + border-color: inherit; + border-top-color: transparent; + border-inline-end-color: transparent; +} +.ribbon.bg-blue { + border-color: var(--tblr-blue); +} +.ribbon.bg-blue-lt { + border-color: color-mix(in srgb, var(--tblr-blue) 10%, transparent) !important; +} +.ribbon.bg-azure { + border-color: var(--tblr-azure); +} +.ribbon.bg-azure-lt { + border-color: color-mix(in srgb, var(--tblr-azure) 10%, transparent) !important; +} +.ribbon.bg-indigo { + border-color: var(--tblr-indigo); +} +.ribbon.bg-indigo-lt { + border-color: color-mix(in srgb, var(--tblr-indigo) 10%, transparent) !important; +} +.ribbon.bg-purple { + border-color: var(--tblr-purple); +} +.ribbon.bg-purple-lt { + border-color: color-mix(in srgb, var(--tblr-purple) 10%, transparent) !important; +} +.ribbon.bg-pink { + border-color: var(--tblr-pink); +} +.ribbon.bg-pink-lt { + border-color: color-mix(in srgb, var(--tblr-pink) 10%, transparent) !important; +} +.ribbon.bg-red { + border-color: var(--tblr-red); +} +.ribbon.bg-red-lt { + border-color: color-mix(in srgb, var(--tblr-red) 10%, transparent) !important; +} +.ribbon.bg-orange { + border-color: var(--tblr-orange); +} +.ribbon.bg-orange-lt { + border-color: color-mix(in srgb, var(--tblr-orange) 10%, transparent) !important; +} +.ribbon.bg-yellow { + border-color: var(--tblr-yellow); +} +.ribbon.bg-yellow-lt { + border-color: color-mix(in srgb, var(--tblr-yellow) 10%, transparent) !important; +} +.ribbon.bg-lime { + border-color: var(--tblr-lime); +} +.ribbon.bg-lime-lt { + border-color: color-mix(in srgb, var(--tblr-lime) 10%, transparent) !important; +} +.ribbon.bg-green { + border-color: var(--tblr-green); +} +.ribbon.bg-green-lt { + border-color: color-mix(in srgb, var(--tblr-green) 10%, transparent) !important; +} +.ribbon.bg-teal { + border-color: var(--tblr-teal); +} +.ribbon.bg-teal-lt { + border-color: color-mix(in srgb, var(--tblr-teal) 10%, transparent) !important; +} +.ribbon.bg-cyan { + border-color: var(--tblr-cyan); +} +.ribbon.bg-cyan-lt { + border-color: color-mix(in srgb, var(--tblr-cyan) 10%, transparent) !important; +} +.ribbon .icon { + width: 1.25rem; + height: 1.25rem; + font-size: 1.25rem; +} + +.ribbon-top { + top: calc(-1 * var(--tblr-ribbon-margin)); + inset-inline-end: 0.75rem; + width: 2rem; + padding: 0.5rem 0; + border-radius: 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); +} +@supports (corner-shape: squircle) { + .ribbon-top { + corner-shape: squircle; + border-radius: calc(0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) * 2.5) !important; + } +} +.ribbon-top:before { + top: 0; + inset-inline-end: 100%; + bottom: auto; + border-color: inherit; + border-top-color: transparent; + border-inline-start-color: transparent; +} +.ribbon-top.ribbon-start { + inset-inline-end: auto; + inset-inline-start: 0.75rem; +} +.ribbon-top.ribbon-start:before { + top: 0; + inset-inline-end: 100%; + inset-inline-start: auto; +} + +.ribbon-start { + inset-inline-end: auto; + inset-inline-start: calc(-1 * var(--tblr-ribbon-margin)); + border-radius: 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius); +} +@supports (corner-shape: squircle) { + .ribbon-start { + corner-shape: squircle; + border-radius: calc(0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) * 2.5) !important; + } +} +.ribbon-start:before { + top: auto; + bottom: 100%; + inset-inline-start: 0; + border-color: inherit; + border-top-color: transparent; + border-inline-start-color: transparent; +} + +.ribbon-bottom { + top: auto; + bottom: 0.75rem; +} + +.ribbon-bookmark { + padding-inline-start: 0.25rem; + border-radius: 0 0 var(--tblr-ribbon-border-radius) 0; +} +@supports (corner-shape: squircle) { + .ribbon-bookmark { + corner-shape: squircle; + border-radius: calc(0 0 var(--tblr-ribbon-border-radius) 0 * 2.5) !important; + } +} +.ribbon-bookmark:after { + position: absolute; + top: 0; + inset-inline-end: 100%; + display: block; + width: 0; + height: 0; + content: ""; + border: 1rem var(--tblr-border-style); + border-color: inherit; + border-inline-end-width: 0; + border-inline-start-color: transparent; + border-inline-start-width: 0.5rem; +} +.ribbon-bookmark.ribbon-left { + padding-inline-end: 0.5rem; +} +.ribbon-bookmark.ribbon-left:after { + inset-inline-end: auto; + inset-inline-start: 100%; + border-inline-end-color: transparent; + border-inline-end-width: 0.5rem; + border-inline-start-width: 0; +} +.ribbon-bookmark.ribbon-top { + padding-inline-end: 0; + padding-bottom: 0.25rem; + padding-inline-start: 0; + border-radius: 0 var(--tblr-ribbon-border-radius) 0 0; +} +@supports (corner-shape: squircle) { + .ribbon-bookmark.ribbon-top { + corner-shape: squircle; + border-radius: calc(0 var(--tblr-ribbon-border-radius) 0 0 * 2.5) !important; + } +} +.ribbon-bookmark.ribbon-top:after { + top: 100%; + inset-inline-end: 0; + inset-inline-start: 0; + border-color: inherit; + border-width: 1rem; + border-top-width: 0; + border-bottom-color: transparent; + border-bottom-width: 0.5rem; +} + +/** +Prose (formerly markdown) + */ +.prose, +.markdown { + line-height: var(--tblr-line-height-lg); + font-size: var(--tblr-font-size-h3); +} +.prose > :first-child, +.markdown > :first-child { + margin-top: 0; +} +.prose > :last-child, +.prose > :last-child .highlight, +.markdown > :last-child, +.markdown > :last-child .highlight { + margin-bottom: 0; +} +@media (min-width: 768px) { + .prose > hr, .prose > .hr, + .markdown > hr, + .markdown > .hr { + margin-top: 3em; + margin-bottom: 3em; + } +} +.prose > h1, .prose > .h1, +.prose > h2, +.prose > .h2, +.prose > h3, +.prose > .h3, +.prose > h4, +.prose > .h4, +.prose > h5, +.prose > .h5, +.prose > h6, +.prose > .h6, +.markdown > h1, +.markdown > .h1, +.markdown > h2, +.markdown > .h2, +.markdown > h3, +.markdown > .h3, +.markdown > h4, +.markdown > .h4, +.markdown > h5, +.markdown > .h5, +.markdown > h6, +.markdown > .h6 { + font-weight: var(--tblr-font-weight-semibold); +} +.prose > h2, .prose > .h2, +.prose > h3, +.prose > .h3, +.prose > h4, +.prose > .h4, +.prose > h5, +.prose > .h5, +.prose > h6, +.prose > .h6, +.markdown > h2, +.markdown > .h2, +.markdown > h3, +.markdown > .h3, +.markdown > h4, +.markdown > .h4, +.markdown > h5, +.markdown > .h5, +.markdown > h6, +.markdown > .h6 { + margin-top: 2.5rem; +} +.prose > table, +.markdown > table { + font-size: var(--tblr-body-font-size); +} +.prose > blockquote, +.markdown > blockquote { + font-size: 1rem; + margin: 1.5rem 0; + padding: 0.5rem 1.5rem; +} +.prose > img, +.prose > p > img, +.markdown > img, +.markdown > p > img { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .prose > img, + .prose > p > img, + .markdown > img, + .markdown > p > img { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.prose > img, +.prose > p > img, +.markdown > img, +.markdown > p > img { + border: 1px solid var(--tblr-border-color); +} +.prose pre, +.markdown pre { + max-height: 20rem; +} + +.placeholder:not(.btn):not([class*=bg-]) { + background-color: currentColor !important; +} +.placeholder:not(.avatar):not([class*=card-img-]) { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .placeholder:not(.avatar):not([class*=card-img-]) { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.nav-segmented { + --tblr-nav-bg: var(--tblr-bg-surface-tertiary); + --tblr-nav-padding: 2px; + --tblr-nav-height: 2.5rem; + --tblr-nav-gap: 0.25rem; + --tblr-nav-active-bg: var(--tblr-bg-surface); + --tblr-nav-font-size: inherit; + --tblr-nav-radius: 6px; + --tblr-nav-link-disabled-color: var(--tblr-disabled-color); + --tblr-nav-link-gap: 0.25rem; + --tblr-nav-link-padding-x: 0.75rem; + --tblr-nav-link-icon-size: 1.25rem; + display: inline-flex; + flex-wrap: wrap; + gap: var(--tblr-nav-gap); + padding: var(--tblr-nav-padding); + list-style: none; + background: var(--tblr-nav-bg); + border-radius: calc(var(--tblr-nav-radius) + var(--tblr-nav-padding)); +} +@supports (corner-shape: squircle) { + .nav-segmented { + corner-shape: squircle; + border-radius: calc(calc(var(--tblr-nav-radius) + var(--tblr-nav-padding)) * 2.5) !important; + } +} +.nav-segmented { + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04); +} +.nav-segmented .nav-link { + display: inline-flex; + gap: calc(0.25rem + var(--tblr-nav-link-gap)); + align-items: center; + margin: 0; + font-size: var(--tblr-nav-font-size); + min-width: calc(var(--tblr-nav-height) - 2 * var(--tblr-nav-padding)); + height: calc(var(--tblr-nav-height) - 2 * var(--tblr-nav-padding)); + padding: 0 calc(var(--tblr-nav-link-padding-x) - 2px); + border: 1px solid transparent; + background: transparent; + color: var(--tblr-secondary); + text-align: center; + text-decoration: none; + white-space: nowrap; + cursor: pointer; + transition: background-color 0.3s, color 0.3s; + border-radius: var(--tblr-nav-radius); +} +@supports (corner-shape: squircle) { + .nav-segmented .nav-link { + corner-shape: squircle; + border-radius: calc(var(--tblr-nav-radius) * 2.5) !important; + } +} +.nav-segmented .nav-link { + flex-grow: 1; + justify-content: center; +} +.nav-segmented .nav-link:hover, .nav-segmented .nav-link.hover { + background: rgba(0, 0, 0, 0.04); + color: var(--tblr-body-color); +} +.nav-segmented .nav-link.disabled, .nav-segmented .nav-link:disabled { + color: var(--tblr-nav-link-disabled-color); + cursor: not-allowed; +} +.nav-segmented .nav-link-input:checked + .nav-link, +.nav-segmented .nav-link.active { + color: var(--tblr-body-color); + background: var(--tblr-nav-active-bg); + border-color: var(--tblr-border-color); +} +.nav-segmented .nav-link-input { + display: none; +} +.nav-segmented .nav-link-icon { + width: var(--tblr-nav-link-icon-size); + height: var(--tblr-nav-link-icon-size); + margin: 0 -0.25rem; + color: inherit; +} + +.nav-segmented-vertical { + flex-direction: column; +} +.nav-segmented-vertical .nav-link { + justify-content: start; +} + +.nav-sm { + --tblr-nav-height: 2rem; + --tblr-nav-font-size: var(--tblr-font-size-h5); + --tblr-nav-radius: 4px; + --tblr-nav-link-padding-x: 0.5rem; + --tblr-nav-link-gap: 0.25rem; + --tblr-nav-link-icon-size: 1rem; +} + +.nav-lg { + --tblr-nav-height: 3rem; + --tblr-nav-font-size: var(--tblr-font-size-h3); + --tblr-nav-radius: 8px; + --tblr-nav-link-padding-x: 1rem; + --tblr-nav-link-gap: 0.5rem; + --tblr-nav-link-icon-size: 1.5rem; +} + +.steps { + --tblr-steps-color: var(--tblr-primary); + --tblr-steps-inactive-color: var(--tblr-border-color); + --tblr-steps-dot-size: 0.5rem; + --tblr-steps-border-width: 2px; + display: flex; + flex-wrap: nowrap; + width: 100%; + padding: 0; + margin: 0; + list-style: none; +} + +.steps-blue { + --tblr-steps-color: var(--tblr-blue); +} +.steps-blue-lt { + --tblr-steps-color: var(--tblr-blue-lt); +} + +.steps-azure { + --tblr-steps-color: var(--tblr-azure); +} +.steps-azure-lt { + --tblr-steps-color: var(--tblr-azure-lt); +} + +.steps-indigo { + --tblr-steps-color: var(--tblr-indigo); +} +.steps-indigo-lt { + --tblr-steps-color: var(--tblr-indigo-lt); +} + +.steps-purple { + --tblr-steps-color: var(--tblr-purple); +} +.steps-purple-lt { + --tblr-steps-color: var(--tblr-purple-lt); +} + +.steps-pink { + --tblr-steps-color: var(--tblr-pink); +} +.steps-pink-lt { + --tblr-steps-color: var(--tblr-pink-lt); +} + +.steps-red { + --tblr-steps-color: var(--tblr-red); +} +.steps-red-lt { + --tblr-steps-color: var(--tblr-red-lt); +} + +.steps-orange { + --tblr-steps-color: var(--tblr-orange); +} +.steps-orange-lt { + --tblr-steps-color: var(--tblr-orange-lt); +} + +.steps-yellow { + --tblr-steps-color: var(--tblr-yellow); +} +.steps-yellow-lt { + --tblr-steps-color: var(--tblr-yellow-lt); +} + +.steps-lime { + --tblr-steps-color: var(--tblr-lime); +} +.steps-lime-lt { + --tblr-steps-color: var(--tblr-lime-lt); +} + +.steps-green { + --tblr-steps-color: var(--tblr-green); +} +.steps-green-lt { + --tblr-steps-color: var(--tblr-green-lt); +} + +.steps-teal { + --tblr-steps-color: var(--tblr-teal); +} +.steps-teal-lt { + --tblr-steps-color: var(--tblr-teal-lt); +} + +.steps-cyan { + --tblr-steps-color: var(--tblr-cyan); +} +.steps-cyan-lt { + --tblr-steps-color: var(--tblr-cyan-lt); +} + +.step-item { + position: relative; + flex: 1 1 0; + min-height: 1rem; + margin-top: 0; + color: inherit; + text-align: center; + cursor: default; + padding-top: calc(var(--tblr-steps-dot-size)); +} +a.step-item { + cursor: pointer; +} +a.step-item:hover { + color: inherit; +} + +.step-item:after, .step-item:before { + background: var(--tblr-steps-color); +} +.step-item:not(:last-child):after { + position: absolute; + inset-inline-start: 50%; + width: 100%; + content: ""; + transform: translateY(-50%); +} +.step-item:after { + top: calc(var(--tblr-steps-dot-size) * 0.5); + height: var(--tblr-steps-border-width); +} +.step-item:before { + content: ""; + position: absolute; + top: 0; + inset-inline-start: 50%; + z-index: 1; + box-sizing: content-box; + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .step-item:before { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.step-item:before { + transform: translateX(-50%); + color: var(--tblr-white); + width: var(--tblr-steps-dot-size); + height: var(--tblr-steps-dot-size); +} +.step-item.active { + font-weight: var(--tblr-font-weight-semibold); +} +.step-item.active:after { + background: var(--tblr-steps-inactive-color); +} +.step-item.active ~ .step-item { + color: var(--tblr-disabled-color); +} +.step-item.active ~ .step-item:after, .step-item.active ~ .step-item:before { + background: var(--tblr-steps-inactive-color); +} + +.steps-counter { + --tblr-steps-dot-size: 1.5rem; + counter-reset: steps; +} +.steps-counter .step-item { + counter-increment: steps; +} +.steps-counter .step-item:before { + content: counter(steps); +} + +.steps-vertical { + --tblr-steps-dot-offset: 6px; + flex-direction: column; +} +.steps-vertical.steps-counter { + --tblr-steps-dot-offset: -2px; +} +.steps-vertical .step-item { + text-align: start; + padding-top: 0; + padding-inline-start: calc(var(--tblr-steps-dot-size) + 1rem); + min-height: auto; +} +.steps-vertical .step-item:not(:first-child) { + margin-top: 1rem; +} +.steps-vertical .step-item:before { + top: var(--tblr-steps-dot-offset); + inset-inline-start: 0; + transform: translate(0, 0); +} +.steps-vertical .step-item:not(:last-child):after { + position: absolute; + content: ""; + transform: translateX(-50%); + top: var(--tblr-steps-dot-offset); + inset-inline-start: calc(var(--tblr-steps-dot-size) * 0.5); + width: var(--tblr-steps-border-width); + height: calc(100% + 1rem); +} + +@keyframes status-pulsate-main { + 40% { + transform: scale(1.25, 1.25); + } + 60% { + transform: scale(1.25, 1.25); + } +} +@keyframes status-pulsate-secondary { + 10% { + transform: scale(1, 1); + } + 30% { + transform: scale(3, 3); + } + 80% { + transform: scale(3, 3); + } + 100% { + transform: scale(1, 1); + } +} +@keyframes status-pulsate-tertiary { + 25% { + transform: scale(1, 1); + } + 80% { + transform: scale(3, 3); + opacity: 0; + } + 100% { + transform: scale(3, 3); + opacity: 0; + } +} +.status { + --tblr-status-height: 1.5rem; + --tblr-status-color: #6b7280; + --tblr-status-color-rgb: 107, 114, 128; + display: inline-flex; + align-items: center; + height: var(--tblr-status-height); + padding: 0.25rem 0.75rem; + gap: 0.5rem; + color: var(--tblr-status-color); + background: color-mix(in srgb, var(--tblr-status-color) 10%, transparent); + font-size: 0.875rem; + text-transform: none; + letter-spacing: normal; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .status { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.status { + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + margin: 0; +} +.status .status-dot { + background: var(--tblr-status-color); +} +.status .icon { + font-size: 1.25rem; +} + +.status-lite { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important; + background: transparent !important; + color: var(--tblr-body-color) !important; +} + +.status-primary { + --tblr-status-color: var(--tblr-primary); + --tblr-status-color-rgb: var(--tblr-primary-rgb); +} + +.status-secondary { + --tblr-status-color: var(--tblr-secondary); + --tblr-status-color-rgb: var(--tblr-secondary-rgb); +} + +.status-success { + --tblr-status-color: var(--tblr-success); + --tblr-status-color-rgb: var(--tblr-success-rgb); +} + +.status-info { + --tblr-status-color: var(--tblr-info); + --tblr-status-color-rgb: var(--tblr-info-rgb); +} + +.status-warning { + --tblr-status-color: var(--tblr-warning); + --tblr-status-color-rgb: var(--tblr-warning-rgb); +} + +.status-danger { + --tblr-status-color: var(--tblr-danger); + --tblr-status-color-rgb: var(--tblr-danger-rgb); +} + +.status-light { + --tblr-status-color: var(--tblr-light); + --tblr-status-color-rgb: var(--tblr-light-rgb); +} + +.status-dark { + --tblr-status-color: var(--tblr-dark); + --tblr-status-color-rgb: var(--tblr-dark-rgb); +} + +.status-muted { + --tblr-status-color: var(--tblr-muted); + --tblr-status-color-rgb: var(--tblr-muted-rgb); +} + +.status-blue { + --tblr-status-color: var(--tblr-blue); + --tblr-status-color-rgb: var(--tblr-blue-rgb); +} + +.status-azure { + --tblr-status-color: var(--tblr-azure); + --tblr-status-color-rgb: var(--tblr-azure-rgb); +} + +.status-indigo { + --tblr-status-color: var(--tblr-indigo); + --tblr-status-color-rgb: var(--tblr-indigo-rgb); +} + +.status-purple { + --tblr-status-color: var(--tblr-purple); + --tblr-status-color-rgb: var(--tblr-purple-rgb); +} + +.status-pink { + --tblr-status-color: var(--tblr-pink); + --tblr-status-color-rgb: var(--tblr-pink-rgb); +} + +.status-red { + --tblr-status-color: var(--tblr-red); + --tblr-status-color-rgb: var(--tblr-red-rgb); +} + +.status-orange { + --tblr-status-color: var(--tblr-orange); + --tblr-status-color-rgb: var(--tblr-orange-rgb); +} + +.status-yellow { + --tblr-status-color: var(--tblr-yellow); + --tblr-status-color-rgb: var(--tblr-yellow-rgb); +} + +.status-lime { + --tblr-status-color: var(--tblr-lime); + --tblr-status-color-rgb: var(--tblr-lime-rgb); +} + +.status-green { + --tblr-status-color: var(--tblr-green); + --tblr-status-color-rgb: var(--tblr-green-rgb); +} + +.status-teal { + --tblr-status-color: var(--tblr-teal); + --tblr-status-color-rgb: var(--tblr-teal-rgb); +} + +.status-cyan { + --tblr-status-color: var(--tblr-cyan); + --tblr-status-color-rgb: var(--tblr-cyan-rgb); +} + +.status-x { + --tblr-status-color: var(--tblr-x); + --tblr-status-color-rgb: var(--tblr-x-rgb); +} + +.status-facebook { + --tblr-status-color: var(--tblr-facebook); + --tblr-status-color-rgb: var(--tblr-facebook-rgb); +} + +.status-twitter { + --tblr-status-color: var(--tblr-twitter); + --tblr-status-color-rgb: var(--tblr-twitter-rgb); +} + +.status-linkedin { + --tblr-status-color: var(--tblr-linkedin); + --tblr-status-color-rgb: var(--tblr-linkedin-rgb); +} + +.status-google { + --tblr-status-color: var(--tblr-google); + --tblr-status-color-rgb: var(--tblr-google-rgb); +} + +.status-youtube { + --tblr-status-color: var(--tblr-youtube); + --tblr-status-color-rgb: var(--tblr-youtube-rgb); +} + +.status-vimeo { + --tblr-status-color: var(--tblr-vimeo); + --tblr-status-color-rgb: var(--tblr-vimeo-rgb); +} + +.status-dribbble { + --tblr-status-color: var(--tblr-dribbble); + --tblr-status-color-rgb: var(--tblr-dribbble-rgb); +} + +.status-github { + --tblr-status-color: var(--tblr-github); + --tblr-status-color-rgb: var(--tblr-github-rgb); +} + +.status-instagram { + --tblr-status-color: var(--tblr-instagram); + --tblr-status-color-rgb: var(--tblr-instagram-rgb); +} + +.status-pinterest { + --tblr-status-color: var(--tblr-pinterest); + --tblr-status-color-rgb: var(--tblr-pinterest-rgb); +} + +.status-vk { + --tblr-status-color: var(--tblr-vk); + --tblr-status-color-rgb: var(--tblr-vk-rgb); +} + +.status-rss { + --tblr-status-color: var(--tblr-rss); + --tblr-status-color-rgb: var(--tblr-rss-rgb); +} + +.status-flickr { + --tblr-status-color: var(--tblr-flickr); + --tblr-status-color-rgb: var(--tblr-flickr-rgb); +} + +.status-bitbucket { + --tblr-status-color: var(--tblr-bitbucket); + --tblr-status-color-rgb: var(--tblr-bitbucket-rgb); +} + +.status-tabler { + --tblr-status-color: var(--tblr-tabler); + --tblr-status-color-rgb: var(--tblr-tabler-rgb); +} + +.status-dot { + --tblr-status-dot-color: var(--tblr-status-color, #6b7280); + --tblr-status-size: 0.5rem; + position: relative; + display: inline-block; + width: var(--tblr-status-size); + height: var(--tblr-status-size); + background: var(--tblr-status-dot-color); + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .status-dot { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} + +.status-dot-animated:before { + content: ""; + position: absolute; + inset: 0; + z-index: 0; + background: inherit; + border-radius: inherit; + opacity: 0.6; + animation: 1s linear 2s backwards infinite status-pulsate-tertiary; +} + +.status-indicator { + --tblr-status-indicator-size: 2.5rem; + --tblr-status-indicator-color: var(--tblr-status-color, #6b7280); + display: block; + position: relative; + width: var(--tblr-status-indicator-size); + height: var(--tblr-status-indicator-size); +} + +.status-indicator-circle { + --tblr-status-circle-size: 0.75rem; + position: absolute; + inset-inline-start: 50%; + top: 50%; + margin: calc(var(--tblr-status-circle-size) / -2) 0 0 calc(var(--tblr-status-circle-size) / -2); + width: var(--tblr-status-circle-size); + height: var(--tblr-status-circle-size); + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .status-indicator-circle { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.status-indicator-circle { + background: var(--tblr-status-color); +} +.status-indicator-circle:nth-child(1) { + z-index: 3; +} +.status-indicator-circle:nth-child(2) { + z-index: 2; + opacity: 0.1; +} +.status-indicator-circle:nth-child(3) { + z-index: 1; + opacity: 0.3; +} + +.status-indicator-animated .status-indicator-circle:nth-child(1) { + animation: 2s linear 1s infinite backwards status-pulsate-main; +} +.status-indicator-animated .status-indicator-circle:nth-child(2) { + animation: 2s linear 1s infinite backwards status-pulsate-secondary; +} +.status-indicator-animated .status-indicator-circle:nth-child(3) { + animation: 2s linear 1s infinite backwards status-pulsate-tertiary; +} + +.switch-icon { + display: inline-block; + line-height: 1; + border: 0; + padding: 0; + background: transparent; + width: 1.25rem; + height: 1.25rem; + vertical-align: bottom; + position: relative; + cursor: pointer; +} +.switch-icon.disabled { + pointer-events: none; + opacity: 0.4; +} +.switch-icon:focus { + outline: none; +} +.switch-icon svg { + display: block; + width: 100%; + height: 100%; +} +.switch-icon .switch-icon-a, +.switch-icon .switch-icon-b { + display: block; + width: 100%; + height: 100%; +} +.switch-icon .switch-icon-a { + opacity: 1; +} +.switch-icon .switch-icon-b { + position: absolute; + top: 0; + inset-inline-start: 0; + opacity: 0; +} +.switch-icon.active .switch-icon-a { + opacity: 0; +} +.switch-icon.active .switch-icon-b { + opacity: 1; +} + +.switch-icon-fade .switch-icon-a, +.switch-icon-fade .switch-icon-b { + transition: opacity 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-fade .switch-icon-a, + .switch-icon-fade .switch-icon-b { + transition: none; + } +} + +.switch-icon-scale .switch-icon-a, +.switch-icon-scale .switch-icon-b { + transition: opacity 0.5s, transform 0s 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-scale .switch-icon-a, + .switch-icon-scale .switch-icon-b { + transition: none; + } +} +.switch-icon-scale .switch-icon-b { + transform: scale(1.5); +} +.switch-icon-scale.active .switch-icon-a, +.switch-icon-scale.active .switch-icon-b { + transition: opacity 0s, transform 0.5s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-scale.active .switch-icon-a, + .switch-icon-scale.active .switch-icon-b { + transition: none; + } +} +.switch-icon-scale.active .switch-icon-b { + transform: scale(1); +} + +.switch-icon-flip { + perspective: 10em; +} +.switch-icon-flip .switch-icon-a, +.switch-icon-flip .switch-icon-b { + backface-visibility: hidden; + transform-style: preserve-3d; + transition: opacity 0s 0.2s, transform 0.4s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-flip .switch-icon-a, + .switch-icon-flip .switch-icon-b { + transition: none; + } +} +.switch-icon-flip .switch-icon-a { + opacity: 1; + transform: rotateY(0deg); +} +.switch-icon-flip .switch-icon-b { + opacity: 1; + transform: rotateY(-180deg); +} +.switch-icon-flip.active .switch-icon-a { + opacity: 1; + transform: rotateY(180deg); +} +.switch-icon-flip.active .switch-icon-b { + opacity: 1; + transform: rotateY(0deg); +} + +.switch-icon-slide-up, +.switch-icon-slide-left, +.switch-icon-slide-start, +.switch-icon-slide-right, +.switch-icon-slide-end, +.switch-icon-slide-down { + overflow: hidden; +} +.switch-icon-slide-up .switch-icon-a, +.switch-icon-slide-up .switch-icon-b, +.switch-icon-slide-left .switch-icon-a, +.switch-icon-slide-left .switch-icon-b, +.switch-icon-slide-start .switch-icon-a, +.switch-icon-slide-start .switch-icon-b, +.switch-icon-slide-right .switch-icon-a, +.switch-icon-slide-right .switch-icon-b, +.switch-icon-slide-end .switch-icon-a, +.switch-icon-slide-end .switch-icon-b, +.switch-icon-slide-down .switch-icon-a, +.switch-icon-slide-down .switch-icon-b { + transition: opacity 0.3s, transform 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .switch-icon-slide-up .switch-icon-a, + .switch-icon-slide-up .switch-icon-b, + .switch-icon-slide-left .switch-icon-a, + .switch-icon-slide-left .switch-icon-b, + .switch-icon-slide-start .switch-icon-a, + .switch-icon-slide-start .switch-icon-b, + .switch-icon-slide-right .switch-icon-a, + .switch-icon-slide-right .switch-icon-b, + .switch-icon-slide-end .switch-icon-a, + .switch-icon-slide-end .switch-icon-b, + .switch-icon-slide-down .switch-icon-a, + .switch-icon-slide-down .switch-icon-b { + transition: none; + } +} +.switch-icon-slide-up .switch-icon-a, +.switch-icon-slide-left .switch-icon-a, +.switch-icon-slide-start .switch-icon-a, +.switch-icon-slide-right .switch-icon-a, +.switch-icon-slide-end .switch-icon-a, +.switch-icon-slide-down .switch-icon-a { + transform: translateY(0); +} +.switch-icon-slide-up .switch-icon-b, +.switch-icon-slide-left .switch-icon-b, +.switch-icon-slide-start .switch-icon-b, +.switch-icon-slide-right .switch-icon-b, +.switch-icon-slide-end .switch-icon-b, +.switch-icon-slide-down .switch-icon-b { + transform: translateY(100%); +} +.switch-icon-slide-up.active .switch-icon-a, +.switch-icon-slide-left.active .switch-icon-a, +.switch-icon-slide-start.active .switch-icon-a, +.switch-icon-slide-right.active .switch-icon-a, +.switch-icon-slide-end.active .switch-icon-a, +.switch-icon-slide-down.active .switch-icon-a { + transform: translateY(-100%); +} +.switch-icon-slide-up.active .switch-icon-b, +.switch-icon-slide-left.active .switch-icon-b, +.switch-icon-slide-start.active .switch-icon-b, +.switch-icon-slide-right.active .switch-icon-b, +.switch-icon-slide-end.active .switch-icon-b, +.switch-icon-slide-down.active .switch-icon-b { + transform: translateY(0); +} + +.switch-icon-slide-left .switch-icon-a, +.switch-icon-slide-start .switch-icon-a { + transform: translateX(0); +} +.switch-icon-slide-left .switch-icon-b, +.switch-icon-slide-start .switch-icon-b { + transform: translateX(100%); +} +.switch-icon-slide-left.active .switch-icon-a, +.switch-icon-slide-start.active .switch-icon-a { + transform: translateX(-100%); +} +.switch-icon-slide-left.active .switch-icon-b, +.switch-icon-slide-start.active .switch-icon-b { + transform: translateX(0); +} + +.switch-icon-slide-right .switch-icon-a, +.switch-icon-slide-end .switch-icon-a { + transform: translateX(0); +} +.switch-icon-slide-right .switch-icon-b, +.switch-icon-slide-end .switch-icon-b { + transform: translateX(-100%); +} +.switch-icon-slide-right.active .switch-icon-a, +.switch-icon-slide-end.active .switch-icon-a { + transform: translateX(100%); +} +.switch-icon-slide-right.active .switch-icon-b, +.switch-icon-slide-end.active .switch-icon-b { + transform: translateX(0); +} + +.switch-icon-slide-down .switch-icon-a { + transform: translateY(0); +} +.switch-icon-slide-down .switch-icon-b { + transform: translateY(-100%); +} +.switch-icon-slide-down.active .switch-icon-a { + transform: translateY(100%); +} +.switch-icon-slide-down.active .switch-icon-b { + transform: translateY(0); +} + +.table, .prose > table, +.markdown > table { + font: inherit; +} +.table thead th, .prose > table thead th, +.markdown > table thead th { + background: var(--tblr-bg-surface-tertiary); + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + white-space: nowrap; +} +@media print { + .table thead th, .prose > table thead th, + .markdown > table thead th { + background: transparent; + } +} + +.table-responsive .table, .table-responsive .prose > table, +.table-responsive .markdown > table { + margin-bottom: 0; +} + +.table-transparent thead th { + background: transparent; +} + +.table-nowrap > :not(caption) > * > * { + white-space: nowrap; +} + +.table-vcenter > :not(caption) > * > * { + vertical-align: middle; +} + +.table-center > :not(caption) > * > * { + text-align: center; +} + +.td-truncate { + max-width: 1px; + width: 100%; +} + +.table-mobile { + display: block; +} +.table-mobile thead { + display: none; +} +.table-mobile tbody, +.table-mobile tr { + display: flex; + flex-direction: column; +} +.table-mobile td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; +} +.table-mobile td[data-label]:before { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + content: attr(data-label); + display: block; +} +.table-mobile tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); +} +.table-mobile .btn { + display: block; +} +@media (max-width: 575.98px) { + .table-mobile-sm { + display: block; + } + .table-mobile-sm thead { + display: none; + } + .table-mobile-sm tbody, + .table-mobile-sm tr { + display: flex; + flex-direction: column; + } + .table-mobile-sm td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-sm td[data-label]:before { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + content: attr(data-label); + display: block; + } + .table-mobile-sm tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-sm .btn { + display: block; + } +} +@media (max-width: 767.98px) { + .table-mobile-md { + display: block; + } + .table-mobile-md thead { + display: none; + } + .table-mobile-md tbody, + .table-mobile-md tr { + display: flex; + flex-direction: column; + } + .table-mobile-md td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-md td[data-label]:before { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + content: attr(data-label); + display: block; + } + .table-mobile-md tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-md .btn { + display: block; + } +} +@media (max-width: 991.98px) { + .table-mobile-lg { + display: block; + } + .table-mobile-lg thead { + display: none; + } + .table-mobile-lg tbody, + .table-mobile-lg tr { + display: flex; + flex-direction: column; + } + .table-mobile-lg td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-lg td[data-label]:before { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + content: attr(data-label); + display: block; + } + .table-mobile-lg tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-lg .btn { + display: block; + } +} +@media (max-width: 1199.98px) { + .table-mobile-xl { + display: block; + } + .table-mobile-xl thead { + display: none; + } + .table-mobile-xl tbody, + .table-mobile-xl tr { + display: flex; + flex-direction: column; + } + .table-mobile-xl td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-xl td[data-label]:before { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + content: attr(data-label); + display: block; + } + .table-mobile-xl tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-xl .btn { + display: block; + } +} +@media (max-width: 1399.98px) { + .table-mobile-xxl { + display: block; + } + .table-mobile-xxl thead { + display: none; + } + .table-mobile-xxl tbody, + .table-mobile-xxl tr { + display: flex; + flex-direction: column; + } + .table-mobile-xxl td { + display: block; + padding: 0.75rem 0.75rem !important; + border: none; + color: var(--tblr-body-color) !important; + } + .table-mobile-xxl td[data-label]:before { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + content: attr(data-label); + display: block; + } + .table-mobile-xxl tr { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + } + .table-mobile-xxl .btn { + display: block; + } +} + +/** +Table sort + */ +.table-sort { + font: inherit; + color: inherit; + text-transform: inherit; + letter-spacing: inherit; + border: 0; + background: inherit; + display: block; + width: 100%; + text-align: inherit; + margin: -0.5rem -0.75rem; + padding: 0.5rem 0.75rem; + transition: color 0.3s; +} +@media (prefers-reduced-motion: reduce) { + .table-sort { + transition: none; + } +} +.table-sort:hover, .table-sort.asc, .table-sort.desc { + color: var(--tblr-body-color); +} +.table-sort:after { + content: ""; + display: inline-flex; + width: 1rem; + height: 1rem; + vertical-align: bottom; + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); + background: currentColor; + margin-inline-start: 0.25rem; +} +.table-sort.asc:after { + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); +} +.table-sort.desc:after { + -webkit-mask-image: url("data:image/svg+xml,"); + mask-image: url("data:image/svg+xml,"); +} + +.table-borderless thead th { + background: transparent; +} + +.table-selectable tbody tr .on-checked { + display: none; +} +.table-selectable tbody tr .on-unchecked { + display: initial; +} +.table-selectable tbody tr:has(.table-selectable-check:checked) { + background-color: var(--tblr-active-bg); +} +.table-selectable tbody tr:has(.table-selectable-check:checked) .on-checked { + display: initial; +} +.table-selectable tbody tr:has(.table-selectable-check:checked) .on-unchecked { + display: none; +} + +.tag { + --tblr-tag-height: 1.5rem; + border: 1px solid var(--tblr-border-color); + display: inline-flex; + align-items: center; + height: var(--tblr-tag-height); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .tag { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.tag { + padding: 0 0.5rem; + background: var(--tblr-bg-surface); + box-shadow: var(--tblr-shadow-input); + gap: 0.5rem; +} +.tag .btn-close { + margin-inline-end: -0.25rem; + margin-inline-start: -0.125rem; + padding: 0; + width: 1rem; + height: 1rem; + font-size: 0.5rem; +} + +.tag-badge { + --tblr-badge-font-size: 0.625rem; + --tblr-badge-padding-x: 0.25rem; + --tblr-badge-padding-y: 0.125rem; + margin-inline-end: -0.25rem; +} + +.tag-avatar, +.tag-flag, +.tag-payment, +.tag-icon, +.tag-check { + margin-inline-start: -0.25rem; +} + +.tag-icon { + color: var(--tblr-secondary); + margin-inline-end: -0.125rem; + width: 1rem; + height: 1rem; +} + +.tag-check { + width: 1rem; + height: 1rem; + background-size: 1rem; +} + +.tags-list { + --tblr-list-gap: 0.5rem; + display: flex; + flex-wrap: wrap; + gap: var(--tblr-list-gap); +} + +.toast { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent); + box-shadow: rgba(31, 41, 55, 0.04) 0 2px 4px 0; +} +.toast .toast-header { + -webkit-user-select: none; + user-select: none; +} +.toast button[data-bs-dismiss=toast], +.toast button[data-dismiss=toast] { + outline: none; +} +@media print { + .toast { + display: none; + } +} + +.toast-primary { + --tblr-toast-color: #066fd1; +} + +.toast-secondary { + --tblr-toast-color: #6b7280; +} + +.toast-success { + --tblr-toast-color: #2fb344; +} + +.toast-info { + --tblr-toast-color: #4299e1; +} + +.toast-warning { + --tblr-toast-color: #f59f00; +} + +.toast-danger { + --tblr-toast-color: #d63939; +} + +.toast-light { + --tblr-toast-color: #f9fafb; +} + +.toast-dark { + --tblr-toast-color: #1f2937; +} + +.toast-muted { + --tblr-toast-color: #6b7280; +} + +.toast-blue { + --tblr-toast-color: #066fd1; +} + +.toast-azure { + --tblr-toast-color: #4299e1; +} + +.toast-indigo { + --tblr-toast-color: #4263eb; +} + +.toast-purple { + --tblr-toast-color: #ae3ec9; +} + +.toast-pink { + --tblr-toast-color: #d6336c; +} + +.toast-red { + --tblr-toast-color: #d63939; +} + +.toast-orange { + --tblr-toast-color: #f76707; +} + +.toast-yellow { + --tblr-toast-color: #f59f00; +} + +.toast-lime { + --tblr-toast-color: #74b816; +} + +.toast-green { + --tblr-toast-color: #2fb344; +} + +.toast-teal { + --tblr-toast-color: #0ca678; +} + +.toast-cyan { + --tblr-toast-color: #17a2b8; +} + +.toolbar { + display: flex; + flex-wrap: nowrap; + flex-shrink: 0; + margin: 0 -0.5rem; +} +.toolbar > * { + margin: 0 0.5rem; +} +@media print { + .toolbar { + display: none; + } +} + +.tracking { + --tblr-tracking-height: 1.5rem; + --tblr-tracking-gap-width: 0.125rem; + --tblr-tracking-block-border-radius: var(--tblr-border-radius); + display: flex; + gap: var(--tblr-tracking-gap-width); +} + +.tracking-squares { + --tblr-tracking-block-border-radius: var(--tblr-border-radius-sm); +} +.tracking-squares .tracking-block { + height: auto; +} +.tracking-squares .tracking-block:before { + content: ""; + display: block; + padding-top: 100%; +} + +.tracking-block { + flex: 1; + border-radius: var(--tblr-tracking-block-border-radius); +} +@supports (corner-shape: squircle) { + .tracking-block { + corner-shape: squircle; + border-radius: calc(var(--tblr-tracking-block-border-radius) * 2.5) !important; + } +} +.tracking-block { + height: var(--tblr-tracking-height); + min-width: 0.25rem; + background: var(--tblr-border-color); +} + +.timeline { + --tblr-timeline-icon-size: 2.5rem; + position: relative; + list-style: none; + padding: 0; +} + +.timeline-event { + position: relative; +} +.timeline-event:not(:last-child) { + margin-bottom: var(--tblr-page-padding); +} +.timeline-event:not(:last-child):before { + content: ""; + position: absolute; + top: var(--tblr-timeline-icon-size); + inset-inline-start: calc(var(--tblr-timeline-icon-size) / 2); + bottom: calc(-1 * var(--tblr-page-padding)); + width: var(--tblr-border-width); + background-color: var(--tblr-border-color); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .timeline-event:not(:last-child):before { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.timeline-event-icon { + position: absolute; + display: flex; + align-items: center; + justify-content: center; + width: var(--tblr-timeline-icon-size, 2.5rem); + height: var(--tblr-timeline-icon-size, 2.5rem); + background: var(--tblr-bg-surface-secondary); + color: var(--tblr-secondary); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .timeline-event-icon { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.timeline-event-icon { + z-index: 5; +} + +.timeline-event-card { + margin-inline-start: calc(var(--tblr-timeline-icon-size, 2.5rem) + var(--tblr-page-padding)); +} + +.timeline-simple .timeline-event-icon { + display: none; +} +.timeline-simple .timeline-event-card { + margin-inline-start: 0; +} + +/** +Horizontal rules + */ +/** +Hr text + */ +.hr-text { + display: flex; + align-items: center; + margin: 2rem 0; + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); + height: 1px; +} +.hr-text:after, .hr-text:before { + flex: 1 1 auto; + height: 1px; + background-color: var(--tblr-border-color); +} +.hr-text:before { + content: ""; + margin-inline-end: 0.5rem; +} +.hr-text:after { + content: ""; + margin-inline-start: 0.5rem; +} +.hr-text > *:first-child { + padding-inline-end: 0.5rem; + padding-inline-start: 0; + color: var(--tblr-secondary); +} +.hr-text.hr-text-left:before, .hr-text.hr-text-start:before { + content: none; +} +.hr-text.hr-text-left > *:first-child, .hr-text.hr-text-start > *:first-child { + padding-inline-end: 0.5rem; + padding-inline-start: 0.5rem; +} +.hr-text.hr-text-right:before, .hr-text.hr-text-end:before { + content: ""; +} +.hr-text.hr-text-right:after, .hr-text.hr-text-end:after { + content: none; +} +.hr-text.hr-text-right > *:first-child, .hr-text.hr-text-end > *:first-child { + padding-inline-end: 0; + padding-inline-start: 0.5rem; +} +.card > .hr-text { + margin: 0; +} + +.hr-text-spaceless { + margin: -0.5rem 0; +} + +.lead { + color: var(--tblr-secondary); + font-size: inherit; +} + +a { + -webkit-text-decoration-skip: ink; + text-decoration-skip-ink: auto; + color: color-mix(in srgb, transparent, var(--tblr-link-color) var(--tblr-link-opacity, 100%)); +} +a:hover { + color: color-mix(in srgb, transparent, var(--tblr-link-hover-color) var(--tblr-link-opacity, 100%)); +} + +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a, +.h1 a, +.h2 a, +.h3 a, +.h4 a, +.h5 a, +.h6 a { + color: inherit; +} +h1 a:hover, +h2 a:hover, +h3 a:hover, +h4 a:hover, +h5 a:hover, +h6 a:hover, +.h1 a:hover, +.h2 a:hover, +.h3 a:hover, +.h4 a:hover, +.h5 a:hover, +.h6 a:hover { + color: inherit; +} + +h1, +.h1 { + font-size: var(--tblr-font-size-h1); + line-height: var(--tblr-line-height-h1); +} + +h2, +.h2 { + font-size: var(--tblr-font-size-h2); + line-height: var(--tblr-line-height-h2); +} + +h3, +.h3 { + font-size: var(--tblr-font-size-h3); + line-height: var(--tblr-line-height-h3); +} + +h4, +.h4 { + font-size: var(--tblr-font-size-h4); + line-height: var(--tblr-line-height-h4); +} + +h5, +.h5 { + font-size: var(--tblr-font-size-h5); + line-height: var(--tblr-line-height-h5); +} + +h6, +.h6 { + font-size: var(--tblr-font-size-h6); + line-height: var(--tblr-line-height-h6); +} + +.fs-base { + font-size: var(--tblr-body-font-size); +} + +strong, +.strong, +b { + font-weight: var(--tblr-font-weight-semibold); +} + +blockquote { + padding: 1rem 1rem 1rem; + border-inline-start: 2px var(--tblr-border-style) var(--tblr-border-color); +} +blockquote p { + margin-bottom: 1rem; +} +blockquote cite { + display: block; + text-align: end; +} +blockquote cite:before { + content: "— "; +} + +ul, +ol { + padding-inline-start: 1.5rem; +} + +hr, .hr { + margin: 2rem 0; +} + +dl dd:last-child { + margin-bottom: 0; +} + +pre { + --tblr-scrollbar-color: var(--tblr-light); + padding: 1rem; + background: var(--tblr-bg-surface-dark); + color: var(--tblr-light); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + pre { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +pre { + line-height: 1.4285714286; +} +pre { + scrollbar-color: color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent) transparent; +} +pre::-webkit-scrollbar { + width: 1rem; + height: 1rem; + -webkit-transition: background 0.3s; + transition: background 0.3s; +} +@media (prefers-reduced-motion: reduce) { + pre::-webkit-scrollbar { + -webkit-transition: none; + transition: none; + } +} +pre::-webkit-scrollbar-thumb { + border-radius: 1rem; +} +@supports (corner-shape: squircle) { + pre::-webkit-scrollbar-thumb { + corner-shape: squircle; + border-radius: calc(1rem * 2.5) !important; + } +} +pre::-webkit-scrollbar-thumb { + border: 5px solid transparent; + box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent); +} +pre::-webkit-scrollbar-track { + background: transparent; +} +pre:hover::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%, transparent); +} +pre::-webkit-scrollbar-corner { + background: transparent; +} +pre code { + background: transparent; + padding: 0; +} + +code { + background: var(--tblr-code-bg); + padding: 2px 4px; + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + code { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +abbr { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +kbd, +.kbd { + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); + display: inline-block; + box-sizing: border-box; + max-width: 100%; + font-size: var(--tblr-font-size-h5); + font-weight: var(--tblr-font-weight-medium); + line-height: 1; + vertical-align: baseline; + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + kbd, + .kbd { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +img { + max-width: 100%; + height: auto; +} + +.list-unstyled { + margin-inline-start: 0; +} + +/** +Selection + */ +::selection, +.text-selected { + background-color: color-mix(in srgb, var(--tblr-primary) 10%, transparent); +} + +.text-selected { + display: inline-block; +} + +/** +Links + */ +[class^=link-].disabled, +[class*=" link-"].disabled { + color: var(--tblr-disabled-color) !important; + pointer-events: none; +} + +a:hover:has(.icon) { + text-decoration: none; +} + +.link-hoverable { + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .link-hoverable { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.link-hoverable { + transition: background-color 0.15s ease-in-out; +} +.link-hoverable:hover { + text-decoration: none; + color: var(--tblr-primary); + background: color-mix(in srgb, var(--tblr-secondary) 4%, transparent); +} + +/** +Subheader + */ +.subheader { + font-size: 0.75rem; + font-weight: var(--tblr-font-weight-medium); + text-transform: uppercase; + letter-spacing: 0.04em; + line-height: 1rem; + color: var(--tblr-secondary); +} + +/** +Mentions + */ +.mention { + display: inline-block; + box-shadow: var(--tblr-shadow-border); + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .mention { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.mention { + line-height: 1.3333333333em; + font-size: 0.8571428571em; + color: var(--tblr-body-color); + background: var(--tblr-bg-surface-tertiary); + padding: 0.1666666667em 0.6666666667em; + font-weight: var(--tblr-font-weight-medium); +} +a.mention { + cursor: pointer; +} +a.mention:hover, a.mention.hover { + background: var(--tblr-bg-surface-secondary); + text-decoration: underline; +} + +.mention-avatar, +.mention-app, +.mention-color { + width: 1.1666666667em; + height: 1.1666666667em; + border-radius: var(--tblr-border-radius-pill); +} +@supports (corner-shape: squircle) { + .mention-avatar, + .mention-app, + .mention-color { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important; + } +} +.mention-avatar, +.mention-app, +.mention-color { + margin: -0.1666666667em 0.3333333333em 0 -0.3333333333em; + display: inline-flex; + background: no-repeat center center/cover; + box-shadow: var(--tblr-shadow-border); + vertical-align: middle; + text-align: center; +} + +.mention-app { + box-shadow: none; + background: none; + border-radius: 0; +} + +.mention-count { + color: var(--tblr-secondary); + margin-inline-start: 0.6666666667em; +} + +.text-incorrect { + background: color-mix(in srgb, var(--tblr-red) 4%, transparent); + background: color-mix(in srgb, var(--tblr-red) 4%, transparent); + text-decoration: underline; + text-decoration-thickness: 1px; + text-decoration-color: var(--tblr-red); +} + +.text-correct { + background: color-mix(in srgb, var(--tblr-green) 4%, transparent); + background: color-mix(in srgb, var(--tblr-green) 4%, transparent); + text-decoration: underline; + text-decoration-thickness: 1px; + text-decoration-color: var(--tblr-green); +} + +.steps { + --tblr-steps-padding: 2rem; + --tblr-steps-item-size: 1.5rem; + margin-inline-start: 1rem; + padding-inline-start: var(--tblr-steps-padding); + counter-reset: step; + border-inline-start: 1px solid var(--tblr-border-color); + margin-bottom: 2rem; +} +.steps h3, .steps .h3 { + counter-increment: step; +} +.steps h3:not(:first-child), .steps .h3:not(:first-child) { + margin-top: 2.5rem !important; +} +.steps h3:before, .steps .h3:before { + content: counter(step); + display: inline-block; + position: absolute; + margin-top: 1px; + margin-inline-start: calc(-1 * var(--tblr-steps-padding) - var(--tblr-steps-item-size) / 2); + width: var(--tblr-steps-item-size); + height: var(--tblr-steps-item-size); + text-align: center; + color: var(--tblr-body-color); + border: 1px solid var(--tblr-border-color); + background: var(--tblr-bg-surface); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .steps h3:before, .steps .h3:before { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.steps h3:before, .steps .h3:before { + line-height: calc(var(--tblr-steps-item-size) - 2px); + font-size: var(--tblr-font-size-h4); + font-weight: var(--tblr-font-weight-semibold); +} +.steps > :last-child { + margin-bottom: 0; +} + +.callout { + margin-bottom: 1.5rem; + border: 1px solid var(--tblr-primary-200); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .callout { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} +.callout { + padding: 0.5rem 1rem; + background: var(--tblr-primary-lt); +} +.callout > :last-child { + margin-bottom: 0; +} + +.chart { + display: block; + min-height: 10rem; +} +.chart text { + font-family: inherit; +} + +.chart-sm { + height: 2.5rem; +} + +.chart-lg { + height: 15rem; +} + +.chart-square { + height: 5.75rem; +} + +/** +Chart sparkline + */ +.chart-sparkline { + position: relative; + width: 4rem; + height: 2.5rem; + line-height: 1; + min-height: 0 !important; +} + +.chart-sparkline-sm { + height: 1.5rem; +} + +.chart-sparkline-square { + width: 2.5rem; +} + +.chart-sparkline-wide { + width: 6rem; +} + +.chart-sparkline-label { + position: absolute; + top: 0; + inset-inline-end: 0; + bottom: 0; + inset-inline-start: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.625rem; +} +.chart-sparkline-label .icon { + width: 1rem; + height: 1rem; + font-size: 1rem; +} + +@media print { + .offcanvas { + display: none; + } +} + +.offcanvas-header { + border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color); +} + +.offcanvas-footer { + padding: 1.5rem 1.5rem; +} + +.offcanvas-title { + font-size: 1rem; + font-weight: var(--tblr-font-weight-medium); + line-height: 1.5rem; +} + +.offcanvas-narrow { + width: 20rem; +} + +.chat-bubbles { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.chat-bubble { + background: var(--tblr-bg-surface-secondary); + border-radius: var(--tblr-border-radius-lg); +} +@supports (corner-shape: squircle) { + .chat-bubble { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important; + } +} +.chat-bubble { + padding: 1rem; + position: relative; +} + +.chat-bubble-me { + background-color: var(--tblr-primary-lt); + box-shadow: none; +} + +.chat-bubble-title { + margin-bottom: 0.25rem; +} + +.chat-bubble-author { + font-weight: 600; +} + +.chat-bubble-date { + color: var(--tblr-secondary); +} + +.chat-bubble-body > *:last-child { + margin-bottom: 0; +} + +.signature { + --tblr-signature-padding: var(--tblr-spacer-1); + --tblr-signature-border-radius: var(--tblr-border-radius); + border: var(--tblr-border-width) solid var(--tblr-border-color); + padding: var(--tblr-signature-padding); + border-radius: var(--tblr-border-radius); +} +@supports (corner-shape: squircle) { + .signature { + corner-shape: squircle; + border-radius: calc(var(--tblr-border-radius) * 2.5) !important; + } +} + +.signature-canvas { + border: var(--tblr-border-width) dashed var(--tblr-border-color); + border-radius: calc(var(--tblr-signature-border-radius) - var(--tblr-signature-padding)); +} +@supports (corner-shape: squircle) { + .signature-canvas { + corner-shape: squircle; + border-radius: calc(calc(var(--tblr-signature-border-radius) - var(--tblr-signature-padding)) * 2.5) !important; + } +} +.signature-canvas { + display: block; + cursor: crosshair; + width: 100%; +} + +.bg-pattern-diagonal { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: repeating-linear-gradient(-45deg, var(--tblr-pattern-fill) 0 1px, transparent 0 50%); + background-clip: padding-box; + background-size: var(--tblr-pattern-size) var(--tblr-pattern-size); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-diagonal-2 { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: repeating-linear-gradient(45deg, var(--tblr-pattern-fill) 0 1px, transparent 0 50%); + background-clip: padding-box; + background-size: var(--tblr-pattern-size) var(--tblr-pattern-size); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-dots { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: 5px; + --tblr-pattern-dot: .5px; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 20%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: radial-gradient(circle, var(--tblr-pattern-fill) var(--tblr-pattern-dot), transparent var(--tblr-pattern-dot)), radial-gradient(circle, var(--tblr-pattern-fill) var(--tblr-pattern-dot), transparent var(--tblr-pattern-dot)); + background-position: 0 0, calc(var(--tblr-pattern-size) / 2) calc(var(--tblr-pattern-size) / 2); + background-size: var(--tblr-pattern-size) var(--tblr-pattern-size); + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-rectangles { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 3%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-size: .5rem; + background-image: repeating-linear-gradient(45deg, var(--tblr-pattern-fill) 25%, transparent 25%, transparent 75%, var(--tblr-pattern-fill) 75%, var(--tblr-pattern-fill)), repeating-linear-gradient(45deg, var(--tblr-pattern-fill) 25%, transparent 25%, transparent 75%, var(--tblr-pattern-fill) 75%, var(--tblr-pattern-fill)); + background-position: -1px -1px, calc(var(--tblr-pattern-size) - 1px) calc(var(--tblr-pattern-size) - 1px); + background-size: calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2); + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-lines { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 6%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-size: .5rem; + background-size: var(--tblr-pattern-size) var(--tblr-pattern-size); + background-image: repeating-linear-gradient(0deg, var(--tblr-pattern-fill), var(--tblr-pattern-fill) 1px, transparent 1px, transparent); + background-position: -1px -1px; + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-lines-vertical { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 6%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-size: .5rem; + background-size: var(--tblr-pattern-size) var(--tblr-pattern-size); + background-image: repeating-linear-gradient(90deg, var(--tblr-pattern-fill), var(--tblr-pattern-fill) 1px, transparent 1px, transparent); + background-position: -1px -1px; + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-grid { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 6%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-size: .5rem; + background-image: linear-gradient(to right, var(--tblr-pattern-fill) 1px, transparent 1px), linear-gradient(to bottom, var(--tblr-pattern-fill) 1px, transparent 1px); + background-size: calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2); + background-position: -1px -1px, -1px -1px; + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-grid-diagonal { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-size: .5rem; + background-image: linear-gradient(45deg, transparent 49%, var(--tblr-pattern-fill) 49%, var(--tblr-pattern-fill) 51%, transparent 51%), linear-gradient(-45deg, transparent 49%, var(--tblr-pattern-fill) 49%, var(--tblr-pattern-fill) 51%, transparent 51%); + background-size: calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2); + background-position: center center; + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-blueprint { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-line: color-mix(in oklch, var(--tblr-pattern-color) 6%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: linear-gradient(var(--tblr-pattern-line) 2px, transparent 2px), linear-gradient(90deg, var(--tblr-pattern-line) 2px, transparent 2px), linear-gradient(var(--tblr-pattern-line) 1px, transparent 1px), linear-gradient(90deg, var(--tblr-pattern-line) 1px, transparent 1px); + background-size: calc(var(--tblr-pattern-size) * 10) calc(var(--tblr-pattern-size) * 10), calc(var(--tblr-pattern-size) * 10) calc(var(--tblr-pattern-size) * 10), calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2), calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2); + background-position: -3px -3px, -3px -3px, -2px -2px, -2px -2px; + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-cross-dots { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: radial-gradient(var(--tblr-pattern-fill) 1px, transparent 1px), radial-gradient(var(--tblr-pattern-fill) 1px, transparent 1px); + background-size: calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2); + background-position: 0 0, var(--tblr-pattern-size) var(--tblr-pattern-size); + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-circles { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: radial-gradient(circle at center top, transparent 9%, var(--tblr-pattern-fill) 10%, var(--tblr-pattern-fill) 15%, transparent 16%), radial-gradient(circle at center bottom, transparent 9%, var(--tblr-pattern-fill) 10%, var(--tblr-pattern-fill) 15%, transparent 16%), radial-gradient(circle at right center, transparent 9%, var(--tblr-pattern-fill) 10%, var(--tblr-pattern-fill) 15%, transparent 16%), radial-gradient(circle at left center, transparent 9%, var(--tblr-pattern-fill) 10%, var(--tblr-pattern-fill) 15%, transparent 16%); + background-position: 0 0; + background-size: calc(var(--tblr-pattern-size) * 3) calc(var(--tblr-pattern-size) * 3); + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-diagonal-stripes { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: repeating-linear-gradient(45deg, transparent, transparent var(--tblr-pattern-size), var(--tblr-pattern-fill) var(--tblr-pattern-size), var(--tblr-pattern-fill) calc(2 * var(--tblr-pattern-size))); + background-repeat: no-repeat; + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-diagonal-stripes-2 { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: repeating-linear-gradient(-45deg, transparent, transparent var(--tblr-pattern-size), var(--tblr-pattern-fill) var(--tblr-pattern-size), var(--tblr-pattern-fill) calc(2 * var(--tblr-pattern-size))); + background-repeat: no-repeat; + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-zigzag { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background: linear-gradient(135deg, var(--tblr-pattern-fill) 25%, transparent 25%) calc(-1 * var(--tblr-pattern-size)) 0, linear-gradient(225deg, var(--tblr-pattern-fill) 25%, transparent 25%) calc(-1 * var(--tblr-pattern-size)) 0, linear-gradient(315deg, var(--tblr-pattern-fill) 25%, transparent 25%), linear-gradient(45deg, var(--tblr-pattern-fill) 25%, transparent 25%); + background-size: calc(2 * var(--tblr-pattern-size)) calc(2 * var(--tblr-pattern-size)); + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-vertical-stripes { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: repeating-linear-gradient(90deg, transparent, transparent var(--tblr-pattern-size), var(--tblr-pattern-fill) var(--tblr-pattern-size), var(--tblr-pattern-fill) calc(2 * var(--tblr-pattern-size))); + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-horizontal-stripes { + --tblr-pattern-color: var(--tblr-body-color); + --tblr-pattern-size: .5rem; + --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent); + --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent); + background-image: repeating-linear-gradient(0deg, transparent, transparent var(--tblr-pattern-size), var(--tblr-pattern-fill) var(--tblr-pattern-size), var(--tblr-pattern-fill) calc(2 * var(--tblr-pattern-size))); + background-position: -1px -1px; + background-clip: padding-box; + border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border); +} + +.bg-pattern-primary { + --tblr-pattern-color: #066fd1; +} + +.bg-pattern-secondary { + --tblr-pattern-color: #6b7280; +} + +.bg-pattern-success { + --tblr-pattern-color: #2fb344; +} + +.bg-pattern-info { + --tblr-pattern-color: #4299e1; +} + +.bg-pattern-warning { + --tblr-pattern-color: #f59f00; +} + +.bg-pattern-danger { + --tblr-pattern-color: #d63939; +} + +.bg-pattern-light { + --tblr-pattern-color: #f9fafb; +} + +.bg-pattern-dark { + --tblr-pattern-color: #1f2937; +} + +.bg-pattern-muted { + --tblr-pattern-color: #6b7280; +} + +.bg-pattern-blue { + --tblr-pattern-color: #066fd1; +} + +.bg-pattern-azure { + --tblr-pattern-color: #4299e1; +} + +.bg-pattern-indigo { + --tblr-pattern-color: #4263eb; +} + +.bg-pattern-purple { + --tblr-pattern-color: #ae3ec9; +} + +.bg-pattern-pink { + --tblr-pattern-color: #d6336c; +} + +.bg-pattern-red { + --tblr-pattern-color: #d63939; +} + +.bg-pattern-orange { + --tblr-pattern-color: #f76707; +} + +.bg-pattern-yellow { + --tblr-pattern-color: #f59f00; +} + +.bg-pattern-lime { + --tblr-pattern-color: #74b816; +} + +.bg-pattern-green { + --tblr-pattern-color: #2fb344; +} + +.bg-pattern-teal { + --tblr-pattern-color: #0ca678; +} + +.bg-pattern-cyan { + --tblr-pattern-color: #17a2b8; +} + +.bg-pattern-sm { + --tblr-pattern-size: 0.25rem; +} + +.bg-pattern-md { + --tblr-pattern-size: 0.5rem; +} + +.bg-pattern-lg { + --tblr-pattern-size: 0.75rem; +} + +.bg-pattern-xl { + --tblr-pattern-size: 1rem; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: var(--tblr-border-width); + min-height: 1em; + background-color: currentcolor; + opacity: 11.9%; +} + +.stretched-link::after { + position: absolute; + top: 0; + inset-inline-end: 0; + bottom: 0; + inset-inline-start: 0; + z-index: 1; + content: ""; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} +.visually-hidden *, +.visually-hidden-focusable:not(:focus):not(:focus-within) * { + overflow: hidden !important; +} + +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.fixed-top { + position: fixed; + top: 0; + inset-inline-end: 0; + inset-inline-start: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + inset-inline-end: 0; + bottom: 0; + inset-inline-start: 0; + z-index: 1030; +} + +.sticky-top { + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--tblr-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + inset-inline-start: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --tblr-aspect-ratio: 100%; +} + +.ratio-2x1 { + --tblr-aspect-ratio: 50%; +} + +.ratio-1x2 { + --tblr-aspect-ratio: 200%; +} + +.ratio-3x1 { + --tblr-aspect-ratio: 33.3333333333%; +} + +.ratio-1x3 { + --tblr-aspect-ratio: 300%; +} + +.ratio-4x1 { + --tblr-aspect-ratio: 25%; +} + +.ratio-1x4 { + --tblr-aspect-ratio: 400%; +} + +.ratio-4x3 { + --tblr-aspect-ratio: 75%; +} + +.ratio-3x4 { + --tblr-aspect-ratio: 133.3333333333%; +} + +.ratio-16x9 { + --tblr-aspect-ratio: 56.25%; +} + +.ratio-9x16 { + --tblr-aspect-ratio: 177.7777777778%; +} + +.ratio-21x9 { + --tblr-aspect-ratio: 42.8571428571%; +} + +.ratio-9x21 { + --tblr-aspect-ratio: 233.3333333333%; +} + +.focus-ring:focus { + outline: 0; + box-shadow: var(--tblr-focus-ring-x, 0) var(--tblr-focus-ring-y, 0) var(--tblr-focus-ring-blur, 0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color); +} + +.bg-white-overlay { + color: #ffffff; + background-color: rgba(249, 250, 251, 0.24); +} + +.bg-dark-overlay { + color: #ffffff; + background-color: rgba(31, 41, 55, 0.24); +} + +.bg-cover { + background-repeat: no-repeat; + background-size: cover; + background-position: center; +} + +.bg-primary { + background-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-primary-lt { + color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-primary-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-primary { + border-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-primary { + --tblr-gradient-from: var(--tblr-primary); +} + +.bg-gradient-to-primary { + --tblr-gradient-to: var(--tblr-primary); +} + +.bg-gradient-via-primary { + --tblr-gradient-via: var(--tblr-primary); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-primary { + color: #ffffff !important; + background-color: RGBA(var(--tblr-primary-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-primary { + color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-primary:hover, .link-primary:focus { + color: RGBA(4.8, 88.8, 167.2, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(4.8, 88.8, 167.2, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-secondary { + background-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-secondary-lt { + color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-secondary-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-secondary { + border-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-secondary { + --tblr-gradient-from: var(--tblr-secondary); +} + +.bg-gradient-to-secondary { + --tblr-gradient-to: var(--tblr-secondary); +} + +.bg-gradient-via-secondary { + --tblr-gradient-via: var(--tblr-secondary); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-secondary { + color: #ffffff !important; + background-color: RGBA(var(--tblr-secondary-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-secondary { + color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-secondary:hover, .link-secondary:focus { + color: RGBA(85.6, 91.2, 102.4, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(85.6, 91.2, 102.4, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-success { + background-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-success-lt { + color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-success-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-success { + border-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-success { + --tblr-gradient-from: var(--tblr-success); +} + +.bg-gradient-to-success { + --tblr-gradient-to: var(--tblr-success); +} + +.bg-gradient-via-success { + --tblr-gradient-via: var(--tblr-success); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-success { + color: #ffffff !important; + background-color: RGBA(var(--tblr-success-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-success { + color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-success:hover, .link-success:focus { + color: RGBA(37.6, 143.2, 54.4, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(37.6, 143.2, 54.4, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-info { + background-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-info-lt { + color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-info-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-info { + border-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-info { + --tblr-gradient-from: var(--tblr-info); +} + +.bg-gradient-to-info { + --tblr-gradient-to: var(--tblr-info); +} + +.bg-gradient-via-info { + --tblr-gradient-via: var(--tblr-info); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-info { + color: #ffffff !important; + background-color: RGBA(var(--tblr-info-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-info { + color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-info:hover, .link-info:focus { + color: RGBA(52.8, 122.4, 180, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(52.8, 122.4, 180, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-warning { + background-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-warning-lt { + color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-warning-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-warning { + border-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-warning { + --tblr-gradient-from: var(--tblr-warning); +} + +.bg-gradient-to-warning { + --tblr-gradient-to: var(--tblr-warning); +} + +.bg-gradient-via-warning { + --tblr-gradient-via: var(--tblr-warning); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-warning { + color: #ffffff !important; + background-color: RGBA(var(--tblr-warning-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-warning { + color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-warning:hover, .link-warning:focus { + color: RGBA(196, 127.2, 0, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(196, 127.2, 0, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-danger { + background-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-danger-lt { + color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-danger-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-danger { + border-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-danger { + --tblr-gradient-from: var(--tblr-danger); +} + +.bg-gradient-to-danger { + --tblr-gradient-to: var(--tblr-danger); +} + +.bg-gradient-via-danger { + --tblr-gradient-via: var(--tblr-danger); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-danger { + color: #ffffff !important; + background-color: RGBA(var(--tblr-danger-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-danger { + color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-danger:hover, .link-danger:focus { + color: RGBA(171.2, 45.6, 45.6, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(171.2, 45.6, 45.6, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-light { + background-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-light-lt { + color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-light-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-light { + border-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-light { + --tblr-gradient-from: var(--tblr-light); +} + +.bg-gradient-to-light { + --tblr-gradient-to: var(--tblr-light); +} + +.bg-gradient-via-light { + --tblr-gradient-via: var(--tblr-light); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-light { + color: #000000 !important; + background-color: RGBA(var(--tblr-light-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-light { + color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-light:hover, .link-light:focus { + color: RGBA(250.2, 251, 251.8, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(250.2, 251, 251.8, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-dark { + background-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-dark-lt { + color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-dark-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-dark { + border-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-dark { + --tblr-gradient-from: var(--tblr-dark); +} + +.bg-gradient-to-dark { + --tblr-gradient-to: var(--tblr-dark); +} + +.bg-gradient-via-dark { + --tblr-gradient-via: var(--tblr-dark); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-dark { + color: #ffffff !important; + background-color: RGBA(var(--tblr-dark-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-dark { + color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-dark:hover, .link-dark:focus { + color: RGBA(24.8, 32.8, 44, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(24.8, 32.8, 44, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-muted { + background-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-muted-lt { + color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-muted-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-muted { + border-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-muted { + --tblr-gradient-from: var(--tblr-muted); +} + +.bg-gradient-to-muted { + --tblr-gradient-to: var(--tblr-muted); +} + +.bg-gradient-via-muted { + --tblr-gradient-via: var(--tblr-muted); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-muted { + color: #ffffff !important; + background-color: RGBA(var(--tblr-muted-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-muted { + color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-muted:hover, .link-muted:focus { + color: RGBA(85.6, 91.2, 102.4, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(85.6, 91.2, 102.4, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-blue { + background-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-blue-lt { + color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-blue-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-blue { + border-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-blue { + --tblr-gradient-from: var(--tblr-blue); +} + +.bg-gradient-to-blue { + --tblr-gradient-to: var(--tblr-blue); +} + +.bg-gradient-via-blue { + --tblr-gradient-via: var(--tblr-blue); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-blue { + color: #ffffff !important; + background-color: RGBA(var(--tblr-blue-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-blue { + color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-blue:hover, .link-blue:focus { + color: RGBA(4.8, 88.8, 167.2, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(4.8, 88.8, 167.2, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-azure { + background-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-azure-lt { + color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-azure-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-azure { + border-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-azure { + --tblr-gradient-from: var(--tblr-azure); +} + +.bg-gradient-to-azure { + --tblr-gradient-to: var(--tblr-azure); +} + +.bg-gradient-via-azure { + --tblr-gradient-via: var(--tblr-azure); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-azure { + color: #ffffff !important; + background-color: RGBA(var(--tblr-azure-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-azure { + color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-azure:hover, .link-azure:focus { + color: RGBA(52.8, 122.4, 180, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(52.8, 122.4, 180, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-indigo { + background-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-indigo-lt { + color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-indigo-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-indigo { + border-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-indigo { + --tblr-gradient-from: var(--tblr-indigo); +} + +.bg-gradient-to-indigo { + --tblr-gradient-to: var(--tblr-indigo); +} + +.bg-gradient-via-indigo { + --tblr-gradient-via: var(--tblr-indigo); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-indigo { + color: #ffffff !important; + background-color: RGBA(var(--tblr-indigo-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-indigo { + color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-indigo:hover, .link-indigo:focus { + color: RGBA(52.8, 79.2, 188, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(52.8, 79.2, 188, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-purple { + background-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-purple-lt { + color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-purple-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-purple { + border-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-purple { + --tblr-gradient-from: var(--tblr-purple); +} + +.bg-gradient-to-purple { + --tblr-gradient-to: var(--tblr-purple); +} + +.bg-gradient-via-purple { + --tblr-gradient-via: var(--tblr-purple); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-purple { + color: #ffffff !important; + background-color: RGBA(var(--tblr-purple-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-purple { + color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-purple:hover, .link-purple:focus { + color: RGBA(139.2, 49.6, 160.8, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(139.2, 49.6, 160.8, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-pink { + background-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-pink-lt { + color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-pink-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-pink { + border-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-pink { + --tblr-gradient-from: var(--tblr-pink); +} + +.bg-gradient-to-pink { + --tblr-gradient-to: var(--tblr-pink); +} + +.bg-gradient-via-pink { + --tblr-gradient-via: var(--tblr-pink); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-pink { + color: #ffffff !important; + background-color: RGBA(var(--tblr-pink-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-pink { + color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-pink:hover, .link-pink:focus { + color: RGBA(171.2, 40.8, 86.4, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(171.2, 40.8, 86.4, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-red { + background-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-red-lt { + color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-red-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-red { + border-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-red { + --tblr-gradient-from: var(--tblr-red); +} + +.bg-gradient-to-red { + --tblr-gradient-to: var(--tblr-red); +} + +.bg-gradient-via-red { + --tblr-gradient-via: var(--tblr-red); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-red { + color: #ffffff !important; + background-color: RGBA(var(--tblr-red-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-red { + color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-red:hover, .link-red:focus { + color: RGBA(171.2, 45.6, 45.6, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(171.2, 45.6, 45.6, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-orange { + background-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-orange-lt { + color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-orange-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-orange { + border-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-orange { + --tblr-gradient-from: var(--tblr-orange); +} + +.bg-gradient-to-orange { + --tblr-gradient-to: var(--tblr-orange); +} + +.bg-gradient-via-orange { + --tblr-gradient-via: var(--tblr-orange); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-orange { + color: #ffffff !important; + background-color: RGBA(var(--tblr-orange-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-orange { + color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-orange:hover, .link-orange:focus { + color: RGBA(197.6, 82.4, 5.6, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(197.6, 82.4, 5.6, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-yellow { + background-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-yellow-lt { + color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-yellow-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-yellow { + border-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-yellow { + --tblr-gradient-from: var(--tblr-yellow); +} + +.bg-gradient-to-yellow { + --tblr-gradient-to: var(--tblr-yellow); +} + +.bg-gradient-via-yellow { + --tblr-gradient-via: var(--tblr-yellow); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-yellow { + color: #ffffff !important; + background-color: RGBA(var(--tblr-yellow-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-yellow { + color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-yellow:hover, .link-yellow:focus { + color: RGBA(196, 127.2, 0, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(196, 127.2, 0, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-lime { + background-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-lime-lt { + color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-lime-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-lime { + border-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-lime { + --tblr-gradient-from: var(--tblr-lime); +} + +.bg-gradient-to-lime { + --tblr-gradient-to: var(--tblr-lime); +} + +.bg-gradient-via-lime { + --tblr-gradient-via: var(--tblr-lime); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-lime { + color: #ffffff !important; + background-color: RGBA(var(--tblr-lime-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-lime { + color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-lime:hover, .link-lime:focus { + color: RGBA(92.8, 147.2, 17.6, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(92.8, 147.2, 17.6, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-green { + background-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-green-lt { + color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-green-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-green { + border-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-green { + --tblr-gradient-from: var(--tblr-green); +} + +.bg-gradient-to-green { + --tblr-gradient-to: var(--tblr-green); +} + +.bg-gradient-via-green { + --tblr-gradient-via: var(--tblr-green); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-green { + color: #ffffff !important; + background-color: RGBA(var(--tblr-green-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-green { + color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-green:hover, .link-green:focus { + color: RGBA(37.6, 143.2, 54.4, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(37.6, 143.2, 54.4, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-teal { + background-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-teal-lt { + color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-teal-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-teal { + border-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-teal { + --tblr-gradient-from: var(--tblr-teal); +} + +.bg-gradient-to-teal { + --tblr-gradient-to: var(--tblr-teal); +} + +.bg-gradient-via-teal { + --tblr-gradient-via: var(--tblr-teal); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-teal { + color: #ffffff !important; + background-color: RGBA(var(--tblr-teal-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-teal { + color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-teal:hover, .link-teal:focus { + color: RGBA(9.6, 132.8, 96, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(9.6, 132.8, 96, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-cyan { + background-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-cyan-lt { + color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-cyan-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-cyan { + border-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-cyan { + --tblr-gradient-from: var(--tblr-cyan); +} + +.bg-gradient-to-cyan { + --tblr-gradient-to: var(--tblr-cyan); +} + +.bg-gradient-via-cyan { + --tblr-gradient-via: var(--tblr-cyan); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-cyan { + color: #ffffff !important; + background-color: RGBA(var(--tblr-cyan-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-cyan { + color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-cyan:hover, .link-cyan:focus { + color: RGBA(18.4, 129.6, 147.2, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(18.4, 129.6, 147.2, var(--tblr-link-underline-opacity, 1)) !important; +} + +.bg-white { + background-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.bg-white-lt { + color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important; + background-color: color-mix(in srgb, var(--tblr-white-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important; +} + +.border-white { + border-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important; +} + +.bg-gradient-from-white { + --tblr-gradient-from: var(--tblr-white); +} + +.bg-gradient-to-white { + --tblr-gradient-to: var(--tblr-white); +} + +.bg-gradient-via-white { + --tblr-gradient-via: var(--tblr-white); + --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent); +} + +.text-bg-white { + color: #000000 !important; + background-color: RGBA(var(--tblr-white-rgb), var(--tblr-bg-opacity, 1)) !important; +} + +.link-white { + color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important; + text-decoration-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important; +} +.link-white:hover, .link-white:focus { + color: RGBA(255, 255, 255, var(--tblr-link-opacity, 1)) !important; + text-decoration-color: RGBA(255, 255, 255, var(--tblr-link-underline-opacity, 1)) !important; +} + +.text-primary { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-primary-fg { + color: var(--tblr-primary-fg) !important; +} + +.text-secondary { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-secondary-fg { + color: var(--tblr-secondary-fg) !important; +} + +.text-success { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-success-fg { + color: var(--tblr-success-fg) !important; +} + +.text-info { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-info-fg { + color: var(--tblr-info-fg) !important; +} + +.text-warning { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-warning-fg { + color: var(--tblr-warning-fg) !important; +} + +.text-danger { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-danger-fg { + color: var(--tblr-danger-fg) !important; +} + +.text-light { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-light-fg { + color: var(--tblr-light-fg) !important; +} + +.text-dark { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-dark-fg { + color: var(--tblr-dark-fg) !important; +} + +.text-muted { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-muted-fg { + color: var(--tblr-muted-fg) !important; +} + +.text-blue { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-blue-fg { + color: var(--tblr-blue-fg) !important; +} + +.text-azure { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-azure-fg { + color: var(--tblr-azure-fg) !important; +} + +.text-indigo { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-indigo-fg { + color: var(--tblr-indigo-fg) !important; +} + +.text-purple { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-purple-fg { + color: var(--tblr-purple-fg) !important; +} + +.text-pink { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-pink-fg { + color: var(--tblr-pink-fg) !important; +} + +.text-red { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-red-fg { + color: var(--tblr-red-fg) !important; +} + +.text-orange { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-orange-fg { + color: var(--tblr-orange-fg) !important; +} + +.text-yellow { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-yellow-fg { + color: var(--tblr-yellow-fg) !important; +} + +.text-lime { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-lime-fg { + color: var(--tblr-lime-fg) !important; +} + +.text-green { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-green-fg { + color: var(--tblr-green-fg) !important; +} + +.text-teal { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-teal-fg { + color: var(--tblr-teal-fg) !important; +} + +.text-cyan { + --tblr-text-opacity: 1; + color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-text-opacity) * 100%), transparent) !important; +} + +.text-cyan-fg { + color: var(--tblr-cyan-fg) !important; +} + +.bg-gray-50 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-50) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-50-fg { + color: var(--tblr-gray-50-fg) !important; +} + +.bg-gray-100 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-100) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-100-fg { + color: var(--tblr-gray-100-fg) !important; +} + +.bg-gray-200 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-200) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-200-fg { + color: var(--tblr-gray-200-fg) !important; +} + +.bg-gray-300 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-300) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-300-fg { + color: var(--tblr-gray-300-fg) !important; +} + +.bg-gray-400 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-400) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-400-fg { + color: var(--tblr-gray-400-fg) !important; +} + +.bg-gray-500 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-500) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-500-fg { + color: var(--tblr-gray-500-fg) !important; +} + +.bg-gray-600 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-600) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-600-fg { + color: var(--tblr-gray-600-fg) !important; +} + +.bg-gray-700 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-700) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-700-fg { + color: var(--tblr-gray-700-fg) !important; +} + +.bg-gray-800 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-800) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-800-fg { + color: var(--tblr-gray-800-fg) !important; +} + +.bg-gray-900 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-900) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-900-fg { + color: var(--tblr-gray-900-fg) !important; +} + +.bg-gray-950 { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-gray-950) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-gray-950-fg { + color: var(--tblr-gray-950-fg) !important; +} + +.bg-x { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-x) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-x-fg { + color: var(--tblr-x-fg) !important; +} + +.bg-facebook { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-facebook) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-facebook-fg { + color: var(--tblr-facebook-fg) !important; +} + +.bg-twitter { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-twitter) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-twitter-fg { + color: var(--tblr-twitter-fg) !important; +} + +.bg-linkedin { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-linkedin) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-linkedin-fg { + color: var(--tblr-linkedin-fg) !important; +} + +.bg-google { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-google) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-google-fg { + color: var(--tblr-google-fg) !important; +} + +.bg-youtube { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-youtube) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-youtube-fg { + color: var(--tblr-youtube-fg) !important; +} + +.bg-vimeo { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-vimeo) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-vimeo-fg { + color: var(--tblr-vimeo-fg) !important; +} + +.bg-dribbble { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-dribbble) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-dribbble-fg { + color: var(--tblr-dribbble-fg) !important; +} + +.bg-github { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-github) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-github-fg { + color: var(--tblr-github-fg) !important; +} + +.bg-instagram { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-instagram) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-instagram-fg { + color: var(--tblr-instagram-fg) !important; +} + +.bg-pinterest { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-pinterest) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-pinterest-fg { + color: var(--tblr-pinterest-fg) !important; +} + +.bg-vk { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-vk) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-vk-fg { + color: var(--tblr-vk-fg) !important; +} + +.bg-rss { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-rss) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-rss-fg { + color: var(--tblr-rss-fg) !important; +} + +.bg-flickr { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-flickr) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-flickr-fg { + color: var(--tblr-flickr-fg) !important; +} + +.bg-bitbucket { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-bitbucket) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-bitbucket-fg { + color: var(--tblr-bitbucket-fg) !important; +} + +.bg-tabler { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-tabler) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.text-tabler-fg { + color: var(--tblr-tabler-fg) !important; +} + +.bg-inverted { + --tblr-bg-opacity: 1; + background-color: color-mix(in srgb, var(--tblr-bg-surface-inverted) calc(var(--tblr-bg-opacity) * 100%), transparent) !important; +} + +.bg-surface { + background-color: var(--tblr-bg-surface) !important; +} + +.bg-surface-secondary { + background-color: var(--tblr-bg-surface-secondary) !important; +} + +.bg-surface-tertiary { + background-color: var(--tblr-bg-surface-tertiary) !important; +} + +.bg-surface-backdrop { + background-color: color-mix(in srgb, light-dark(var(--tblr-gray-800), var(--tblr-black)) 32%, transparent) !important; +} + +/* +Scrollable +*/ +.scrollable { + overflow-x: hidden; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} +.scrollable.hover { + overflow-y: hidden; +} +.scrollable.hover > * { + margin-top: -1px; +} +.scrollable.hover:hover, .scrollable.hover:focus, .scrollable.hover:active { + overflow: visible; + overflow-y: auto; +} +.touch .scrollable { + overflow-y: auto !important; +} + +.scroll-x, +.scroll-y { + overflow: hidden; + -webkit-overflow-scrolling: touch; +} + +.scroll-y { + overflow-y: auto; +} + +.scroll-x { + overflow-x: auto; +} + +.no-scroll { + overflow: hidden; +} + +.w-0 { + width: 0 !important; +} + +.h-0 { + height: 0 !important; +} + +.w-1 { + width: 0.25rem !important; +} + +.h-1 { + height: 0.25rem !important; +} + +.w-2 { + width: 0.5rem !important; +} + +.h-2 { + height: 0.5rem !important; +} + +.w-3 { + width: 1rem !important; +} + +.h-3 { + height: 1rem !important; +} + +.w-4 { + width: 1.5rem !important; +} + +.h-4 { + height: 1.5rem !important; +} + +.w-5 { + width: 2rem !important; +} + +.h-5 { + height: 2rem !important; +} + +.w-6 { + width: 2.5rem !important; +} + +.h-6 { + height: 2.5rem !important; +} + +.w-auto { + width: auto !important; +} + +.h-auto { + height: auto !important; +} + +.w-px { + width: 1px !important; +} + +.h-px { + height: 1px !important; +} + +.w-full { + width: 100% !important; +} + +.h-full { + height: 100% !important; +} + +.opacity-0 { + opacity: calc(0 / 100) !important; +} + +.opacity-5 { + opacity: calc(5 / 100) !important; +} + +.opacity-10 { + opacity: calc(10 / 100) !important; +} + +.opacity-15 { + opacity: calc(15 / 100) !important; +} + +.opacity-20 { + opacity: calc(20 / 100) !important; +} + +.opacity-25 { + opacity: calc(25 / 100) !important; +} + +.opacity-30 { + opacity: calc(30 / 100) !important; +} + +.opacity-35 { + opacity: calc(35 / 100) !important; +} + +.opacity-40 { + opacity: calc(40 / 100) !important; +} + +.opacity-45 { + opacity: calc(45 / 100) !important; +} + +.opacity-50 { + opacity: calc(50 / 100) !important; +} + +.opacity-55 { + opacity: calc(55 / 100) !important; +} + +.opacity-60 { + opacity: calc(60 / 100) !important; +} + +.opacity-65 { + opacity: calc(65 / 100) !important; +} + +.opacity-70 { + opacity: calc(70 / 100) !important; +} + +.opacity-75 { + opacity: calc(75 / 100) !important; +} + +.opacity-80 { + opacity: calc(80 / 100) !important; +} + +.opacity-85 { + opacity: calc(85 / 100) !important; +} + +.opacity-90 { + opacity: calc(90 / 100) !important; +} + +.opacity-95 { + opacity: calc(95 / 100) !important; +} + +.opacity-100 { + opacity: calc(100 / 100) !important; +} + +.hover-shadow-sm:hover { + box-shadow: 0 1px 3px 0 rgba(18, 18, 23, 0.1), 0 1px 2px 0 rgba(18, 18, 23, 0.06) !important; +} + +.hover-shadow:hover { + box-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08) !important; +} + +.hover-shadow-lg:hover { + box-shadow: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08) !important; +} + +.hover-shadow-none:hover { + box-shadow: none !important; +} + +/** +Antialiasing + */ +.antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.hover-rotate-start, .hover-rotate-end, .hover-scale, .hover-elevate-down, .hover-elevate-up { + transition: transform 0.3s ease; +} +.hover-rotate-start:hover, .hover-rotate-end:hover, .hover-scale:hover, .hover-elevate-down:hover, .hover-elevate-up:hover { + will-change: transform; +} + +.hover-elevate-up:hover { + transform: translateY(-4px); +} + +.hover-elevate-down:hover { + transform: translateY(4px); +} + +.hover-scale:hover { + transform: scale(1.1); +} + +.hover-rotate-end:hover { + transform: rotate(4deg); +} + +.hover-rotate-start:hover { + transform: rotate(-4deg); +} + +/*# sourceMappingURL=tabler.css.map */ \ No newline at end of file diff --git a/storage/public/dist/css/tabler.css.map b/storage/public/dist/css/tabler.css.map new file mode 100644 index 0000000..17c4a8c --- /dev/null +++ b/storage/public/dist/css/tabler.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["tabler.css"],"names":[],"mappings":"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jE;AACF;AACA;EACE,qCAAqC;EACrC,eAAe;EACf,YAAY;AACd;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,qBAAqB;EACrB,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,kCAAkC;AACpC;;AAEA;;;;;;;EAOE,mDAAmD;EACnD,kBAAkB;EAClB,WAAW;EACX,+CAA+C;EAC/C,8CAA8C;EAC9C,kBAAkB;EAClB,iBAAiB;AACnB;;AAEA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE;IACE,iBAAiB;EACnB;AACF;AACA;EACE;IACE,iBAAiB;EACnB;AACF;AACA;EACE,uBAAuB;EACvB,2BAA2B;EAC3B,2BAA2B;EAC3B,2BAA2B;EAC3B,4BAA4B;EAC5B,6BAA6B;AAC/B;;AAEA;EACE,yCAAyC;EACzC,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,2CAA2C;EAC3C,+CAA+C;EAC/C,8CAA8C;AAChD;AACA;EACE,cAAc;EACd,WAAW;EACX,eAAe;EACf,+CAA+C;EAC/C,8CAA8C;EAC9C,gCAAgC;AAClC;;AAEA;EACE,aAAa;EACb,oDAAoD;EACpD,2DAA2D;EAC3D,8CAA8C;AAChD;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,qBAAqB;AACvB;AACA;EACE,qBAAqB;AACvB;AACA;EACE;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF;AACA;EACE;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF;AACA;EACE;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF;AACA;EACE;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,qBAAqB;EACvB;AACF;AACA;EACE;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,wBAAwB;EAC1B;EACA;IAC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;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;;IAEE,kBAAkB;EACpB;EACA;;IAEE,kBAAkB;EACpB;EACA;;IAEE,wBAAwB;EAC1B;EACA;;IAEE,wBAAwB;EAC1B;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;AACF;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,kBAAkB;EACpB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;EAChB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;;IAEE,kBAAkB;EACpB;EACA;;IAEE,kBAAkB;EACpB;EACA;;IAEE,wBAAwB;EAC1B;EACA;;IAEE,wBAAwB;EAC1B;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;AACF;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,kBAAkB;EACpB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;EAChB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;;IAEE,kBAAkB;EACpB;EACA;;IAEE,kBAAkB;EACpB;EACA;;IAEE,wBAAwB;EAC1B;EACA;;IAEE,wBAAwB;EAC1B;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;AACF;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,kBAAkB;EACpB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;EAChB;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,gBAAgB;EAClB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;;IAEE,kBAAkB;EACpB;EACA;;IAEE,kBAAkB;EACpB;EACA;;IAEE,wBAAwB;EAC1B;EACA;;IAEE,wBAAwB;EAC1B;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,qBAAqB;EACvB;EACA;;IAEE,uBAAuB;EACzB;EACA;;IAEE,uBAAuB;EACzB;AACF;AACA;EACE;IACE,WAAW;EACb;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,WAAW;EACb;EACA;IACE,cAAc;IACd,kBAAkB;EACpB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,mBAAmB;EACrB;EACA;IACE,cAAc;IACd,UAAU;EACZ;EACA;I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A8F;EAC9F,iCAAyB;EAAzB,yBAAyB;AAC3B;AACA;EACE,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,kBAAkB;AACpB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,kCAAkC;EAClC,UAAU;EACV,kFAAkF;AACpF;AACA;EACE,qCAAqC;EACrC,kDAAkD;AACpD;AACA;EACE,6RAA6R;AAC/R;AACA;EACE,mLAAmL;AACrL;AACA;EACE,qCAAqC;EACrC,iCAAiC;EACjC,sPAAsP;AACxP;AACA;EACE,oBAAoB;EACpB,YAAY;EACZ,YAAY;AACd;AACA;EACE,eAAe;EACf,YAAY;AACd;;AAEA;EACE,oBAAoB;AACtB;AACA;EACE,2JAA2J;EAC3J,WAAW;EACX,oBAAoB;EACpB,4CAA4C;EAC5C,gCAAgC;EAChC,mBAAmB;AACrB;AACA;EACE;IACE,sBAAsB;IACtB,0CAA0C;EAC5C;AACF;AACA;EACE,iDAAiD;AACnD;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,2JAA2J;AAC7J;AACA;EACE,iCAAiC;EACjC,2JAA2J;AAC7J;AACA;EACE,qBAAqB;EACrB,eAAe;AACjB;AACA;EACE,qBAAqB;EACrB,cAAc;AAChB;;AAEA;EACE,qBAAqB;EACrB,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,oBAAoB;EACpB,YAAY;EACZ,YAAY;AACd;;AAEA;;EAEE,mLAAmL;AACrL;;AAEA;EACE,WAAW;EACX,eAAe;EACf,UAAU;EACV,wBAAgB;EAAhB,gBAAgB;EAChB,6BAA6B;AAC/B;AACA;EACE,UAAU;AACZ;AACA;EACE,qGAAqG;AACvG;AACA;EACE,qGAAqG;AACvG;AACA;EACE,SAAS;AACX;AACA;EACE,WAAW;EACX,YAAY;EACZ,qBAAqB;EACrB,wBAAgB;EAAhB,gBAAgB;EAChB,qCAAqC;EACrC,4CAA4C;EAC5C,mBAAmB;AACrB;AACA;EACE;IACE,sBAAsB;IACtB,0CAA0C;EAC5C;AACF;AACA;EACE,+CAA+C;EAC/C,oHAA4G;EAA5G,4GAA4G;AAC9G;AACA;EACE;IACE,wBAAgB;IAAhB,gBAAgB;EAClB;AACF;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,WAAW;EACX,eAAe;EACf,kBAAkB;EAClB,eAAe;EACf,0CAA0C;EAC1C,yBAAyB;EACzB,mBAAmB;AACrB;AACA;EACE;IACE,sBAAsB;IACtB,0CAA0C;EAC5C;AACF;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,qCAAqC;EACrC,4CAA4C;EAC5C,mBAAmB;AACrB;AACA;EACE;IACE,sBAAsB;IACtB,0CAA0C;EAC5C;AACF;AACA;EACE,+CAA+C;EAC/C,iHAA4G;EAA5G,4GAA4G;AAC9G;AACA;EACE;IACE,qBAAgB;IAAhB,gBAAgB;EAClB;AACF;AACA;EACE,0CAA0C;AAC5C;AACA;EACE,WAAW;EACX,eAAe;EACf,kBAAkB;EAClB,eAAe;EACf,0CAA0C;EAC1C,yBAAyB;EACzB,mBAAmB;AACrB;AACA;EACE;IACE,sBAAsB;IACtB,0CAA0C;EAC5C;AACF;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,oBAAoB;AACtB;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,6CAA6C;AAC/C;;AAEA;EACE,kBAAkB;AACpB;AACA;;;EAGE,yDAAyD;EACzD,6DAA6D;EAC7D,iBAAiB;AACnB;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,UAAU;EACV,eAAe;EACf,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;EAChB,6CAA6C;EAC7C,iBAAiB;EACjB,uBAAuB;EACvB,mBAAmB;EACnB,oBAAoB;EACpB,kDAAkD;EAClD,qBAAqB;EACrB,gEAAgE;AAClE;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;;EAEE,kBAAkB;AACpB;AACA;;EAEE,kBAAkB;AACpB;AACA;;;EAGE,qBAAqB;EACrB,wBAAwB;AAC1B;AACA;;EAEE,qBAAqB;EACrB,wBAAwB;AAC1B;AACA;EACE,qBAAqB;EACrB,wBAAwB;EACxB,kBAAkB;AACpB;AACA;;;;EAIE,8DAA8D;AAChE;AACA;EACE,8DAA8D;AAChE;AACA;;EAEE,kBAAkB;EAClB,kBAAkB;EAClB,WAAW;EACX,aAAa;EACb,WAAW;EACX,sCAAsC;EACtC,wCAAwC;AAC1C;AACA;EACE;;IAEE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,kDAAkD;AACpD;AACA;EACE,wCAAwC;AAC1C;AACA;;EAEE,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;AACb;AACA;;;EAGE,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;AACd;AACA;;;EAGE,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,UAAU;AACZ;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,oBAAoB;EACpB,2BAA2B;EAC3B,kBAAkB;EAClB,mBAAmB;EACnB,kDAAkD;EAClD,+DAA+D;EAC/D,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;;AAEA;;;;EAIE,yBAAyB;EACzB,eAAe;EACf,2CAA2C;AAC7C;AACA;EACE;;;;IAIE,sBAAsB;IACtB,kEAAkE;EACpE;AACF;;AAEA;;;;EAIE,yBAAyB;EACzB,kBAAkB;EAClB,2CAA2C;AAC7C;AACA;EACE;;;;IAIE,sBAAsB;IACtB,kEAAkE;EACpE;AACF;;AAEA;;EAEE,mBAAmB;AACrB;;AAEA;;;;EAIE,0BAA0B;EAC1B,6BAA6B;AAC/B;AACA;;;;EAIE,0BAA0B;EAC1B,6BAA6B;AAC/B;AACA;EACE,gDAAgD;EAChD,yBAAyB;EACzB,4BAA4B;AAC9B;AACA;;EAEE,yBAAyB;EACzB,4BAA4B;AAC9B;;AAEA;EACE,aAAa;EACb,WAAW;EACX,mBAAmB;EACnB,kBAAkB;EAClB,mCAAmC;AACrC;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,kDAAkD;EAClD,kBAAkB;EAClB,sBAAsB;EACtB,WAAW;EACX,qCAAqC;EACrC,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;;AAEA;;;;EAIE,cAAc;AAChB;;AAEA;EACE,iDAAiD;EACjD,uBAAuB;EACvB,iSAAiS;EACjS,4BAA4B;EAC5B,4CAA4C;EAC5C,oCAAoC;AACtC;AACA;EACE,iDAAiD;EACjD,4GAA4G;AAC9G;;AAEA;EACE,uBAAuB;EACvB,oDAAoD;AACtD;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,2SAA2S;EAC3S,qBAAqB;EACrB,yDAAyD;EACzD,+CAA+C;AACjD;AACA;EACE,iDAAiD;EACjD,4GAA4G;AAC9G;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,iDAAiD;AACnD;AACA;EACE,8CAA8C;AAChD;AACA;EACE,kFAAkF;AACpF;AACA;EACE,mCAAmC;AACrC;;AAEA;EACE,kBAAkB;AACpB;;AAEA;;;;;EAKE,UAAU;AACZ;;AAEA;EACE,aAAa;EACb,WAAW;EACX,mBAAmB;EACnB,kBAAkB;EAClB,qCAAqC;AACvC;;AAEA;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,kDAAkD;EAClD,kBAAkB;EAClB,sBAAsB;EACtB,WAAW;EACX,oCAAoC;EACpC,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;;AAEA;;;;EAIE,cAAc;AAChB;;AAEA;EACE,mDAAmD;EACnD,uBAAuB;EACvB,kVAAkV;EAClV,4BAA4B;EAC5B,4CAA4C;EAC5C,oCAAoC;AACtC;AACA;EACE,mDAAmD;EACnD,2GAA2G;AAC7G;;AAEA;EACE,uBAAuB;EACvB,oDAAoD;AACtD;;AAEA;EACE,mDAAmD;AACrD;AACA;EACE,4VAA4V;EAC5V,qBAAqB;EACrB,yDAAyD;EACzD,+CAA+C;AACjD;AACA;EACE,mDAAmD;EACnD,2GAA2G;AAC7G;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,mDAAmD;AACrD;AACA;EACE,gDAAgD;AAClD;AACA;EACE,iFAAiF;AACnF;AACA;EACE,qCAAqC;AACvC;;AAEA;EACE,kBAAkB;AACpB;;AAEA;;;;;EAKE,UAAU;AACZ;;AAEA;EACE,0BAA0B;EAC1B,+BAA+B;EAC/B,oDAAoD;EACpD,8BAA8B;EAC9B,sDAAsD;EACtD,+BAA+B;EAC/B,wCAAwC;EACxC,0BAA0B;EAC1B,iDAAiD;EACjD,oCAAoC;EACpC,mDAAmD;EACnD,0CAA0C;EAC1C,+CAA+C;EAC/C,gCAAgC;EAChC,qFAAqF;EACrF,qBAAqB;EACrB,4DAA4D;EAC5D,wCAAwC;EACxC,oCAAoC;EACpC,wCAAwC;EACxC,wCAAwC;EACxC,4BAA4B;EAC5B,kBAAkB;EAClB,sBAAsB;EACtB,eAAe;EACf,yBAAiB;EAAjB,iBAAiB;EACjB,uEAAuE;EACvE,4CAA4C;AAC9C;AACA;EACE;IACE,sBAAsB;IACtB,mEAAmE;EACrE;AACF;AACA;EACE,oCAAoC;EACpC,sCAAsC;EACtC,qIAAqI;AACvI;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,kCAAkC;EAClC,qBAAqB;EACrB,0CAA0C;EAC1C,gDAAgD;AAClD;AACA;EACE,4BAA4B;EAC5B,oCAAoC;EACpC,0CAA0C;AAC5C;AACA;EACE,kCAAkC;EAClC,0CAA0C;EAC1C,gDAAgD;EAChD,UAAU;EACV,wEAAwE;AAC1E;AACA;EACE,gDAAgD;EAChD,UAAU;EACV,wEAAwE;AAC1E;AACA;EACE,mCAAmC;EACnC,2CAA2C;EAC3C,iDAAiD;EACjD,yCAAyC;AAC3C;AACA;EACE,2EAA2E;AAC7E;AACA;EACE,2EAA2E;AAC7E;AACA;EACE,qCAAqC;EACrC,oBAAoB;EACpB,6CAA6C;EAC7C,mDAAmD;EACnD,yCAAyC;EACzC,gBAAgB;AAClB;;AAEA;EACE,2BAA2B;EAC3B,wCAAwC;EACxC,0BAA0B;EAC1B,oCAAoC;EACpC,oDAAoD;EACpD,0CAA0C;EAC1C,qDAAqD;EACrD,2CAA2C;EAC3C,kCAAkC;EAClC,6CAA6C;EAC7C,iCAAiC;EACjC,gDAAgD;EAChD,qBAAqB;AACvB;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,4BAA4B;AAC9B;AACA;EACE,kCAAkC;AACpC;;AAEA;EACE,+BAA+B;EAC/B,4BAA4B;EAC5B,0BAA0B;EAC1B,sDAAsD;AACxD;;AAEA;EACE,+BAA+B;EAC/B,4BAA4B;EAC5B,6BAA6B;EAC7B,sDAAsD;AACxD;;AAEA;EACE,gCAAgC;AAClC;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,UAAU;AACZ;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,SAAS;EACT,gBAAgB;EAChB,6BAA6B;AAC/B;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,QAAQ;EACR,YAAY;EACZ,4BAA4B;AAC9B;AACA;EACE;IACE,gBAAgB;EAClB;AACF;;AAEA;;;;;;EAME,kBAAkB;AACpB;;AAEA;EACE,mBAAmB;AACrB;AACA;EACE,WAAW;EACX,qBAAqB;EACrB,uBAAuB;EACvB,YAAY;EACZ,aAAa;EACb,2CAA2C;EAC3C,iDAAiD;EACjD,wBAAwB;EACxB,4BAA4B;EAC5B,yBAAyB;AAC3B;;AAEA;EACE,4BAA4B;EAC5B,gCAAgC;EAChC,4BAA4B;EAC5B,kCAAkC;EAClC,2BAA2B;EAC3B,mCAAmC;EACnC,6CAA6C;EAC7C,0CAA0C;EAC1C,kEAAkE;EAClE,wDAAwD;EACxD,sDAAsD;EACtD,+FAA+F;EAC/F,gEAAgE;EAChE,sDAAsD;EACtD,uDAAuD;EACvD,mCAAmC;EACnC,yCAAyC;EACzC,wFAAwF;EACxF,sDAAsD;EACtD,qDAAqD;EACrD,+DAA+D;EAC/D,uCAAuC;EACvC,sCAAsC;EACtC,qCAAqC;EACrC,yCAAyC;EACzC,yCAAyC;EACzC,kBAAkB;EAClB,oCAAoC;EACpC,aAAa;EACb,yCAAyC;EACzC,sEAAsE;EACtE,SAAS;EACT,yCAAyC;EACzC,iCAAiC;EACjC,gBAAgB;EAChB,gBAAgB;EAChB,yCAAyC;EACzC,4BAA4B;EAC5B,iFAAiF;EACjF,iDAAiD;AACnD;AACA;EACE;IACE,sBAAsB;IACtB,wEAAwE;EAC1E;AACF;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,SAAS;EACT,OAAO;EACP,uCAAuC;AACzC;;AAEA;EACE,oBAAoB;AACtB;AACA;EACE,WAAW;EACX,OAAO;AACT;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,QAAQ;EACR,UAAU;AACZ;;AAEA;EACE;IACE,oBAAoB;EACtB;EACA;IACE,WAAW;IACX,OAAO;EACT;EACA;IACE,kBAAkB;EACpB;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,oBAAoB;EACtB;EACA;IACE,WAAW;IACX,OAAO;EACT;EACA;IACE,kBAAkB;EACpB;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,oBAAoB;EACtB;EACA;IACE,WAAW;IACX,OAAO;EACT;EACA;IACE,kBAAkB;EACpB;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,oBAAoB;EACtB;EACA;IACE,WAAW;IACX,OAAO;EACT;EACA;IACE,kBAAkB;EACpB;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;EACE;IACE,oBAAoB;EACtB;EACA;IACE,WAAW;IACX,OAAO;EACT;EACA;IACE,kBAAkB;EACpB;EACA;IACE,QAAQ;IACR,UAAU;EACZ;AACF;AACA;;EAEE,SAAS;EACT,YAAY;EACZ,aAAa;EACb,0CAA0C;AAC5C;AACA;EACE,WAAW;EACX,qBAAqB;EACrB,uBAAuB;EACvB,YAAY;EACZ,aAAa;EACb,2CAA2C;EAC3C,iDAAiD;EACjD,wBAAwB;EACxB,4BAA4B;EAC5B,yBAAyB;AAC3B;;AAEA;;EAEE,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,wCAAwC;AAC1C;AACA;EACE,WAAW;EACX,qBAAqB;EACrB,uBAAuB;EACvB,YAAY;EACZ,aAAa;EACb,2CAA2C;EAC3C,iDAAiD;EACjD,wBAAwB;EACxB,4BAA4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AAsC;AACxC;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;EACnB,sBAAsB;EACtB,+BAA+B;AACjC;AACA;;;EAGE,sCAAsC;AACxC;;AAEA;EACE,YAAY;EACZ,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,kFAAkF;EAClF,+CAA+C;EAC/C,cAAc;EACd,+BAA+B;EAC/B,6BAA6B;EAC7B,8EAA8E;EAC9E,uDAAuD;AACzD;AACA;EACE;IACE,sBAAsB;IACtB,8EAA8E;EAChF;AACF;AACA;EACE,iDAAiD;AACnD;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,qBAAqB;AACvB;AACA;EACE,qBAAqB;EACrB,UAAU;EACV,wDAAwD;AAC1D;;AAEA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,oDAAoD;EACpD,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;AACvB;;AAEA;EACE,2CAA2C;EAC3C,gBAAgB;AAClB;;AAEA;EACE;IACE,iBAAiB;IACjB,2BAA2B;EAC7B;EACA;IACE,mBAAmB;EACrB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,oDAAoD;IACpD,mDAAmD;EACrD;EACA;IACE,iBAAiB;EACnB;EACA;IACE,wBAAwB;IACxB,gBAAgB;EAClB;EACA;IACE,aAAa;EACf;EACA;IACE,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,sBAAsB;IACtB,uBAAuB;IACvB,8BAA8B;IAC9B,wCAAwC;IACxC,oBAAoB;IACpB,0BAA0B;IAC1B,gBAAgB;IAChB,gBAAgB;EAClB;EACA;IACE,aAAa;EACf;EACA;IACE,aAAa;IACb,YAAY;IACZ,UAAU;IACV,mBAAmB;EACrB;AACF;AACA;EACE;IACE,iBAAiB;IACjB,2BAA2B;EAC7B;EACA;IACE,mBAAmB;EACrB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,oDAAoD;IACpD,mDAAmD;EACrD;EACA;IACE,iBAAiB;EACnB;EACA;IACE,wBAAwB;IACxB,gBAAgB;EAClB;EACA;IACE,aAAa;EACf;EACA;IACE,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,sBAAsB;IACtB,uBAAuB;IACvB,8BAA8B;IAC9B,wCAAwC;IACxC,oBAAoB;IACpB,0BAA0B;IAC1B,gBAAgB;IAChB,gBAAgB;EAClB;EACA;IACE,aAAa;EACf;EACA;IACE,aAAa;IACb,YAAY;IACZ,UAAU;IACV,mBAAmB;EACrB;AACF;AACA;EACE;IACE,iBAAiB;IACjB,2BAA2B;EAC7B;EACA;IACE,mBAAmB;EACrB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,oDAAoD;IACpD,mDAAmD;EACrD;EACA;IACE,iBAAiB;EACnB;EACA;IACE,wBAAwB;IACxB,gBAAgB;EAClB;EACA;IACE,aAAa;EACf;EACA;IACE,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,sBAAsB;IACtB,uBAAuB;IACvB,8BAA8B;IAC9B,wCAAwC;IACxC,oBAAoB;IACpB,0BAA0B;IAC1B,gBAAgB;IAChB,gBAAgB;EAClB;EACA;IACE,aAAa;EACf;EACA;IACE,aAAa;IACb,YAAY;IACZ,UAAU;IACV,mBAAmB;EACrB;AACF;AACA;EACE;IACE,iBAAiB;IACjB,2BAA2B;EAC7B;EACA;IACE,mBAAmB;EACrB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,oDAAoD;IACpD,mDAAmD;EACrD;EACA;IACE,iBAAiB;EACnB;EACA;IACE,wBAAwB;IACxB,gBAAgB;EAClB;EACA;IACE,aAAa;EACf;EACA;IACE,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,sBAAsB;IACtB,uBAAuB;IACvB,8BAA8B;IAC9B,wCAAwC;IACxC,oBAAoB;IACpB,0BAA0B;IAC1B,gBAAgB;IAChB,gBAAgB;EAClB;EACA;IACE,aAAa;EACf;EACA;IACE,aAAa;IACb,YAAY;IACZ,UAAU;IACV,mBAAmB;EACrB;AACF;AACA;EACE;IACE,iBAAiB;IACjB,2BAA2B;EAC7B;EACA;IACE,mBAAmB;EACrB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,oDAAoD;IACpD,mDAAmD;EA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;EACE,qBAAqB;AACvB;;AAEA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,iCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,+BAA4B;IAA5B,4BAA4B;EAC9B;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,oCAAiC;IAAjC,iCAAiC;EACnC;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,0BAA0B;IAC1B,yBAAyB;EAC3B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,wBAAwB;IACxB,2BAA2B;EAC7B;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;IAC3B,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,yBAAyB;IACzB,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iBAAiB;EACnB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,6BAAwB;IAAxB,wBAAwB;EAC1B;EACA;IACE,mCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,6BAA6B;EAC/B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,iCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,+BAA4B;IAA5B,4BAA4B;EAC9B;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,oCAAiC;IAAjC,iCAAiC;EACnC;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,0BAA0B;IAC1B,yBAAyB;EAC3B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,wBAAwB;IACxB,2BAA2B;EAC7B;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;IAC3B,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,yBAAyB;IACzB,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iBAAiB;EACnB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,6BAAwB;IAAxB,wBAAwB;EAC1B;EACA;IACE,mCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,6BAA6B;EAC/B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,iCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,+BAA4B;IAA5B,4BAA4B;EAC9B;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,oCAAiC;IAAjC,iCAAiC;EACnC;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,0BAA0B;IAC1B,yBAAyB;EAC3B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,wBAAwB;IACxB,2BAA2B;EAC7B;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;IAC3B,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,yBAAyB;IACzB,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iBAAiB;EACnB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,6BAAwB;IAAxB,wBAAwB;EAC1B;EACA;IACE,mCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,6BAA6B;EAC/B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,iCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,+BAA4B;IAA5B,4BAA4B;EAC9B;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,oCAAiC;IAAjC,iCAAiC;EACnC;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,0BAA0B;IAC1B,yBAAyB;EAC3B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,wBAAwB;IACxB,2BAA2B;EAC7B;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;IAC3B,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,yBAAyB;IACzB,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iBAAiB;EACnB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,6BAAwB;IAAxB,wBAAwB;EAC1B;EACA;IACE,mCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,6BAA6B;EAC/B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,iCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,+BAA4B;IAA5B,4BAA4B;EAC9B;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,oCAAiC;IAAjC,iCAAiC;EACnC;EACA;IACE,8BAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,0BAAqB;IAArB,qBAAqB;EACvB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,uBAAuB;EACzB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,yCAAyC;EAC3C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,oCAAoC;EACtC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,uCAAuC;EACzC;EACA;IACE,sCAAsC;EACxC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,oBAAoB;EACtB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,mBAAmB;EACrB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,uBAAuB;EACzB;EACA;IACE,0BAA0B;IAC1B,yBAAyB;EAC3B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,4BAA4B;EAC9B;EACA;IACE,wBAAwB;IACxB,2BAA2B;EAC7B;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,6BAA6B;IAC7B,gCAAgC;EAClC;EACA;IACE,2BAA2B;IAC3B,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,2BAA2B;IAC3B,0BAA0B;EAC5B;EACA;IACE,iCAAiC;IACjC,gCAAgC;EAClC;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,6BAA6B;EAC/B;EACA;IACE,gCAAgC;IAChC,+BAA+B;EACjC;EACA;IACE,yBAAyB;IACzB,4BAA4B;EAC9B;EACA;IACE,+BAA+B;IAC/B,kCAAkC;EACpC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,4BAA4B;IAC5B,+BAA+B;EACjC;EACA;IACE,8BAA8B;IAC9B,iCAAiC;EACnC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,iCAAiC;EACnC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,8BAA8B;EAChC;EACA;IACE,gCAAgC;EAClC;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,kCAAkC;EACpC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iCAAiC;EACnC;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,iBAAiB;EACnB;EACA;IACE,uBAAuB;EACzB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,qBAAqB;EACvB;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,0BAA0B;EAC5B;EACA;IACE,6BAAwB;IAAxB,wBAAwB;EAC1B;EACA;IACE,mCAA8B;IAA9B,8BAA8B;EAChC;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,gCAA2B;IAA3B,2BAA2B;EAC7B;EACA;IACE,kCAA6B;IAA7B,6BAA6B;EAC/B;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;EAC9B;EACA;IACE,6BAA6B;EAC/B;AACF;AACA;EACE;IACE,0BAA0B;EAC5B;EACA;IACE,gCAAgC;EAClC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,6BAA6B;EAC/B;EACA;IACE,8BAA8B;EAChC;EACA;IACE,wBAAwB;EAC1B;EACA;IACE,+BAA+B;EACjC;EACA;IACE,wBAAwB;EAC1B;AACF;AACA;;;;;EAKE;AACF;;;;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qH;AACvH;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,mCAA2B;EAA3B,2BAA2B;AAC7B;AACA;EACE;IACE,wBAAgB;IAAhB,gBAAgB;EAClB;AACF;;AAEA;EACE,mBAAmB;AACrB;AACA;EACE;IACE,sBAAsB;IACtB,0CAA0C;EAC5C;AACF;AACA;EACE,6BAA6B;EAC7B,qHAAqH;AACvH;;AAEA;EACE,uBAAuB;AACzB;;AAEA;EACE,qHAAqH;AACvH;;AAEA;EACE,uBAAuB;AACzB;;AAEA;;;EAGE,eAAe;AACjB;;AAEA;EACE,mCAAmC;EACnC,gCAAgC;AAClC;AACA;EACE;IACE,0FAA0F;IAC1F,aAAa;IACb,qCAAqC;EACvC;AACF;AACA;EACE,cAAc;EACd,wCAAwC;EACxC,oDAAoD;AACtD;AACA;EACE;IACE,sBAAsB;IACtB,2EAA2E;EAC7E;AACF;AACA;EACE,6BAA6B;AAC/B;AACA;EACE;IACE,kFAAkF;IAClF,+BAA+B;EACjC;AACF;AACA;EACE,gEAAgE;EAChE,8DAA8D;AAChE;;AAEA;;EAEE;AACF;EACE,wCAAwC;EACxC,oDAAoD;EACpD,sDAAsD;EACtD,2CAA2C;EAC3C,oDAAoD;EACpD,iDAAiD;EACjD,oBAAoB;EACpB,kBAAkB;EAClB,kGAAkG;EAClG,iCAAiC;EACjC,+BAA+B;AACjC;AACA;EACE,YAAY;AACd;AACA;EACE,aAAa;AACf;AACA;EACE,kBAAkB;EAClB,aAAa;AACf;AACA;EACE,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,iBAAiB;EACjB,kBAAkB;EAClB,uBAAuB;EACvB,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,wBAAwB;EACxB,+BAA+B;AACjC;;AAEA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,WAAW;IACX,cAAc;EAChB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,sCAAsC;EACxC;EACA;IACE,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,yEAAyE;IACzE,wBAAwB;EAC1B;EACA;IACE,kGAAkG;EACpG;EACA;IACE,iGAAiG;EACnG;EACA;;IAEE,0BAA0B;EAC5B;EACA;;;IAGE,sBAAsB;IACtB,wBAAwB;EAC1B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,WAAW;IACX,cAAc;EAChB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,sCAAsC;EACxC;EACA;IACE,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,yEAAyE;IACzE,wBAAwB;EAC1B;EACA;IACE,kGAAkG;EACpG;EACA;IACE,iGAAiG;EACnG;EACA;;IAEE,0BAA0B;EAC5B;EACA;;;IAGE,sBAAsB;IACtB,wBAAwB;EAC1B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,WAAW;IACX,cAAc;EAChB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,sCAAsC;EACxC;EACA;IACE,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,yEAAyE;IACzE,wBAAwB;EAC1B;EACA;IACE,kGAAkG;EACpG;EACA;IACE,iGAAiG;EACnG;EACA;;IAEE,0BAA0B;EAC5B;EACA;;;IAGE,sBAAsB;IACtB,wBAAwB;EAC1B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,WAAW;IACX,cAAc;EAChB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,sCAAsC;EACxC;EACA;IACE,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,yEAAyE;IACzE,wBAAwB;EAC1B;EACA;IACE,kGAAkG;EACpG;EACA;IACE,iGAAiG;EACnG;EACA;;IAEE,0BAA0B;EAC5B;EACA;;;IAGE,sBAAsB;IACtB,wBAAwB;EAC1B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,WAAW;IACX,cAAc;EAChB;EACA;IACE,kBAAkB;EACpB;EACA;IACE,sCAAsC;EACxC;EACA;IACE,WAAW;IACX,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,yEAAyE;IACzE,wBAAwB;EAC1B;EACA;IACE,kGAAkG;EACpG;EACA;IACE,iGAAiG;EACnG;EACA;;IAEE,0BAA0B;EAC5B;EACA;;;IAGE,sBAAsB;IACtB,wBAAwB;EAC1B;AACF;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;EACtB,oBAAoB;EACpB,UAAU;AACZ;AACA;EACE,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,4DAA4D;EAC5D,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,UAAU;EACV,uBAAuB;EACvB,gBAAgB;EAChB,cAAc;EACd,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,SAAS;AACX;AACA;EACE,YAAY;EACZ,aAAa;EACb,WAAW;EACX,kFAAkF;EAClF,cAAc;AAChB;AACA;EACE,iCAAiC;EACjC,oBAAoB;EACpB,6BAA6B;AAC/B;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,kFAAkF;AACpF;AACA;EACE,kFAAkF;AACpF;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,sBAAsB;EACtB,8BAA8B;EAC9B,sBAAsB;EACtB,MAAM;EACN,SAAS;AACX;AACA;EACE,WAAW;EACX,cAAc;AAChB;AACA;EACE,kBAAkB;AACpB;AACA;EACE,sCAAsC;AACxC;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,qBAAqB;EACrB,mBAAmB;EACnB,gBAAgB;EAChB,yEAAyE;EACzE,wBAAwB;AAC1B;AACA;EACE,kGAAkG;AACpG;AACA;EACE,iGAAiG;AACnG;AACA;;EAEE,0BAA0B;AAC5B;AACA;;;EAGE,sBAAsB;EACtB,wBAAwB;AAC1B;;AAEA;;EAEE;AACF;EACE,oBAAoB;EACpB,mBAAmB;EACnB,6CAA6C;EAC7C,SAAS;EACT,cAAc;EACd,WAAW;AACb;;AAEA;EACE,YAAY;EACZ,WAAW;AACb;;AAEA;;EAEE;AACF;EACE,SAAS;EACT,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,WAAW;EACX,aAAa;EACb,wBAAwB;EACxB,6CAA6C;AAC/C;AACA;EACE;IACE,sBAAsB;IACtB,oEAAoE;EACtE;AACF;AACA;EACE,kBAAkB;EAClB,4EAA4E;AAC9E;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,WAAW;EACX,cAAc;EACd,eAAe;EACf,cAAc;EACd,sBAAsB;EACtB,mBAAmB;EACnB,kBAAkB;EAClB,qBAAqB;EACrB,mBAAmB;AACrB;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,YAAY;AACd;AACA;EACE,eAAe;AACjB;AACA;EACE,wBAAwB;EACxB,uEAAuE;AACzE;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,MAAM;EACN,yBAAyB;AAC3B;AACA;EACE,SAAS;EACT,UAAU;AACZ;;AAEA;;EAEE;AACF;EACE,kDAAkD;EAClD,kCAAkC;AACpC;;AAEA;;EAEE;AACF;EACE,wFAAwF;EACxF,2FAA2F;EAC3F,iGAAiG;EACjG,SAAS;EACT,UAAU;EACV,oBAAoB;AACtB;AACA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;AACzB;;AAEA;;EAEE;AACF;EACE,SAAS;EACT,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,6BAA6B;AAC/B;;AAEA;;EAEE;AACF;EACE;IACE,YAAY;IACZ,eAAe;IACf,MAAM;IACN,qBAAqB;IACrB,SAAS;IACT,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,UAAU;IACV,0BAA0B;EAC5B;AACF;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE;IACE,wBAAwB;IACxB,mBAAmB;EACrB;EACA;IACE,kBAAkB;IAClB,uBAAuB;EACzB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;IACtB,YAAY;IACZ,gBAAgB;EAClB;EACA;IACE,mBAAmB;IACnB,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,sBAAsB;IACtB,UAAU;EACZ;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;IAC5B,0BAA0B;EAC5B;EACA;IACE,uBAAuB;IACvB,yBAAyB;EAC3B;EACA;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,YAAY;IACZ,eAAe;IACf,MAAM;IACN,qBAAqB;IACrB,SAAS;IACT,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,UAAU;IACV,0BAA0B;EAC5B;AACF;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE;IACE,wBAAwB;IACxB,mBAAmB;EACrB;EACA;IACE,kBAAkB;IAClB,uBAAuB;EACzB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;IACtB,YAAY;IACZ,gBAAgB;EAClB;EACA;IACE,mBAAmB;IACnB,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,sBAAsB;IACtB,UAAU;EACZ;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;IAC5B,0BAA0B;EAC5B;EACA;IACE,uBAAuB;IACvB,yBAAyB;EAC3B;EACA;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,YAAY;IACZ,eAAe;IACf,MAAM;IACN,qBAAqB;IACrB,SAAS;IACT,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,UAAU;IACV,0BAA0B;EAC5B;AACF;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE;IACE,wBAAwB;IACxB,mBAAmB;EACrB;EACA;IACE,kBAAkB;IAClB,uBAAuB;EACzB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;IACtB,YAAY;IACZ,gBAAgB;EAClB;EACA;IACE,mBAAmB;IACnB,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,sBAAsB;IACtB,UAAU;EACZ;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;IAC5B,0BAA0B;EAC5B;EACA;IACE,uBAAuB;IACvB,yBAAyB;EAC3B;EACA;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,YAAY;IACZ,eAAe;IACf,MAAM;IACN,qBAAqB;IACrB,SAAS;IACT,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,UAAU;IACV,0BAA0B;EAC5B;AACF;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE;IACE,wBAAwB;IACxB,mBAAmB;EACrB;EACA;IACE,kBAAkB;IAClB,uBAAuB;EACzB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;IACtB,YAAY;IACZ,gBAAgB;EAClB;EACA;IACE,mBAAmB;IACnB,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,sBAAsB;IACtB,UAAU;EACZ;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;IAC5B,0BAA0B;EAC5B;EACA;IACE,uBAAuB;IACvB,yBAAyB;EAC3B;EACA;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE;IACE,YAAY;IACZ,eAAe;IACf,MAAM;IACN,qBAAqB;IACrB,SAAS;IACT,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,UAAU;IACV,0BAA0B;EAC5B;AACF;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE;IACE,wBAAwB;IACxB,mBAAmB;EACrB;EACA;IACE,kBAAkB;IAClB,uBAAuB;EACzB;EACA;IACE,oBAAoB;EACtB;EACA;IACE,sBAAsB;IACtB,YAAY;IACZ,gBAAgB;EAClB;EACA;IACE,mBAAmB;IACnB,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,sBAAsB;IACtB,UAAU;EACZ;EACA;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;IAC5B,0BAA0B;EAC5B;EACA;IACE,uBAAuB;IACvB,yBAAyB;EAC3B;EACA;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,oBAAoB;IACpB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,oBAAoB;EACtB;EACA;IACE,4DAA4D;IAC5D,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,UAAU;IACV,uBAAuB;IACvB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,SAAS;EACX;EACA;IACE,YAAY;IACZ,aAAa;IACb,WAAW;IACX,kFAAkF;IAClF,cAAc;EAChB;EACA;IACE,iCAAiC;IACjC,oBAAoB;IACpB,6BAA6B;EAC/B;EACA;IACE,wCAAwC;EAC1C;EACA;IACE,kFAAkF;EACpF;EACA;IACE,kFAAkF;EACpF;EACA;IACE,yBAAyB;EAC3B;EACA;IACE,sBAAsB;IACtB,8BAA8B;IAC9B,sBAAsB;IACtB,MAAM;IACN,SAAS;EACX;AACF;AACA;EACE,YAAY;EACZ,eAAe;EACf,MAAM;EACN,qBAAqB;EACrB,SAAS;EACT,aAAa;EACb,kBAAkB;EAClB,kBAAkB;EAClB,UAAU;EACV,0BAA0B;AAC5B;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,wBAAwB;EACxB,mBAAmB;AACrB;AACA;EACE,kBAAkB;EAClB,uBAAuB;AACzB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,sBAAsB;EACtB,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,mBAAmB;EACnB,sBAAsB;AACxB;AACA;EACE,sBAAsB;EACtB,oBAAoB;EACpB,gBAAgB;EAChB,sBAAsB;EACtB,UAAU;AACZ;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,4BAA4B;EAC5B,0BAA0B;AAC5B;AACA;EACE,uBAAuB;EACvB,yBAAyB;AAC3B;AACA;EACE,sBAAsB;AACxB;AACA;EACE,sBAAsB;EACtB,oBAAoB;EACpB,UAAU;AACZ;AACA;EACE,sBAAsB;EACtB,oBAAoB;AACtB;AACA;EACE,4DAA4D;EAC5D,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB;AACA;EACE,UAAU;EACV,uBAAuB;EACvB,gBAAgB;EAChB,cAAc;EACd,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,SAAS;AACX;AACA;EACE,YAAY;EACZ,aAAa;EACb,WAAW;EACX,kFAAkF;EAClF,cAAc;AAChB;AACA;EACE,iCAAiC;EACjC,oBAAoB;E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gC;EAChC,2CAA2C;AAC7C;;AAEA;EACE,2CAA2C;EAC3C,OAAO;EACP,qIAAqI;EACrI,gGAAgG;EAChG,gFAAgF;AAClF;AACA;EACE;IACE,sBAAsB;IACtB,uGAAuG;EACzG;AACF;;AAEA;EACE,OAAO;EACP,mBAAmB;EACnB,sBAAsB;AACxB;;AAEA;;EAEE,0BAA0B;AAC5B;;AAEA;;EAEE,yBAAyB;AAC3B;;AAEA;EACE,cAAc;AAChB;AACA;EACE,cAAc;EACd,qBAAqB;EACrB,2CAA2C;AAC7C;;AAEA;EACE,yBAAyB;EACzB,UAAU;AACZ;;AAEA;EACE,2BAA2B;EAC3B,UAAU;AACZ;;AAEA;EACE,gBAAgB;AAClB;AACA;EACE,gFAAgF;AAClF;AACA;EACE;IACE,sBAAsB;IACtB,uGAAuG;EACzG;AACF;;AAEA;EACE,uBAAuB;EACvB,yBAAyB;EACzB,cAAc;AAChB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,eAAe;AACjB;AACA;EACE,0BAA0B;AAC5B;AACA;EACE;IACE,sBAAsB;IACtB,iDAAiD;EACnD;AACF;AACA;EACE,0BAA0B;AAC5B;AACA;EACE;IACE,sBAAsB;IACtB,iDAAiD;EACnD;AACF;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,cAAc;EACd,gBAAgB;EAChB,eAAe;EACf,2CAA2C;EAC3C,gCAAgC;EAChC,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;;AAEA;EACE,SAAS;AACX;;AAEA;EACE,sBAAsB;EACtB,4BAA4B;EAC5B,mBAAmB;AACrB;AACA;EACE,SAAS;AACX;AACA;EACE,qBAAqB;EACrB,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,aAAa;AACf;AACA;EACE;IACE,eAAe;EACjB;AACF;AACA;EACE;IACE,aAAa;EACf;AACF;AACA;EACE;IACE,aAAa;EACf;AACF;AACA;EACE;IACE,UAAU;EACZ;AACF;AACA;EACE,sFAAsF;AACxF;;AAEA;EACE,cAAc;AAChB;;AAEA;;EAEE;A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,MAAM;AACR;;AAEA;EACE,aAAa;EACb,MAAM;AACR;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,YAAY;AACd;;AAEA;EACE,aAAa;EACb,YAAY;AACd;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,WAAW;AACb;;AAEA;EACE,aAAa;EACb,WAAW;AACb;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;AACX;;AAEA;EACE,aAAa;EACb,SAAS;AACX;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,WAAW;AACb;;AAEA;EACE,aAAa;EACb,WAAW;AACb;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,SAAS;AACX;;AAEA;EACE,aAAa;EACb,SAAS;AACX;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,WAAW;AACb;;AAEA;EACE,aAAa;EACb,WAAW;AACb;;AAEA;EACE,6GAA6G;AAC/G;AACA;EACE,4BAA4B;AAC9B;AACA;EACE,+BAA+B;AACjC;;AAEA;EACE,sHAAsH;AACxH;AACA;EACE,qCAAqC;AACvC;AACA;EACE,mCAAmC;AACrC;;AAEA;EACE,6GAA6G;AAC/G;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,4BAA4B;AAC9B;;AAEA;EACE,sHAAsH;AACxH;AACA;EACE,kCAAkC;AACpC;AACA;EACE,gCAAgC;AAClC;;AAEA;EACE,6GAA6G;AAC/G;AACA;EACE,+BAA+B;AACjC;AACA;EACE,kCAAkC;AACpC;;AAEA;EACE,sHAAsH;AACxH;AACA;EACE,wCAAwC;AAC1C;AACA;EACE,sCAAsC;AACxC;;AAEA;EACE,6GAA6G;AAC/G;AACA;EACE,8BAA8B;AAChC;AACA;EACE,iCAAiC;AACnC;;AAEA;EACE,sHAAsH;AACxH;AACA;EACE,uCAAuC;AACzC;AACA;EACE,qCAAqC;AACvC;;AAEA;EACE,6GAA6G;AAC/G;AACA;EACE,4BAA4B;AAC9B;AACA;EACE,+BAA+B;AACjC;;AAEA;EACE,sHAAsH;AACxH;AACA;EACE,qCAAqC;AACvC;AACA;EACE,mCAAmC;AACrC;;AAEA;EA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A;EACE;IACE,sBAAsB;IACtB,yCAAyC;EAC3C;AACF;AACA;EACE,yKAAyK;AAC3K;;AAEA;EACE,eAAe;EACf,cAAc;EACd,aAAa;EACb,wBAAwB;AAC1B;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,yEAAyE;EACzE,uEAAuE;AACzE;AACA;EACE,qEAAqE;EACrE,uEAAuE;AACzE;AACA;EACE,UAAU;AACZ;;AAEA;EACE,gBAAgB;EAChB,sBAAsB;EACtB,4BAA4B;EAC5B,kBAAkB;EAClB,sBAAsB;AACxB;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,6BAA6B;AAC/B;;AAEA;;EAEE;AACF;EACE,oBAAoB;EACpB,SAAS;EACT,eAAe;EACf,WAAW;AACb;AACA;EACE,SAAS;AACX;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,cAAc;EACd,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,qBAAqB;EACrB,WAAW;EACX,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,cAAc;EACd,wEAAwE;EACxE,SAAS;EACT,uBAAuB;EACvB,mBAAmB;EACnB,oBAAoB;EACpB,4BAA4B;EAC5B,gCAAgC;EAChC,kBAAkB;EAClB,eAAe;EACf,yBAAiB;EAAjB,iBAAiB;EACjB,kFAAkF;EAClF,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,oCAAoC;EACpC,0DAA0D;AAC5D;AACA;EACE;IACE,gBAAgB;EAClB;AACF;AACA;EACE,kBAAkB;AACpB;AACA;EACE,6BAA6B;AAC/B;;AAEA;EACE,qBAAqB;EACrB,cAAc;EACd,eAAe;EACf,8FAA8F;EAC9F,sBAAsB;EACtB,oCAAoC;AACtC;AACA;EACE,wCAAwC;AAC1C;AACA;EACE;IACE,sBAAsB;IACtB,+DAA+D;EACjE;AACF;AACA;EACE,kBAAkB;AACpB;AACA;EACE;IACE,sBAAsB;IACtB,yCAAyC;EAC3C;AACF;AACA;EACE,qCAAqC;EACrC,yBAAyB;EACz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oBAAoB;AACtB;;AAEA;EACE,2CAA2C;EAC3C,yBAAyB;EACzB,0BAA0B;AAC5B;;AAEA;;EAEE;AACF;EACE,aAAa;EACb,iBAAiB;EACjB,WAAW;EACX,UAAU;EACV,SAAS;EACT,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,WAAW;EACX,mBAAmB;EACnB,aAAa;EACb,cAAc;EACd,kBAAkB;EAClB,eAAe;EACf,0CAA0C;EAC1C,6CAA6C;AAC/C;AACA;EACE;IACE,sBAAsB;IACtB,oEAAoE;EACtE;AACF;AACA;EACE,eAAe;AACjB;;AAEA;EACE,6BAA6B;EAC7B,sDAAsD;EACtD,kBAAkB;EAClB,YAAY;EACZ,sDAAsD;EACtD,UAAU;EACV,wBAAwB;EACxB,mBAAmB;EACnB,6CAA6C;EAC7C,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,yBAAyB;EACzB,+BAA+B;EAC/B,iCAAiC;EACjC,mHAAmH;AACrH;AACA;EACE;IACE,sBAAsB;IACtB,0IAA0I;EAC5I;AACF;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,gBAAgB;EAChB,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,WAAW;EACX,uBAAuB;EACvB,sEAAsE;EACtE,qBAAqB;EACrB,6BAA6B;EAC7B,oCAAoC;AACtC;AACA;EACE,8BAA8B;AAChC;AACA;EACE,8EAA8E;AAChF;AACA;EACE,+BAA+B;AACjC;AACA;EACE,+EAA+E;AACjF;AACA;EACE,gCAAgC;AAClC;AACA;EACE,gFAAgF;AAClF;AACA;EACE,gCAAgC;AAClC;AACA;EACE,gFAAgF;AAClF;AACA;EACE,8BAA8B;AAChC;AACA;EACE,8EAA8E;AAChF;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,6EAA6E;AAC/E;AACA;EACE,gCAAgC;AAClC;AACA;EACE,gFAAgF;AAClF;AACA;EACE,gCAAgC;AAClC;AACA;EACE,gFAAgF;AAClF;AACA;EACE,8BAA8B;AAChC;AACA;EACE,8EAA8E;AAChF;AACA;EACE,+BAA+B;AACjC;AACA;EACE,+EAA+E;AACjF;AACA;EACE,8BAA8B;AAChC;AACA;EACE,8EAA8E;AAChF;AACA;EACE,8BAA8B;AAChC;AACA;EACE,8EAA8E;AAChF;AACA;EACE,cAAc;EACd,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,yCAAyC;EACzC,yBAAyB;EACzB,WAAW;EACX,iBAAiB;EACjB,mHAAmH;AACrH;AACA;EACE;IACE,sBAAsB;IACtB,0IAA0I;EAC5I;AACF;AACA;EACE,MAAM;EACN,sBAAsB;EACtB,YAAY;EACZ,qBAAqB;EACrB,6BAA6B;EAC7B,sCAAsC;AACxC;AACA;EACE,sBAAsB;EACtB,2BAA2B;AAC7B;AACA;EACE,MAAM;EACN,sBAAsB;EACtB,wBAAwB;AAC1B;;AAEA;EACE,sBAAsB;EACtB,wDAAwD;EACxD,mHAAmH;AACrH;AACA;EACE;IACE,sBAAsB;IACtB,0IAA0I;EAC5I;AACF;AACA;EACE,SAAS;EACT,YAAY;EACZ,qBAAqB;EACrB,qBAAqB;EACrB,6BAA6B;EAC7B,sCAAsC;AACxC;;AAEA;EACE,SAAS;EACT,eAAe;AACjB;;AAEA;EACE,6BAA6B;EAC7B,qDAAqD;AACvD;AACA;EACE;IACE,sBAAsB;IACtB,4EAA4E;EAC9E;AACF;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,sBAAsB;EACtB,cAAc;EACd,QAAQ;EACR,SAAS;EACT,WAAW;EACX,qCAAqC;EACrC,qBAAqB;EACrB,0BAA0B;EAC1B,sCAAsC;EACtC,iCAAiC;AACnC;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,sBAAsB;EACtB,wBAAwB;EACxB,oCAAoC;EACpC,+BAA+B;EAC/B,4BAA4B;AAC9B;AACA;EACE,qBAAqB;EACrB,uBAAuB;EACvB,uBAAuB;EACvB,qDAAqD;AACvD;AACA;EACE;IACE,sBAAsB;IACtB,4EAA4E;EAC9E;AACF;AACA;EACE,SAAS;EACT,mBAAmB;EACnB,qBAAqB;EACrB,qBAAqB;EACrB,kBAAkB;EAClB,mB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CE,eAAe;AACjB;AACA;EACE,cAAc;AAChB;;AAEA;EACE,mCAAmC;AACrC;AACA;EACE,kBAAkB;EAClB,uBAAuB;EACvB,WAAW;EACX,WAAW;EACX,2BAA2B;AAC7B;AACA;EACE,2CAA2C;EAC3C,sCAAsC;AACxC;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,uBAAuB;EACvB,UAAU;EACV,uBAAuB;EACvB,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,6CAA6C;AAC/C;AACA;EACE;IACE,sBAAsB;IACtB,oEAAoE;EACtE;AACF;AACA;EACE,2BAA2B;EAC3B,wBAAwB;EACxB,iCAAiC;EACjC,kCAAkC;AACpC;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,4CAA4C;AAC9C;AACA;EACE,iCAAiC;AACnC;AACA;EACE,4CAA4C;AAC9C;;AAEA;EACE,6BAA6B;EAC7B,oBAAoB;AACtB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,uBAAuB;AACzB;;AAEA;EACE,4BAA4B;EAC5B,sBAAsB;AACxB;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,iBAAiB;EACjB,cAAc;EACd,6DAA6D;EAC7D,gBAAgB;AAClB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,iCAAiC;EACjC,qBAAqB;EACrB,0BAA0B;AAC5B;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,2BAA2B;EAC3B,iCAAiC;EACjC,0DAA0D;EAC1D,qCAAqC;EACrC,yBAAyB;AAC3B;;AAEA;EACE;IACE,4BAA4B;EAC9B;EACA;IACE,4BAA4B;EAC9B;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;EACxB;AACF;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,sBAAsB;IACtB,UAAU;EACZ;EACA;IACE,sBAAsB;IACtB,UAAU;EACZ;AACF;AACA;EACE,4BAA4B;EAC5B,4BAA4B;EAC5B,sCAAsC;EACtC,oBAAoB;EACpB,mBAAmB;EACnB,iCA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;IACzB,sBAAsB;IACtB,iBAAiB;IACjB,4BAA4B;IAC5B,yBAAyB;IACzB,cAAc;EAChB;EACA;IACE,qGAAqG;EACvG;EACA;IACE,cAAc;EAChB;AACF;AACA;EACE;IACE,cAAc;EAChB;EACA;IACE,aAAa;EACf;EACA;;IAEE,aAAa;IACb,sBAAsB;EACxB;EACA;IACE,cAAc;IACd,mCAAmC;IACnC,YAAY;IACZ,wCAAwC;EAC1C;EACA;IACE,kBAAkB;IAClB,2CAA2C;IAC3C,yBAAyB;IACzB,sBAAsB;IACtB,iBAAiB;IACjB,4BAA4B;IAC5B,yBAAyB;IACzB,cAAc;EAChB;EACA;IACE,qGAAqG;EACvG;EACA;IACE,cAAc;EAChB;AACF;AACA;EACE;IACE,cAAc;EAChB;EACA;IACE,aAAa;EACf;EACA;;IAEE,aAAa;IACb,sBAAsB;EACxB;EACA;IACE,cAAc;IACd,mCAAmC;IACnC,YAAY;IACZ,wCAAwC;EAC1C;EACA;IACE,kBAAkB;IAClB,2CAA2C;IAC3C,yBAAyB;IACzB,sBAAsB;IACtB,iBAAiB;IACjB,4BAA4B;IAC5B,yBAAyB;IACzB,cAAc;EAChB;EACA;IACE,qGAAqG;EACvG;EACA;IACE,cAAc;EAChB;AACF;AACA;EACE;IACE,cAAc;EAChB;EACA;IACE,aAAa;EACf;EACA;;IAEE,aAAa;IACb,sBAAsB;EACxB;EACA;IACE,cAAc;IACd,mCAAmC;IACnC,YAAY;IACZ,wCAAwC;EAC1C;EACA;IACE,kBAAkB;IAClB,2CAA2C;IAC3C,yBAAyB;IACzB,sBAAsB;IACtB,iBAAiB;IACjB,4BAA4B;IAC5B,yBAAyB;IACzB,cAAc;EAChB;EACA;IACE,qGAAqG;EACvG;EACA;IACE,cAAc;EAChB;AACF;;AAEA;;EAEE;AACF;EACE,aAAa;EACb,cAAc;EACd,uBAAuB;EACvB,uBAAuB;EACvB,SAAS;EACT,mBAAmB;EACnB,cAAc;EACd,WAAW;EACX,mBAAmB;EACnB,wBAAwB;EACxB,uBAAuB;EACvB,sBAAsB;AACxB;AACA;EACE;IACE,gBAAgB;EAClB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","file":"tabler.css","sourcesContent":["@charset \"UTF-8\";\n/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n:root,\n[data-bs-theme=light],\n[data-theme=light] {\n --tblr-blue: #066fd1;\n --tblr-azure: #4299e1;\n --tblr-indigo: #4263eb;\n --tblr-purple: #ae3ec9;\n --tblr-pink: #d6336c;\n --tblr-red: #d63939;\n --tblr-orange: #f76707;\n --tblr-yellow: #f59f00;\n --tblr-lime: #74b816;\n --tblr-green: #2fb344;\n --tblr-teal: #0ca678;\n --tblr-cyan: #17a2b8;\n --tblr-black: #000000;\n --tblr-white: #ffffff;\n --tblr-gray: #4b5563;\n --tblr-gray-dark: #1f2937;\n --tblr-gray-100: #f3f4f6;\n --tblr-gray-200: #e5e7eb;\n --tblr-gray-300: #d1d5db;\n --tblr-gray-400: #9ca3af;\n --tblr-gray-500: #6b7280;\n --tblr-gray-600: #4b5563;\n --tblr-gray-700: #374151;\n --tblr-gray-800: #1f2937;\n --tblr-gray-900: #111827;\n --tblr-primary: #066fd1;\n --tblr-secondary: #6b7280;\n --tblr-success: #2fb344;\n --tblr-info: #4299e1;\n --tblr-warning: #f59f00;\n --tblr-danger: #d63939;\n --tblr-light: #f9fafb;\n --tblr-dark: #1f2937;\n --tblr-muted: #6b7280;\n --tblr-blue: #066fd1;\n --tblr-azure: #4299e1;\n --tblr-indigo: #4263eb;\n --tblr-purple: #ae3ec9;\n --tblr-pink: #d6336c;\n --tblr-red: #d63939;\n --tblr-orange: #f76707;\n --tblr-yellow: #f59f00;\n --tblr-lime: #74b816;\n --tblr-green: #2fb344;\n --tblr-teal: #0ca678;\n --tblr-cyan: #17a2b8;\n --tblr-primary-rgb: 6, 111, 209;\n --tblr-secondary-rgb: 107, 114, 128;\n --tblr-success-rgb: 47, 179, 68;\n --tblr-info-rgb: 66, 153, 225;\n --tblr-warning-rgb: 245, 159, 0;\n --tblr-danger-rgb: 214, 57, 57;\n --tblr-light-rgb: 249, 250, 251;\n --tblr-dark-rgb: 31, 41, 55;\n --tblr-muted-rgb: 107, 114, 128;\n --tblr-blue-rgb: 6, 111, 209;\n --tblr-azure-rgb: 66, 153, 225;\n --tblr-indigo-rgb: 66, 99, 235;\n --tblr-purple-rgb: 174, 62, 201;\n --tblr-pink-rgb: 214, 51, 108;\n --tblr-red-rgb: 214, 57, 57;\n --tblr-orange-rgb: 247, 103, 7;\n --tblr-yellow-rgb: 245, 159, 0;\n --tblr-lime-rgb: 116, 184, 22;\n --tblr-green-rgb: 47, 179, 68;\n --tblr-teal-rgb: 12, 166, 120;\n --tblr-cyan-rgb: 23, 162, 184;\n --tblr-primary-text-emphasis: rgb(2.4, 44.4, 83.6);\n --tblr-secondary-text-emphasis: rgb(42.8, 45.6, 51.2);\n --tblr-success-text-emphasis: rgb(18.8, 71.6, 27.2);\n --tblr-info-text-emphasis: rgb(26.4, 61.2, 90);\n --tblr-warning-text-emphasis: rgb(98, 63.6, 0);\n --tblr-danger-text-emphasis: rgb(85.6, 22.8, 22.8);\n --tblr-light-text-emphasis: #374151;\n --tblr-dark-text-emphasis: #374151;\n --tblr-primary-bg-subtle: rgb(205.2, 226.2, 245.8);\n --tblr-secondary-bg-subtle: rgb(225.4, 226.8, 229.6);\n --tblr-success-bg-subtle: rgb(213.4, 239.8, 217.6);\n --tblr-info-bg-subtle: rgb(217.2, 234.6, 249);\n --tblr-warning-bg-subtle: rgb(253, 235.8, 204);\n --tblr-danger-bg-subtle: rgb(246.8, 215.4, 215.4);\n --tblr-light-bg-subtle: rgb(249, 249.5, 250.5);\n --tblr-dark-bg-subtle: #9ca3af;\n --tblr-primary-border-subtle: rgb(155.4, 197.4, 236.6);\n --tblr-secondary-border-subtle: rgb(195.8, 198.6, 204.2);\n --tblr-success-border-subtle: rgb(171.8, 224.6, 180.2);\n --tblr-info-border-subtle: rgb(179.4, 214.2, 243);\n --tblr-warning-border-subtle: rgb(251, 216.6, 153);\n --tblr-danger-border-subtle: rgb(238.6, 175.8, 175.8);\n --tblr-light-border-subtle: #e5e7eb;\n --tblr-dark-border-subtle: #6b7280;\n --tblr-white-rgb: 255, 255, 255;\n --tblr-black-rgb: 0, 0, 0;\n --tblr-font-sans-serif: \"Geist\", -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif;\n --tblr-font-monospace: \"Geist Mono\", Monaco, Consolas, Liberation Mono, Courier New, monospace;\n --tblr-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --tblr-body-font-family: var(--tblr-font-sans-serif);\n --tblr-body-font-size: 0.875rem;\n --tblr-body-font-weight: 400;\n --tblr-body-line-height: 1.4285714286;\n --tblr-body-color: #6b7280;\n --tblr-body-color-rgb: 107, 114, 128;\n --tblr-body-bg: #ffffff;\n --tblr-body-bg-rgb: 255, 255, 255;\n --tblr-emphasis-color: #000000;\n --tblr-emphasis-color-rgb: 0, 0, 0;\n --tblr-secondary-color: rgba(107, 114, 128, 0.75);\n --tblr-secondary-color-rgb: 107, 114, 128;\n --tblr-secondary-bg: #e5e7eb;\n --tblr-secondary-bg-rgb: 229, 231, 235;\n --tblr-tertiary-color: rgba(107, 114, 128, 0.5);\n --tblr-tertiary-color-rgb: 107, 114, 128;\n --tblr-tertiary-bg: #f3f4f6;\n --tblr-tertiary-bg-rgb: 243, 244, 246;\n --tblr-heading-color: light-dark(var(--tblr-gray-900), var(--tblr-white));\n --tblr-link-color: #066fd1;\n --tblr-link-color-rgb: 6, 111, 209;\n --tblr-link-decoration: none;\n --tblr-link-hover-color: rgb(4.8, 88.8, 167.2);\n --tblr-link-hover-color-rgb: 4.8, 88.8, 167.2;\n --tblr-link-hover-decoration: underline;\n --tblr-code-color: light-dark(var(--tblr-gray-600), var(--tblr-gray-400));\n --tblr-highlight-color: #6b7280;\n --tblr-highlight-bg: rgb(253, 235.8, 204);\n --tblr-border-width: 1px;\n --tblr-border-style: solid;\n --tblr-border-color: var(--tblr-gray-200);\n --tblr-border-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 11.9%, transparent);\n --tblr-border-radius: 6px;\n --tblr-border-radius-sm: 4px;\n --tblr-border-radius-lg: 8px;\n --tblr-border-radius-xl: 1rem;\n --tblr-border-radius-xxl: 2rem;\n --tblr-border-radius-2xl: var(--tblr-border-radius-xxl);\n --tblr-border-radius-pill: 100rem;\n --tblr-box-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08);\n --tblr-box-shadow-sm: 0 1px 3px 0 rgba(18, 18, 23, 0.1), 0 1px 2px 0 rgba(18, 18, 23, 0.06);\n --tblr-box-shadow-lg: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08);\n --tblr-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --tblr-focus-ring-width: 0.25rem;\n --tblr-focus-ring-opacity: 0.25;\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n --tblr-form-valid-color: #2fb344;\n --tblr-form-valid-border-color: #2fb344;\n --tblr-form-invalid-color: #d63939;\n --tblr-form-invalid-border-color: #d63939;\n}\n\n[data-bs-theme=dark], body[data-bs-theme=dark] [data-bs-theme=light],\nbody[data-theme=dark] [data-theme=light],\n[data-theme=dark] {\n color-scheme: dark;\n --tblr-body-color: #e5e7eb;\n --tblr-body-color-rgb: 229, 231, 235;\n --tblr-body-bg: #111827;\n --tblr-body-bg-rgb: 17, 24, 39;\n --tblr-emphasis-color: #ffffff;\n --tblr-emphasis-color-rgb: 255, 255, 255;\n --tblr-secondary-color: rgba(229, 231, 235, 0.75);\n --tblr-secondary-color-rgb: 229, 231, 235;\n --tblr-secondary-bg: #1f2937;\n --tblr-secondary-bg-rgb: 31, 41, 55;\n --tblr-tertiary-color: rgba(229, 231, 235, 0.5);\n --tblr-tertiary-color-rgb: 229, 231, 235;\n --tblr-tertiary-bg: rgb(24, 32.5, 47);\n --tblr-tertiary-bg-rgb: 24, 32.5, 47;\n --tblr-primary-text-emphasis: rgb(105.6, 168.6, 227.4);\n --tblr-secondary-text-emphasis: rgb(166.2, 170.4, 178.8);\n --tblr-success-text-emphasis: rgb(130.2, 209.4, 142.8);\n --tblr-info-text-emphasis: rgb(141.6, 193.8, 237);\n --tblr-warning-text-emphasis: rgb(249, 197.4, 102);\n --tblr-danger-text-emphasis: rgb(230.4, 136.2, 136.2);\n --tblr-light-text-emphasis: #f3f4f6;\n --tblr-dark-text-emphasis: #d1d5db;\n --tblr-primary-bg-subtle: rgb(1.2, 22.2, 41.8);\n --tblr-secondary-bg-subtle: rgb(21.4, 22.8, 25.6);\n --tblr-success-bg-subtle: rgb(9.4, 35.8, 13.6);\n --tblr-info-bg-subtle: rgb(13.2, 30.6, 45);\n --tblr-warning-bg-subtle: rgb(49, 31.8, 0);\n --tblr-danger-bg-subtle: rgb(42.8, 11.4, 11.4);\n --tblr-light-bg-subtle: #1f2937;\n --tblr-dark-bg-subtle: rgb(15.5, 20.5, 27.5);\n --tblr-primary-border-subtle: rgb(3.6, 66.6, 125.4);\n --tblr-secondary-border-subtle: rgb(64.2, 68.4, 76.8);\n --tblr-success-border-subtle: rgb(28.2, 107.4, 40.8);\n --tblr-info-border-subtle: rgb(39.6, 91.8, 135);\n --tblr-warning-border-subtle: rgb(147, 95.4, 0);\n --tblr-danger-border-subtle: rgb(128.4, 34.2, 34.2);\n --tblr-light-border-subtle: #374151;\n --tblr-dark-border-subtle: #1f2937;\n --tblr-heading-color: inherit;\n --tblr-link-color: rgb(105.6, 168.6, 227.4);\n --tblr-link-hover-color: rgb(135.48, 185.88, 232.92);\n --tblr-link-color-rgb: 105.6, 168.6, 227.4;\n --tblr-link-hover-color-rgb: 135.48, 185.88, 232.92;\n --tblr-code-color: var(--tblr-gray-300);\n --tblr-highlight-color: #e5e7eb;\n --tblr-highlight-bg: rgb(98, 63.6, 0);\n --tblr-border-color: rgb(45.7069767442, 60.4511627907, 81.0930232558);\n --tblr-border-color-translucent: rgba(128, 150, 172, 0.2);\n --tblr-form-valid-color: rgb(130.2, 209.4, 142.8);\n --tblr-form-valid-border-color: rgb(130.2, 209.4, 142.8);\n --tblr-form-invalid-color: rgb(230.4, 136.2, 136.2);\n --tblr-form-invalid-border-color: rgb(230.4, 136.2, 136.2);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--tblr-body-font-family);\n font-size: var(--tblr-body-font-size);\n font-weight: var(--tblr-body-font-weight);\n line-height: var(--tblr-body-line-height);\n color: var(--tblr-body-color);\n text-align: var(--tblr-body-text-align);\n background-color: var(--tblr-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr, .hr {\n margin: 2rem 0;\n color: inherit;\n border: 0;\n border-top: var(--tblr-border-width) solid;\n opacity: 11.9%;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n margin-top: 0;\n margin-bottom: var(--tblr-spacer);\n font-weight: var(--tblr-font-weight-semibold);\n line-height: 1.2;\n color: var(--tblr-heading-color);\n}\n\nh1, .h1 {\n font-size: 1.5rem;\n}\n\nh2, .h2 {\n font-size: 1.25rem;\n}\n\nh3, .h3 {\n font-size: 1rem;\n}\n\nh4, .h4 {\n font-size: 0.875rem;\n}\n\nh5, .h5 {\n font-size: 0.75rem;\n}\n\nh6, .h6 {\n font-size: 0.625rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 600;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.1875em;\n color: var(--tblr-highlight-color);\n background-color: var(--tblr-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--tblr-link-color-rgb), var(--tblr-link-opacity, 1));\n text-decoration: none;\n}\na:hover {\n --tblr-link-color-rgb: var(--tblr-link-hover-color-rgb);\n text-decoration: underline;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--tblr-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.85714285em;\n color: var(--tblr-light);\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.85714285em;\n color: var(--tblr-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.25rem 0.5rem;\n font-size: var(--tblr-font-size-h5);\n color: var(--tblr-text-secondary-dark);\n background-color: var(--tblr-code-bg);\n border-radius: 4px;\n}\n@supports (corner-shape: squircle) {\n kbd {\n corner-shape: squircle;\n border-radius: calc(4px * 2.5) !important;\n }\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: var(--tblr-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n line-height: inherit;\n font-size: 1.5rem;\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n[type=search]::-webkit-search-cancel-button {\n cursor: pointer;\n filter: grayscale(1);\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 0.875rem;\n font-weight: var(--tblr-font-weight-normal);\n}\n\n.display-1 {\n font-weight: 300;\n line-height: 1.2;\n font-size: 5rem;\n}\n\n.display-2 {\n font-weight: 300;\n line-height: 1.2;\n font-size: 4.5rem;\n}\n\n.display-3 {\n font-weight: 300;\n line-height: 1.2;\n font-size: 4rem;\n}\n\n.display-4 {\n font-weight: 300;\n line-height: 1.2;\n font-size: 3.5rem;\n}\n\n.display-5 {\n font-weight: 300;\n line-height: 1.2;\n font-size: 3rem;\n}\n\n.display-6 {\n font-weight: 300;\n line-height: 1.2;\n font-size: 2rem;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 0.875rem;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #4b5563;\n}\n.blockquote-footer::before {\n content: \"— \";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: var(--tblr-body-bg);\n border: var(--tblr-border-width) solid var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .img-thumbnail {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.img-thumbnail {\n box-shadow: var(--tblr-box-shadow-sm);\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: var(--tblr-secondary-color);\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --tblr-gutter-x: calc(var(--tblr-page-padding) * 2);\n --tblr-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--tblr-gutter-x) * 0.5);\n padding-left: calc(var(--tblr-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --tblr-breakpoint-xs: 0;\n --tblr-breakpoint-sm: 576px;\n --tblr-breakpoint-md: 768px;\n --tblr-breakpoint-lg: 992px;\n --tblr-breakpoint-xl: 1200px;\n --tblr-breakpoint-xxl: 1400px;\n}\n\n.row {\n --tblr-gutter-x: var(--tblr-page-padding);\n --tblr-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--tblr-gutter-y));\n margin-right: calc(-0.5 * var(--tblr-gutter-x));\n margin-left: calc(-0.5 * var(--tblr-gutter-x));\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--tblr-gutter-x) * 0.5);\n padding-left: calc(var(--tblr-gutter-x) * 0.5);\n margin-top: var(--tblr-gutter-y);\n}\n\n.grid {\n display: grid;\n grid-template-rows: repeat(var(--tblr-rows, 1), 1fr);\n grid-template-columns: repeat(var(--tblr-columns, 12), 1fr);\n gap: var(--tblr-gap, var(--tblr-page-padding));\n}\n.grid .g-col-1 {\n grid-column: auto/span 1;\n}\n.grid .g-col-2 {\n grid-column: auto/span 2;\n}\n.grid .g-col-3 {\n grid-column: auto/span 3;\n}\n.grid .g-col-4 {\n grid-column: auto/span 4;\n}\n.grid .g-col-5 {\n grid-column: auto/span 5;\n}\n.grid .g-col-6 {\n grid-column: auto/span 6;\n}\n.grid .g-col-7 {\n grid-column: auto/span 7;\n}\n.grid .g-col-8 {\n grid-column: auto/span 8;\n}\n.grid .g-col-9 {\n grid-column: auto/span 9;\n}\n.grid .g-col-10 {\n grid-column: auto/span 10;\n}\n.grid .g-col-11 {\n grid-column: auto/span 11;\n}\n.grid .g-col-12 {\n grid-column: auto/span 12;\n}\n.grid .g-start-1 {\n grid-column-start: 1;\n}\n.grid .g-start-2 {\n grid-column-start: 2;\n}\n.grid .g-start-3 {\n grid-column-start: 3;\n}\n.grid .g-start-4 {\n grid-column-start: 4;\n}\n.grid .g-start-5 {\n grid-column-start: 5;\n}\n.grid .g-start-6 {\n grid-column-start: 6;\n}\n.grid .g-start-7 {\n grid-column-start: 7;\n}\n.grid .g-start-8 {\n grid-column-start: 8;\n}\n.grid .g-start-9 {\n grid-column-start: 9;\n}\n.grid .g-start-10 {\n grid-column-start: 10;\n}\n.grid .g-start-11 {\n grid-column-start: 11;\n}\n@media (min-width: 576px) {\n .grid .g-col-sm-1 {\n grid-column: auto/span 1;\n }\n .grid .g-col-sm-2 {\n grid-column: auto/span 2;\n }\n .grid .g-col-sm-3 {\n grid-column: auto/span 3;\n }\n .grid .g-col-sm-4 {\n grid-column: auto/span 4;\n }\n .grid .g-col-sm-5 {\n grid-column: auto/span 5;\n }\n .grid .g-col-sm-6 {\n grid-column: auto/span 6;\n }\n .grid .g-col-sm-7 {\n grid-column: auto/span 7;\n }\n .grid .g-col-sm-8 {\n grid-column: auto/span 8;\n }\n .grid .g-col-sm-9 {\n grid-column: auto/span 9;\n }\n .grid .g-col-sm-10 {\n grid-column: auto/span 10;\n }\n .grid .g-col-sm-11 {\n grid-column: auto/span 11;\n }\n .grid .g-col-sm-12 {\n grid-column: auto/span 12;\n }\n .grid .g-start-sm-1 {\n grid-column-start: 1;\n }\n .grid .g-start-sm-2 {\n grid-column-start: 2;\n }\n .grid .g-start-sm-3 {\n grid-column-start: 3;\n }\n .grid .g-start-sm-4 {\n grid-column-start: 4;\n }\n .grid .g-start-sm-5 {\n grid-column-start: 5;\n }\n .grid .g-start-sm-6 {\n grid-column-start: 6;\n }\n .grid .g-start-sm-7 {\n grid-column-start: 7;\n }\n .grid .g-start-sm-8 {\n grid-column-start: 8;\n }\n .grid .g-start-sm-9 {\n grid-column-start: 9;\n }\n .grid .g-start-sm-10 {\n grid-column-start: 10;\n }\n .grid .g-start-sm-11 {\n grid-column-start: 11;\n }\n}\n@media (min-width: 768px) {\n .grid .g-col-md-1 {\n grid-column: auto/span 1;\n }\n .grid .g-col-md-2 {\n grid-column: auto/span 2;\n }\n .grid .g-col-md-3 {\n grid-column: auto/span 3;\n }\n .grid .g-col-md-4 {\n grid-column: auto/span 4;\n }\n .grid .g-col-md-5 {\n grid-column: auto/span 5;\n }\n .grid .g-col-md-6 {\n grid-column: auto/span 6;\n }\n .grid .g-col-md-7 {\n grid-column: auto/span 7;\n }\n .grid .g-col-md-8 {\n grid-column: auto/span 8;\n }\n .grid .g-col-md-9 {\n grid-column: auto/span 9;\n }\n .grid .g-col-md-10 {\n grid-column: auto/span 10;\n }\n .grid .g-col-md-11 {\n grid-column: auto/span 11;\n }\n .grid .g-col-md-12 {\n grid-column: auto/span 12;\n }\n .grid .g-start-md-1 {\n grid-column-start: 1;\n }\n .grid .g-start-md-2 {\n grid-column-start: 2;\n }\n .grid .g-start-md-3 {\n grid-column-start: 3;\n }\n .grid .g-start-md-4 {\n grid-column-start: 4;\n }\n .grid .g-start-md-5 {\n grid-column-start: 5;\n }\n .grid .g-start-md-6 {\n grid-column-start: 6;\n }\n .grid .g-start-md-7 {\n grid-column-start: 7;\n }\n .grid .g-start-md-8 {\n grid-column-start: 8;\n }\n .grid .g-start-md-9 {\n grid-column-start: 9;\n }\n .grid .g-start-md-10 {\n grid-column-start: 10;\n }\n .grid .g-start-md-11 {\n grid-column-start: 11;\n }\n}\n@media (min-width: 992px) {\n .grid .g-col-lg-1 {\n grid-column: auto/span 1;\n }\n .grid .g-col-lg-2 {\n grid-column: auto/span 2;\n }\n .grid .g-col-lg-3 {\n grid-column: auto/span 3;\n }\n .grid .g-col-lg-4 {\n grid-column: auto/span 4;\n }\n .grid .g-col-lg-5 {\n grid-column: auto/span 5;\n }\n .grid .g-col-lg-6 {\n grid-column: auto/span 6;\n }\n .grid .g-col-lg-7 {\n grid-column: auto/span 7;\n }\n .grid .g-col-lg-8 {\n grid-column: auto/span 8;\n }\n .grid .g-col-lg-9 {\n grid-column: auto/span 9;\n }\n .grid .g-col-lg-10 {\n grid-column: auto/span 10;\n }\n .grid .g-col-lg-11 {\n grid-column: auto/span 11;\n }\n .grid .g-col-lg-12 {\n grid-column: auto/span 12;\n }\n .grid .g-start-lg-1 {\n grid-column-start: 1;\n }\n .grid .g-start-lg-2 {\n grid-column-start: 2;\n }\n .grid .g-start-lg-3 {\n grid-column-start: 3;\n }\n .grid .g-start-lg-4 {\n grid-column-start: 4;\n }\n .grid .g-start-lg-5 {\n grid-column-start: 5;\n }\n .grid .g-start-lg-6 {\n grid-column-start: 6;\n }\n .grid .g-start-lg-7 {\n grid-column-start: 7;\n }\n .grid .g-start-lg-8 {\n grid-column-start: 8;\n }\n .grid .g-start-lg-9 {\n grid-column-start: 9;\n }\n .grid .g-start-lg-10 {\n grid-column-start: 10;\n }\n .grid .g-start-lg-11 {\n grid-column-start: 11;\n }\n}\n@media (min-width: 1200px) {\n .grid .g-col-xl-1 {\n grid-column: auto/span 1;\n }\n .grid .g-col-xl-2 {\n grid-column: auto/span 2;\n }\n .grid .g-col-xl-3 {\n grid-column: auto/span 3;\n }\n .grid .g-col-xl-4 {\n grid-column: auto/span 4;\n }\n .grid .g-col-xl-5 {\n grid-column: auto/span 5;\n }\n .grid .g-col-xl-6 {\n grid-column: auto/span 6;\n }\n .grid .g-col-xl-7 {\n grid-column: auto/span 7;\n }\n .grid .g-col-xl-8 {\n grid-column: auto/span 8;\n }\n .grid .g-col-xl-9 {\n grid-column: auto/span 9;\n }\n .grid .g-col-xl-10 {\n grid-column: auto/span 10;\n }\n .grid .g-col-xl-11 {\n grid-column: auto/span 11;\n }\n .grid .g-col-xl-12 {\n grid-column: auto/span 12;\n }\n .grid .g-start-xl-1 {\n grid-column-start: 1;\n }\n .grid .g-start-xl-2 {\n grid-column-start: 2;\n }\n .grid .g-start-xl-3 {\n grid-column-start: 3;\n }\n .grid .g-start-xl-4 {\n grid-column-start: 4;\n }\n .grid .g-start-xl-5 {\n grid-column-start: 5;\n }\n .grid .g-start-xl-6 {\n grid-column-start: 6;\n }\n .grid .g-start-xl-7 {\n grid-column-start: 7;\n }\n .grid .g-start-xl-8 {\n grid-column-start: 8;\n }\n .grid .g-start-xl-9 {\n grid-column-start: 9;\n }\n .grid .g-start-xl-10 {\n grid-column-start: 10;\n }\n .grid .g-start-xl-11 {\n grid-column-start: 11;\n }\n}\n@media (min-width: 1400px) {\n .grid .g-col-xxl-1 {\n grid-column: auto/span 1;\n }\n .grid .g-col-xxl-2 {\n grid-column: auto/span 2;\n }\n .grid .g-col-xxl-3 {\n grid-column: auto/span 3;\n }\n .grid .g-col-xxl-4 {\n grid-column: auto/span 4;\n }\n .grid .g-col-xxl-5 {\n grid-column: auto/span 5;\n }\n .grid .g-col-xxl-6 {\n grid-column: auto/span 6;\n }\n .grid .g-col-xxl-7 {\n grid-column: auto/span 7;\n }\n .grid .g-col-xxl-8 {\n grid-column: auto/span 8;\n }\n .grid .g-col-xxl-9 {\n grid-column: auto/span 9;\n }\n .grid .g-col-xxl-10 {\n grid-column: auto/span 10;\n }\n .grid .g-col-xxl-11 {\n grid-column: auto/span 11;\n }\n .grid .g-col-xxl-12 {\n grid-column: auto/span 12;\n }\n .grid .g-start-xxl-1 {\n grid-column-start: 1;\n }\n .grid .g-start-xxl-2 {\n grid-column-start: 2;\n }\n .grid .g-start-xxl-3 {\n grid-column-start: 3;\n }\n .grid .g-start-xxl-4 {\n grid-column-start: 4;\n }\n .grid .g-start-xxl-5 {\n grid-column-start: 5;\n }\n .grid .g-start-xxl-6 {\n grid-column-start: 6;\n }\n .grid .g-start-xxl-7 {\n grid-column-start: 7;\n }\n .grid .g-start-xxl-8 {\n grid-column-start: 8;\n }\n .grid .g-start-xxl-9 {\n grid-column-start: 9;\n }\n .grid .g-start-xxl-10 {\n grid-column-start: 10;\n }\n .grid .g-start-xxl-11 {\n grid-column-start: 11;\n }\n}\n\n.col {\n flex: 1 0 0;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --tblr-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --tblr-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --tblr-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --tblr-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --tblr-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --tblr-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --tblr-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --tblr-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --tblr-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --tblr-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --tblr-gutter-x: 2rem;\n}\n\n.g-5,\n.gy-5 {\n --tblr-gutter-y: 2rem;\n}\n\n.g-6,\n.gx-6 {\n --tblr-gutter-x: 2.5rem;\n}\n\n.g-6,\n.gy-6 {\n --tblr-gutter-y: 2.5rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --tblr-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --tblr-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --tblr-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --tblr-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --tblr-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --tblr-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --tblr-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --tblr-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --tblr-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --tblr-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --tblr-gutter-x: 2rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --tblr-gutter-y: 2rem;\n }\n .g-sm-6,\n .gx-sm-6 {\n --tblr-gutter-x: 2.5rem;\n }\n .g-sm-6,\n .gy-sm-6 {\n --tblr-gutter-y: 2.5rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --tblr-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --tblr-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --tblr-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --tblr-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --tblr-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --tblr-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --tblr-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --tblr-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --tblr-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --tblr-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --tblr-gutter-x: 2rem;\n }\n .g-md-5,\n .gy-md-5 {\n --tblr-gutter-y: 2rem;\n }\n .g-md-6,\n .gx-md-6 {\n --tblr-gutter-x: 2.5rem;\n }\n .g-md-6,\n .gy-md-6 {\n --tblr-gutter-y: 2.5rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --tblr-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --tblr-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --tblr-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --tblr-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --tblr-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --tblr-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --tblr-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --tblr-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --tblr-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --tblr-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --tblr-gutter-x: 2rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --tblr-gutter-y: 2rem;\n }\n .g-lg-6,\n .gx-lg-6 {\n --tblr-gutter-x: 2.5rem;\n }\n .g-lg-6,\n .gy-lg-6 {\n --tblr-gutter-y: 2.5rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --tblr-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --tblr-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --tblr-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --tblr-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --tblr-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --tblr-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --tblr-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --tblr-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --tblr-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --tblr-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --tblr-gutter-x: 2rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --tblr-gutter-y: 2rem;\n }\n .g-xl-6,\n .gx-xl-6 {\n --tblr-gutter-x: 2.5rem;\n }\n .g-xl-6,\n .gy-xl-6 {\n --tblr-gutter-y: 2.5rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --tblr-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --tblr-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --tblr-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --tblr-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --tblr-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --tblr-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --tblr-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --tblr-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --tblr-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --tblr-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --tblr-gutter-x: 2rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --tblr-gutter-y: 2rem;\n }\n .g-xxl-6,\n .gx-xxl-6 {\n --tblr-gutter-x: 2.5rem;\n }\n .g-xxl-6,\n .gy-xxl-6 {\n --tblr-gutter-y: 2.5rem;\n }\n}\n.table, .prose > table,\n.markdown > table {\n --tblr-table-color-type: initial;\n --tblr-table-bg-type: initial;\n --tblr-table-color-state: initial;\n --tblr-table-bg-state: initial;\n --tblr-table-color: inherit;\n --tblr-table-bg: transparent;\n --tblr-table-border-color: var(--tblr-border-color-translucent);\n --tblr-table-accent-bg: transparent;\n --tblr-table-striped-color: inherit;\n --tblr-table-striped-bg: var(--tblr-bg-surface-tertiary);\n --tblr-table-active-color: inherit;\n --tblr-table-active-bg: var(--tblr-active-bg);\n --tblr-table-hover-color: inherit;\n --tblr-table-hover-bg: color-mix(in srgb, var(--tblr-emphasis-color) 7.5%, transparent);\n width: 100%;\n margin-bottom: 1rem;\n vertical-align: top;\n border-color: var(--tblr-table-border-color);\n}\n.table > :not(caption) > * > *, .prose > table > :not(caption) > * > *,\n.markdown > table > :not(caption) > * > * {\n padding: 0.75rem 0.75rem;\n color: var(--tblr-table-color-state, var(--tblr-table-color-type, var(--tblr-table-color)));\n background-color: var(--tblr-table-bg);\n border-bottom-width: var(--tblr-border-width);\n box-shadow: inset 0 0 0 9999px var(--tblr-table-bg-state, var(--tblr-table-bg-type, var(--tblr-table-accent-bg)));\n}\n.table > tbody, .prose > table > tbody,\n.markdown > table > tbody {\n vertical-align: inherit;\n}\n.table > thead, .prose > table > thead,\n.markdown > table > thead {\n vertical-align: bottom;\n}\n\n.table-group-divider {\n border-top: calc(var(--tblr-border-width) * 2) solid var(--tblr-border-color-translucent);\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > *, .prose > table > :not(caption) > * > *,\n.markdown > table > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > *, .prose > table > :not(caption) > *,\n.markdown > table > :not(caption) > * {\n border-width: var(--tblr-border-width) 0;\n}\n.table-bordered > :not(caption) > * > *, .prose > table > :not(caption) > * > *,\n.markdown > table > :not(caption) > * > * {\n border-width: 0 var(--tblr-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n.table-borderless > :not(:first-child) {\n border-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(even) > * {\n --tblr-table-color-type: var(--tblr-table-striped-color);\n --tblr-table-bg-type: var(--tblr-table-striped-bg);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --tblr-table-color-type: var(--tblr-table-striped-color);\n --tblr-table-bg-type: var(--tblr-table-striped-bg);\n}\n\n.table-active {\n --tblr-table-color-state: var(--tblr-table-active-color);\n --tblr-table-bg-state: var(--tblr-table-active-bg);\n}\n\n.table-hover > tbody > tr:hover > * {\n --tblr-table-color-state: var(--tblr-table-hover-color);\n --tblr-table-bg-state: var(--tblr-table-hover-bg);\n}\n\n.table-primary {\n --tblr-table-color: #000000;\n --tblr-table-bg: rgb(205.2, 226.2, 245.8);\n --tblr-table-border-color: rgb(164.16, 180.96, 196.64);\n --tblr-table-striped-bg: rgb(194.94, 214.89, 233.51);\n --tblr-table-striped-color: #000000;\n --tblr-table-active-bg: rgb(184.68, 203.58, 221.22);\n --tblr-table-active-color: #000000;\n --tblr-table-hover-bg: rgb(189.81, 209.235, 227.365);\n --tblr-table-hover-color: #000000;\n color: var(--tblr-table-color);\n border-color: var(--tblr-table-border-color);\n}\n\n.table-secondary {\n --tblr-table-color: #000000;\n --tblr-table-bg: rgb(225.4, 226.8, 229.6);\n --tblr-table-border-color: rgb(180.32, 181.44, 183.68);\n --tblr-table-striped-bg: rgb(214.13, 215.46, 218.12);\n --tblr-table-striped-color: #000000;\n --tblr-table-active-bg: rgb(202.86, 204.12, 206.64);\n --tblr-table-active-color: #000000;\n --tblr-table-hover-bg: rgb(208.495, 209.79, 212.38);\n --tblr-table-hover-color: #000000;\n color: var(--tblr-table-color);\n border-color: var(--tblr-table-border-color);\n}\n\n.table-success {\n --tblr-table-color: #000000;\n --tblr-table-bg: rgb(213.4, 239.8, 217.6);\n --tblr-table-border-color: rgb(170.72, 191.84, 174.08);\n --tblr-table-striped-bg: rgb(202.73, 227.81, 206.72);\n --tblr-table-striped-color: #000000;\n --tblr-table-active-bg: rgb(192.06, 215.82, 195.84);\n --tblr-table-active-color: #000000;\n --tblr-table-hover-bg: rgb(197.395, 221.815, 201.28);\n --tblr-table-hover-color: #000000;\n color: var(--tblr-table-color);\n border-color: var(--tblr-table-border-color);\n}\n\n.table-info {\n --tblr-table-color: #000000;\n --tblr-table-bg: rgb(217.2, 234.6, 249);\n --tblr-table-border-color: rgb(173.76, 187.68, 199.2);\n --tblr-table-striped-bg: rgb(206.34, 222.87, 236.55);\n --tblr-table-striped-color: #000000;\n --tblr-table-active-bg: rgb(195.48, 211.14, 224.1);\n --tblr-table-active-color: #000000;\n --tblr-table-hover-bg: rgb(200.91, 217.005, 230.325);\n --tblr-table-hover-color: #000000;\n color: var(--tblr-table-color);\n border-color: var(--tblr-table-border-color);\n}\n\n.table-warning {\n --tblr-table-color: #000000;\n --tblr-table-bg: rgb(253, 235.8, 204);\n --tblr-table-border-color: rgb(202.4, 188.64, 163.2);\n --tblr-table-striped-bg: rgb(240.35, 224.01, 193.8);\n --tblr-table-striped-color: #000000;\n --tblr-table-active-bg: rgb(227.7, 212.22, 183.6);\n --tblr-table-active-color: #000000;\n --tblr-table-hover-bg: rgb(234.025, 218.115, 188.7);\n --tblr-table-hover-color: #000000;\n color: var(--tblr-table-color);\n border-color: var(--tblr-table-border-color);\n}\n\n.table-danger {\n --tblr-table-color: #000000;\n --tblr-table-bg: rgb(246.8, 215.4, 215.4);\n --tblr-table-border-color: rgb(197.44, 172.32, 172.32);\n --tblr-table-striped-bg: rgb(234.46, 204.63, 204.63);\n --tblr-table-striped-color: #000000;\n --tblr-table-active-bg: rgb(222.12, 193.86, 193.86);\n --tblr-table-active-color: #000000;\n --tblr-table-hover-bg: rgb(228.29, 199.245, 199.245);\n --tblr-table-hover-color: #000000;\n color: var(--tblr-table-color);\n border-color: var(--tblr-table-border-color);\n}\n\n.table-light {\n --tblr-table-color: #000000;\n --tblr-table-bg: #f9fafb;\n --tblr-table-border-color: rgb(199.2, 200, 200.8);\n --tblr-table-striped-bg: rgb(236.55, 237.5, 238.45);\n --tblr-table-striped-color: #000000;\n --tblr-table-active-bg: rgb(224.1, 225, 225.9);\n --tblr-table-active-color: #000000;\n --tblr-table-hover-bg: rgb(230.325, 231.25, 232.175);\n --tblr-table-hover-color: #000000;\n color: var(--tblr-table-color);\n border-color: var(--tblr-table-border-color);\n}\n\n.table-dark {\n --tblr-table-color: #ffffff;\n --tblr-table-bg: #1f2937;\n --tblr-table-border-color: rgb(75.8, 83.8, 95);\n --tblr-table-striped-bg: rgb(42.2, 51.7, 65);\n --tblr-table-striped-color: #ffffff;\n --tblr-table-active-bg: rgb(53.4, 62.4, 75);\n --tblr-table-active-color: #ffffff;\n --tblr-table-hover-bg: rgb(47.8, 57.05, 70);\n --tblr-table-hover-color: #ffffff;\n color: var(--tblr-table-color);\n border-color: var(--tblr-table-border-color);\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5rem;\n font-size: 0.875rem;\n font-weight: var(--tblr-font-weight-medium);\n}\n\n.col-form-label {\n padding-top: calc(0.5625rem + var(--tblr-border-width));\n padding-bottom: calc(0.5625rem + var(--tblr-border-width));\n margin-bottom: 0;\n font-size: inherit;\n font-weight: var(--tblr-font-weight-medium);\n line-height: 1.25rem;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.6875rem + var(--tblr-border-width));\n padding-bottom: calc(0.6875rem + var(--tblr-border-width));\n font-size: 1rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.3125rem + var(--tblr-border-width));\n padding-bottom: calc(0.3125rem + var(--tblr-border-width));\n font-size: 0.75rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--tblr-secondary-color);\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5625rem 1rem;\n font-family: var(--tblr-body-font-family);\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.25rem;\n color: var(--tblr-body-color);\n appearance: none;\n background-color: var(--tblr-bg-forms);\n background-clip: padding-box;\n border: var(--tblr-border-width) solid var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-control {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-control {\n box-shadow: var(--tblr-shadow-input);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type=file] {\n overflow: hidden;\n}\n.form-control[type=file]:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: var(--tblr-body-color);\n background-color: var(--tblr-bg-forms);\n border-color: rgb(130.5, 183, 232);\n outline: 0;\n box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.form-control::-webkit-date-and-time-value {\n min-width: 85px;\n height: 1.25rem;\n margin: 0;\n}\n.form-control::-webkit-datetime-edit {\n display: block;\n padding: 0;\n}\n.form-control::placeholder {\n color: var(--tblr-tertiary);\n opacity: 1;\n}\n.form-control:disabled {\n background-color: var(--tblr-bg-surface-secondary);\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.5625rem 1rem;\n margin: -0.5625rem -1rem;\n margin-inline-end: 1rem;\n color: var(--tblr-body-color);\n background-color: var(--tblr-tertiary-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--tblr-border-width);\n border-radius: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--tblr-secondary-bg);\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.5625rem 0;\n margin-bottom: 0;\n line-height: 1.25rem;\n color: var(--tblr-body-color);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--tblr-border-width) 0;\n}\n.form-control-plaintext:focus {\n outline: 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.25rem + 0.625rem + calc(var(--tblr-border-width) * 2));\n padding: 0.3125rem 0.5rem;\n font-size: 0.75rem;\n border-radius: var(--tblr-border-radius-sm);\n}\n@supports (corner-shape: squircle) {\n .form-control-sm {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important;\n }\n}\n.form-control-sm::file-selector-button {\n padding: 0.3125rem 0.5rem;\n margin: -0.3125rem -0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n min-height: calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2));\n padding: 0.6875rem 1.5rem;\n font-size: 1rem;\n border-radius: var(--tblr-border-radius-lg);\n}\n@supports (corner-shape: squircle) {\n .form-control-lg {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important;\n }\n}\n.form-control-lg::file-selector-button {\n padding: 0.6875rem 1.5rem;\n margin: -0.6875rem -1.5rem;\n margin-inline-end: 1.5rem;\n}\n\ntextarea.form-control {\n min-height: calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));\n}\ntextarea.form-control-sm {\n min-height: calc(1.25rem + 0.625rem + calc(var(--tblr-border-width) * 2));\n}\ntextarea.form-control-lg {\n min-height: calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2));\n}\n\n.form-control-color {\n width: 3rem;\n height: calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));\n padding: 0.5625rem;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-control-color::-moz-color-swatch {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-control-color::-webkit-color-swatch {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-control-color.form-control-sm {\n height: calc(1.25rem + 0.625rem + calc(var(--tblr-border-width) * 2));\n}\n.form-control-color.form-control-lg {\n height: calc(1.25rem + 1.375rem + calc(var(--tblr-border-width) * 2));\n}\n\n.form-select {\n --tblr-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: block;\n width: 100%;\n padding: 0.5625rem 3rem 0.5625rem 1rem;\n font-family: var(--tblr-body-font-family);\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.25rem;\n color: var(--tblr-body-color);\n appearance: none;\n background-color: var(--tblr-bg-forms);\n background-image: var(--tblr-form-select-bg-img), var(--tblr-form-select-bg-icon, none);\n background-repeat: no-repeat;\n background-position: right 1rem center;\n background-size: 16px 12px;\n border: var(--tblr-border-width) solid var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-select {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-select {\n box-shadow: var(--tblr-shadow-input);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-select {\n transition: none;\n }\n}\n.form-select:focus {\n border-color: rgb(130.5, 183, 232);\n outline: 0;\n box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n padding-right: 1rem;\n background-image: none;\n}\n.form-select:disabled {\n background-color: var(--tblr-bg-surface-secondary);\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 var(--tblr-body-color);\n}\n\n.form-select-sm {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n padding-left: 0.5rem;\n font-size: 0.75rem;\n border-radius: var(--tblr-border-radius-sm);\n}\n@supports (corner-shape: squircle) {\n .form-select-sm {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important;\n }\n}\n\n.form-select-lg {\n padding-top: 0.6875rem;\n padding-bottom: 0.6875rem;\n padding-left: 1.5rem;\n font-size: 1rem;\n border-radius: var(--tblr-border-radius-lg);\n}\n@supports (corner-shape: squircle) {\n .form-select-lg {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important;\n }\n}\n\n[data-bs-theme=dark] .form-select, body[data-bs-theme=dark] [data-bs-theme=light] .form-select,\nbody[data-theme=dark] [data-theme=light] .form-select,\n[data-theme=dark] .form-select {\n --tblr-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e5e7eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check {\n display: block;\n min-height: 1.25rem;\n padding-left: 2rem;\n margin-bottom: 0.75rem;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -2rem;\n}\n\n.form-check-reverse {\n padding-right: 2rem;\n padding-left: 0;\n text-align: right;\n}\n.form-check-reverse .form-check-input {\n float: right;\n margin-right: -2rem;\n margin-left: 0;\n}\n\n.form-check-input {\n --tblr-form-check-bg: var(--tblr-bg-forms);\n flex-shrink: 0;\n width: 1.25rem;\n height: 1.25rem;\n margin-top: 0.0892857143rem;\n vertical-align: top;\n appearance: none;\n background-color: var(--tblr-form-check-bg);\n background-image: var(--tblr-form-check-bg-image);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n print-color-adjust: exact;\n}\n.form-check-input[type=checkbox] {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-check-input[type=checkbox] {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-check-input[type=radio] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: rgb(130.5, 183, 232);\n outline: 0;\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.form-check-input:checked {\n background-color: var(--tblr-primary);\n border-color: var(--tblr-border-color-translucent);\n}\n.form-check-input:checked[type=checkbox] {\n --tblr-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type=radio] {\n --tblr-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e\");\n}\n.form-check-input[type=checkbox]:indeterminate {\n background-color: var(--tblr-primary);\n border-color: var(--tblr-primary);\n --tblr-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n cursor: default;\n opacity: 0.7;\n}\n\n.form-switch {\n padding-left: 2.5rem;\n}\n.form-switch .form-check-input {\n --tblr-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e\");\n width: 2rem;\n margin-left: -2.5rem;\n background-image: var(--tblr-form-switch-bg);\n background-position: left center;\n border-radius: 2rem;\n}\n@supports (corner-shape: squircle) {\n .form-switch .form-check-input {\n corner-shape: squircle;\n border-radius: calc(2rem * 2.5) !important;\n }\n}\n.form-switch .form-check-input {\n transition: background-position 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n.form-switch .form-check-input:focus {\n --tblr-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n --tblr-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e\");\n}\n.form-switch.form-check-reverse {\n padding-right: 2.5rem;\n padding-left: 0;\n}\n.form-switch.form-check-reverse .form-check-input {\n margin-right: -2.5rem;\n margin-left: 0;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.4;\n}\n\n[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus),\n[data-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {\n --tblr-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\");\n}\n\n.form-range {\n width: 100%;\n height: 1.25rem;\n padding: 0;\n appearance: none;\n background-color: transparent;\n}\n.form-range:focus {\n outline: 0;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.375rem;\n appearance: none;\n background-color: var(--tblr-primary);\n border: 2px var(--tblr-border-style) #ffffff;\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n .form-range::-webkit-slider-thumb {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\n.form-range::-webkit-slider-thumb {\n box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: rgb(180.3, 211.8, 241.2);\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.25rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--tblr-border-color);\n border-color: transparent;\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n .form-range::-webkit-slider-runnable-track {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\n.form-range::-webkit-slider-runnable-track {\n box-shadow: var(--tblr-box-shadow-inset);\n}\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n appearance: none;\n background-color: var(--tblr-primary);\n border: 2px var(--tblr-border-style) #ffffff;\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n .form-range::-moz-range-thumb {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\n.form-range::-moz-range-thumb {\n box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: rgb(180.3, 211.8, 241.2);\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.25rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--tblr-border-color);\n border-color: transparent;\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n .form-range::-moz-range-track {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\n.form-range::-moz-range-track {\n box-shadow: var(--tblr-box-shadow-inset);\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: var(--tblr-secondary-color);\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: var(--tblr-secondary-color);\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n height: calc(3.5rem + calc(var(--tblr-border-width) * 2));\n min-height: calc(3.5rem + calc(var(--tblr-border-width) * 2));\n line-height: 1.25;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n max-width: 100%;\n height: 100%;\n padding: 1rem 1rem;\n overflow: hidden;\n color: rgba(var(--tblr-body-color-rgb), 0.65);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--tblr-border-width) solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n padding: 1rem 1rem;\n}\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n padding-left: 1rem;\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > textarea:focus ~ label::after,\n.form-floating > textarea:not(:placeholder-shown) ~ label::after {\n position: absolute;\n inset: 1rem 0.5rem;\n z-index: -1;\n height: 1.5em;\n content: \"\";\n background-color: var(--tblr-bg-forms);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-floating > textarea:focus ~ label::after,\n .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-floating > textarea:disabled ~ label::after {\n background-color: var(--tblr-bg-surface-secondary);\n}\n.form-floating > .form-control-plaintext ~ label {\n border-width: var(--tblr-border-width) 0;\n}\n.form-floating > :disabled ~ label,\n.form-floating > .form-control:disabled ~ label {\n color: #4b5563;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n z-index: 5;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 5;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.5625rem 1rem;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.25rem;\n color: var(--tblr-gray-500);\n text-align: center;\n white-space: nowrap;\n background-color: var(--tblr-bg-surface-secondary);\n border: var(--tblr-border-width) solid var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .input-group-text {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.6875rem 1.5rem;\n font-size: 1rem;\n border-radius: var(--tblr-border-radius-lg);\n}\n@supports (corner-shape: squircle) {\n .input-group-lg > .form-control,\n .input-group-lg > .form-select,\n .input-group-lg > .input-group-text,\n .input-group-lg > .btn {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important;\n }\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.3125rem 0.5rem;\n font-size: 0.75rem;\n border-radius: var(--tblr-border-radius-sm);\n}\n@supports (corner-shape: squircle) {\n .input-group-sm > .form-control,\n .input-group-sm > .form-select,\n .input-group-sm > .input-group-text,\n .input-group-sm > .btn {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important;\n }\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 4rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: calc(-1 * var(--tblr-border-width));\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group > .form-floating:not(:first-child) > .form-control,\n.input-group > .form-floating:not(:first-child) > .form-select {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--tblr-form-valid-color);\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tblr-spacer-1) var(--tblr-spacer-2);\n margin-top: 0.1rem;\n font-size: 0.765625rem;\n color: #fff;\n background-color: var(--tblr-success);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .valid-tooltip {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: var(--tblr-form-valid-border-color);\n padding-right: 2.375rem;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 1.53125rem center;\n background-size: 1.8125rem 1.8125rem;\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: var(--tblr-form-valid-border-color);\n box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-success) 25%, transparent);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: 2.375rem;\n background-position: top 1.53125rem right 1.53125rem;\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: var(--tblr-form-valid-border-color);\n}\n.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size=\"1\"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size=\"1\"] {\n --tblr-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232fb344' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='20 6 9 17 4 12'%3e%3c/polyline%3e%3c/svg%3e\");\n padding-right: 5.5rem;\n background-position: right 1rem center, center right 3rem;\n background-size: 16px 12px, 1.8125rem 1.8125rem;\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: var(--tblr-form-valid-border-color);\n box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-success) 25%, transparent);\n}\n\n.was-validated .form-control-color:valid, .form-control-color.is-valid {\n width: 5.375rem;\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: var(--tblr-form-valid-border-color);\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: var(--tblr-form-valid-color);\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-success) 25%, transparent);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: var(--tblr-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--tblr-form-invalid-color);\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: var(--tblr-spacer-1) var(--tblr-spacer-2);\n margin-top: 0.1rem;\n font-size: 0.765625rem;\n color: #fff;\n background-color: var(--tblr-danger);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .invalid-tooltip {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: var(--tblr-form-invalid-border-color);\n padding-right: 2.375rem;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 1.53125rem center;\n background-size: 1.8125rem 1.8125rem;\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: var(--tblr-form-invalid-border-color);\n box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-danger) 25%, transparent);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: 2.375rem;\n background-position: top 1.53125rem right 1.53125rem;\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: var(--tblr-form-invalid-border-color);\n}\n.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size=\"1\"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size=\"1\"] {\n --tblr-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23d63939' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e\");\n padding-right: 5.5rem;\n background-position: right 1rem center, center right 3rem;\n background-size: 16px 12px, 1.8125rem 1.8125rem;\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: var(--tblr-form-invalid-border-color);\n box-shadow: var(--tblr-shadow-input), 0 0 0 0.25rem color-mix(in srgb, var(--tblr-danger) 25%, transparent);\n}\n\n.was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n width: 5.375rem;\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: var(--tblr-form-invalid-border-color);\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: var(--tblr-form-invalid-color);\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-danger) 25%, transparent);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: var(--tblr-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n}\n\n.btn {\n --tblr-btn-padding-x: 1rem;\n --tblr-btn-padding-y: 0.5625rem;\n --tblr-btn-font-family: var(--tblr-body-font-family);\n --tblr-btn-font-size: 0.875rem;\n --tblr-btn-font-weight: var(--tblr-font-weight-medium);\n --tblr-btn-line-height: 1.25rem;\n --tblr-btn-color: var(--tblr-body-color);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-width: var(--tblr-border-width);\n --tblr-btn-border-color: transparent;\n --tblr-btn-border-radius: var(--tblr-border-radius);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n --tblr-btn-disabled-opacity: 0.4;\n --tblr-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--tblr-btn-focus-shadow-rgb), .5);\n display: inline-block;\n padding: var(--tblr-btn-padding-y) var(--tblr-btn-padding-x);\n font-family: var(--tblr-btn-font-family);\n font-size: var(--tblr-btn-font-size);\n font-weight: var(--tblr-btn-font-weight);\n line-height: var(--tblr-btn-line-height);\n color: var(--tblr-btn-color);\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border: var(--tblr-btn-border-width) solid var(--tblr-btn-border-color);\n border-radius: var(--tblr-btn-border-radius);\n}\n@supports (corner-shape: squircle) {\n .btn {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-btn-border-radius) * 2.5) !important;\n }\n}\n.btn {\n background-color: var(--tblr-btn-bg);\n box-shadow: var(--tblr-btn-box-shadow);\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: var(--tblr-btn-hover-color);\n text-decoration: none;\n background-color: var(--tblr-btn-hover-bg);\n border-color: var(--tblr-btn-hover-border-color);\n}\n.btn-check + .btn:hover {\n color: var(--tblr-btn-color);\n background-color: var(--tblr-btn-bg);\n border-color: var(--tblr-btn-border-color);\n}\n.btn:focus-visible {\n color: var(--tblr-btn-hover-color);\n background-color: var(--tblr-btn-hover-bg);\n border-color: var(--tblr-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--tblr-btn-box-shadow), var(--tblr-btn-focus-box-shadow);\n}\n.btn-check:focus-visible + .btn {\n border-color: var(--tblr-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--tblr-btn-box-shadow), var(--tblr-btn-focus-box-shadow);\n}\n.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {\n color: var(--tblr-btn-active-color);\n background-color: var(--tblr-btn-active-bg);\n border-color: var(--tblr-btn-active-border-color);\n box-shadow: var(--tblr-btn-active-shadow);\n}\n.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {\n box-shadow: var(--tblr-btn-active-shadow), var(--tblr-btn-focus-box-shadow);\n}\n.btn-check:checked:focus-visible + .btn {\n box-shadow: var(--tblr-btn-active-shadow), var(--tblr-btn-focus-box-shadow);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n color: var(--tblr-btn-disabled-color);\n pointer-events: none;\n background-color: var(--tblr-btn-disabled-bg);\n border-color: var(--tblr-btn-disabled-border-color);\n opacity: var(--tblr-btn-disabled-opacity);\n box-shadow: none;\n}\n\n.btn-link {\n --tblr-btn-font-weight: 400;\n --tblr-btn-color: var(--tblr-link-color);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-link-hover-color);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-color: var(--tblr-link-hover-color);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-disabled-color: #4b5563;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-btn-box-shadow: 0 0 0 #000;\n --tblr-btn-focus-shadow-rgb: 43.35, 132.6, 215.9;\n text-decoration: none;\n}\n.btn-link:hover, .btn-link:focus-visible {\n text-decoration: underline;\n}\n.btn-link:focus-visible {\n color: var(--tblr-btn-color);\n}\n.btn-link:hover {\n color: var(--tblr-btn-hover-color);\n}\n\n.btn-lg, .btn-group-lg > .btn {\n --tblr-btn-padding-y: 0.6875rem;\n --tblr-btn-padding-x: 1.5rem;\n --tblr-btn-font-size: 1rem;\n --tblr-btn-border-radius: var(--tblr-border-radius-lg);\n}\n\n.btn-sm, .btn-group-sm > .btn {\n --tblr-btn-padding-y: 0.3125rem;\n --tblr-btn-padding-x: 0.5rem;\n --tblr-btn-font-size: 0.75rem;\n --tblr-btn-border-radius: var(--tblr-border-radius-sm);\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle:after {\n content: \"\";\n display: inline-block;\n vertical-align: 0.255em;\n width: 0.3em;\n height: 0.3em;\n border-bottom: 1px var(--tblr-border-style);\n border-inline-start: 1px var(--tblr-border-style);\n margin-inline-end: 0.1em;\n margin-inline-start: 0.255em;\n transform: rotate(-45deg);\n}\n\n.dropdown-menu {\n --tblr-dropdown-zindex: 1000;\n --tblr-dropdown-min-width: 11rem;\n --tblr-dropdown-padding-x: 0;\n --tblr-dropdown-padding-y: 0.25rem;\n --tblr-dropdown-spacer: 1px;\n --tblr-dropdown-font-size: 0.875rem;\n --tblr-dropdown-color: var(--tblr-body-color);\n --tblr-dropdown-bg: var(--tblr-bg-surface);\n --tblr-dropdown-border-color: var(--tblr-border-color-translucent);\n --tblr-dropdown-border-radius: var(--tblr-border-radius);\n --tblr-dropdown-border-width: var(--tblr-border-width);\n --tblr-dropdown-inner-border-radius: calc(var(--tblr-border-radius) - var(--tblr-border-width));\n --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent);\n --tblr-dropdown-divider-margin-y: var(--tblr-spacer-2);\n --tblr-dropdown-box-shadow: var(--tblr-shadow-dropdown);\n --tblr-dropdown-link-color: inherit;\n --tblr-dropdown-link-hover-color: inherit;\n --tblr-dropdown-link-hover-bg: color-mix(in srgb, var(--tblr-secondary) 8%, transparent);\n --tblr-dropdown-link-active-color: var(--tblr-primary);\n --tblr-dropdown-link-active-bg: var(--tblr-active-bg);\n --tblr-dropdown-link-disabled-color: var(--tblr-tertiary-color);\n --tblr-dropdown-item-padding-x: 0.75rem;\n --tblr-dropdown-item-padding-y: 0.5rem;\n --tblr-dropdown-header-color: #4b5563;\n --tblr-dropdown-header-padding-x: 0.75rem;\n --tblr-dropdown-header-padding-y: 0.25rem;\n position: absolute;\n z-index: var(--tblr-dropdown-zindex);\n display: none;\n min-width: var(--tblr-dropdown-min-width);\n padding: var(--tblr-dropdown-padding-y) var(--tblr-dropdown-padding-x);\n margin: 0;\n font-size: var(--tblr-dropdown-font-size);\n color: var(--tblr-dropdown-color);\n text-align: left;\n list-style: none;\n background-color: var(--tblr-dropdown-bg);\n background-clip: padding-box;\n border: var(--tblr-dropdown-border-width) solid var(--tblr-dropdown-border-color);\n border-radius: var(--tblr-dropdown-border-radius);\n}\n@supports (corner-shape: squircle) {\n .dropdown-menu {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-dropdown-border-radius) * 2.5) !important;\n }\n}\n.dropdown-menu {\n box-shadow: var(--tblr-dropdown-box-shadow);\n}\n.dropdown-menu[data-bs-popper], .dropdown-menu[data-tblr-popper] {\n top: 100%;\n left: 0;\n margin-top: var(--tblr-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n --bs-position: start;\n}\n.dropdown-menu-start[data-bs-popper], .dropdown-menu-start[data-tblr-popper] {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-end {\n --bs-position: end;\n}\n.dropdown-menu-end[data-bs-popper], .dropdown-menu-end[data-tblr-popper] {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-start {\n --bs-position: start;\n }\n .dropdown-menu-sm-start[data-bs-popper], .dropdown-menu-sm-start[data-tblr-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-end {\n --bs-position: end;\n }\n .dropdown-menu-sm-end[data-bs-popper], .dropdown-menu-sm-end[data-tblr-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-start {\n --bs-position: start;\n }\n .dropdown-menu-md-start[data-bs-popper], .dropdown-menu-md-start[data-tblr-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-end {\n --bs-position: end;\n }\n .dropdown-menu-md-end[data-bs-popper], .dropdown-menu-md-end[data-tblr-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-start {\n --bs-position: start;\n }\n .dropdown-menu-lg-start[data-bs-popper], .dropdown-menu-lg-start[data-tblr-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-end {\n --bs-position: end;\n }\n .dropdown-menu-lg-end[data-bs-popper], .dropdown-menu-lg-end[data-tblr-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-start {\n --bs-position: start;\n }\n .dropdown-menu-xl-start[data-bs-popper], .dropdown-menu-xl-start[data-tblr-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-end {\n --bs-position: end;\n }\n .dropdown-menu-xl-end[data-bs-popper], .dropdown-menu-xl-end[data-tblr-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-start {\n --bs-position: start;\n }\n .dropdown-menu-xxl-start[data-bs-popper], .dropdown-menu-xxl-start[data-tblr-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-end {\n --bs-position: end;\n }\n .dropdown-menu-xxl-end[data-bs-popper], .dropdown-menu-xxl-end[data-tblr-popper] {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu[data-bs-popper],\n.dropup .dropdown-menu[data-tblr-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--tblr-dropdown-spacer);\n}\n.dropup .dropdown-toggle:after {\n content: \"\";\n display: inline-block;\n vertical-align: 0.255em;\n width: 0.3em;\n height: 0.3em;\n border-bottom: 1px var(--tblr-border-style);\n border-inline-start: 1px var(--tblr-border-style);\n margin-inline-end: 0.1em;\n margin-inline-start: 0.255em;\n transform: rotate(135deg);\n}\n\n.dropend .dropdown-menu[data-bs-popper],\n.dropend .dropdown-menu[data-tblr-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: var(--tblr-dropdown-spacer);\n}\n.dropend .dropdown-toggle:after {\n content: \"\";\n display: inline-block;\n vertical-align: 0.255em;\n width: 0.3em;\n height: 0.3em;\n border-bottom: 1px var(--tblr-border-style);\n border-inline-start: 1px var(--tblr-border-style);\n margin-inline-end: 0.1em;\n margin-inline-start: 0.255em;\n transform: rotate(-135deg);\n}\n.dropend .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper],\n.dropstart .dropdown-menu[data-tblr-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: var(--tblr-dropdown-spacer);\n}\n.dropstart .dropdown-toggle:after {\n content: \"\";\n display: inline-block;\n vertical-align: 0.255em;\n width: 0.3em;\n height: 0.3em;\n border-bottom: 1px var(--tblr-border-style);\n border-inline-start: 1px var(--tblr-border-style);\n margin-inline-end: 0.1em;\n margin-inline-start: 0.255em;\n transform: rotate(45deg);\n}\n.dropstart .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: var(--tblr-dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--tblr-dropdown-divider-bg);\n opacity: 1;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);\n clear: both;\n font-weight: 400;\n color: var(--tblr-dropdown-link-color);\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n border-radius: var(--tblr-dropdown-item-border-radius, 0);\n}\n@supports (corner-shape: squircle) {\n .dropdown-item {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-dropdown-item-border-radius, 0) * 2.5) !important;\n }\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: var(--tblr-dropdown-link-hover-color);\n text-decoration: none;\n background-color: var(--tblr-dropdown-link-hover-bg);\n}\n.dropdown-item.active, .dropdown-item:active {\n color: var(--tblr-dropdown-link-active-color);\n text-decoration: none;\n background-color: var(--tblr-dropdown-link-active-bg);\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: var(--tblr-dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: var(--tblr-dropdown-header-padding-y) var(--tblr-dropdown-header-padding-x);\n margin-bottom: 0;\n font-size: 0.765625rem;\n color: var(--tblr-dropdown-header-color);\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: var(--tblr-dropdown-item-padding-y) var(--tblr-dropdown-item-padding-x);\n color: var(--tblr-dropdown-link-color);\n}\n\n.dropdown-menu-dark {\n --tblr-dropdown-color: #d1d5db;\n --tblr-dropdown-bg: #1f2937;\n --tblr-dropdown-border-color: var(--tblr-border-color-translucent);\n --tblr-dropdown-box-shadow: ;\n --tblr-dropdown-link-color: #d1d5db;\n --tblr-dropdown-link-hover-color: #ffffff;\n --tblr-dropdown-divider-bg: var(--tblr-border-color-translucent);\n --tblr-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n --tblr-dropdown-link-active-color: var(--tblr-primary);\n --tblr-dropdown-link-active-bg: var(--tblr-active-bg);\n --tblr-dropdown-link-disabled-color: #6b7280;\n --tblr-dropdown-header-color: #6b7280;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .btn-group {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n margin-left: calc(-1 * var(--tblr-border-width));\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn-group.show .dropdown-toggle {\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.show .dropdown-toggle.btn-link {\n box-shadow: none;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(-1 * var(--tblr-border-width));\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:nth-child(n+3),\n.btn-group-vertical > :not(.btn-check) + .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n --tblr-nav-link-padding-x: 0.75rem;\n --tblr-nav-link-padding-y: 0.5rem;\n --tblr-nav-link-font-weight: ;\n --tblr-nav-link-color: var(--tblr-gray-500);\n --tblr-nav-link-hover-color: var(--tblr-link-hover-color);\n --tblr-nav-link-disabled-color: var(--tblr-disabled-color);\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--tblr-nav-link-padding-y) var(--tblr-nav-link-padding-x);\n font-size: var(--tblr-nav-link-font-size);\n font-weight: var(--tblr-nav-link-font-weight);\n color: var(--tblr-nav-link-color);\n background: none;\n border: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover, .nav-link:focus {\n color: var(--tblr-nav-link-hover-color);\n text-decoration: none;\n}\n.nav-link:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.nav-link.disabled, .nav-link:disabled {\n color: var(--tblr-nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n --tblr-nav-tabs-border-width: var(--tblr-border-width);\n --tblr-nav-tabs-border-color: var(--tblr-border-color);\n --tblr-nav-tabs-border-radius: var(--tblr-border-radius);\n --tblr-nav-tabs-link-hover-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);\n --tblr-nav-tabs-link-active-color: var(--tblr-body-color);\n --tblr-nav-tabs-link-active-bg: var(--tblr-body-bg);\n --tblr-nav-tabs-link-active-border-color: var(--tblr-border-color) var(--tblr-border-color) var(--tblr-border-color);\n border-bottom: var(--tblr-nav-tabs-border-width) solid var(--tblr-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n margin-bottom: calc(-1 * var(--tblr-nav-tabs-border-width));\n border: var(--tblr-nav-tabs-border-width) solid transparent;\n border-top-left-radius: var(--tblr-nav-tabs-border-radius);\n border-top-right-radius: var(--tblr-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n isolation: isolate;\n border-color: var(--tblr-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: var(--tblr-nav-tabs-link-active-color);\n background-color: var(--tblr-nav-tabs-link-active-bg);\n border-color: var(--tblr-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n margin-top: calc(-1 * var(--tblr-nav-tabs-border-width));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills {\n --tblr-nav-pills-border-radius: var(--tblr-border-radius);\n --tblr-nav-pills-link-active-color: var(--tblr-primary);\n --tblr-nav-pills-link-active-bg: var(--tblr-active-bg);\n}\n.nav-pills .nav-link {\n border-radius: var(--tblr-nav-pills-border-radius);\n}\n@supports (corner-shape: squircle) {\n .nav-pills .nav-link {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-nav-pills-border-radius) * 2.5) !important;\n }\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: var(--tblr-nav-pills-link-active-color);\n background-color: var(--tblr-nav-pills-link-active-bg);\n}\n\n.nav-underline {\n --tblr-nav-underline-gap: 1rem;\n --tblr-nav-underline-border-width: 0.125rem;\n --tblr-nav-underline-link-active-color: var(--tblr-emphasis-color);\n gap: var(--tblr-nav-underline-gap);\n}\n.nav-underline .nav-link {\n padding-right: 0;\n padding-left: 0;\n border-bottom: var(--tblr-nav-underline-border-width) solid transparent;\n}\n.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-bottom-color: currentcolor;\n}\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--tblr-nav-underline-link-active-color);\n border-bottom-color: currentcolor;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n --tblr-navbar-padding-x: 0;\n --tblr-navbar-padding-y: 0.25rem;\n --tblr-navbar-color: var(--tblr-body-color);\n --tblr-navbar-hover-color: var(--tblr-body-color);\n --tblr-navbar-disabled-color: var(--tblr-disabled-color);\n --tblr-navbar-active-color: var(--tblr-body-color);\n --tblr-navbar-brand-padding-y: 0.5rem;\n --tblr-navbar-brand-margin-end: 1rem;\n --tblr-navbar-brand-font-size: 1.25rem;\n --tblr-navbar-brand-color: var(--tblr-body-color);\n --tblr-navbar-brand-hover-color: var(--tblr-body-color);\n --tblr-navbar-nav-link-padding-x: 0.75rem;\n --tblr-navbar-toggler-padding-y: 0.25rem;\n --tblr-navbar-toggler-padding-x: 0.75rem;\n --tblr-navbar-toggler-font-size: 1rem;\n --tblr-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='color-mix%28in srgb, var%28--tblr-body-color%29 75%, transparent%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n --tblr-navbar-toggler-border-color: color-mix(in srgb, var(--tblr-emphasis-color) 15%, transparent);\n --tblr-navbar-toggler-border-radius: var(--tblr-border-radius);\n --tblr-navbar-toggler-focus-width: 0;\n --tblr-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--tblr-navbar-padding-y) var(--tblr-navbar-padding-x);\n}\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: var(--tblr-navbar-brand-padding-y);\n padding-bottom: var(--tblr-navbar-brand-padding-y);\n margin-right: var(--tblr-navbar-brand-margin-end);\n font-size: var(--tblr-navbar-brand-font-size);\n color: var(--tblr-navbar-brand-color);\n white-space: nowrap;\n}\n.navbar-brand:hover, .navbar-brand:focus {\n color: var(--tblr-navbar-brand-hover-color);\n text-decoration: none;\n}\n\n.navbar-nav {\n --tblr-nav-link-padding-x: 0;\n --tblr-nav-link-padding-y: 0.5rem;\n --tblr-nav-link-font-weight: ;\n --tblr-nav-link-color: var(--tblr-navbar-color);\n --tblr-nav-link-hover-color: var(--tblr-navbar-hover-color);\n --tblr-nav-link-disabled-color: var(--tblr-navbar-disabled-color);\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--tblr-navbar-active-color);\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--tblr-navbar-color);\n}\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n color: var(--tblr-navbar-active-color);\n}\n\n.navbar-collapse {\n flex-grow: 1;\n flex-basis: 100%;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: var(--tblr-navbar-toggler-padding-y) var(--tblr-navbar-toggler-padding-x);\n font-size: var(--tblr-navbar-toggler-font-size);\n line-height: 1;\n color: var(--tblr-navbar-color);\n background-color: transparent;\n border: var(--tblr-border-width) solid var(--tblr-navbar-toggler-border-color);\n border-radius: var(--tblr-navbar-toggler-border-radius);\n}\n@supports (corner-shape: squircle) {\n .navbar-toggler {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-navbar-toggler-border-radius) * 2.5) !important;\n }\n}\n.navbar-toggler {\n transition: var(--tblr-navbar-toggler-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--tblr-navbar-toggler-focus-width);\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--tblr-navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--tblr-scroll-height, 75vh);\n overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: var(--tblr-navbar-nav-link-padding-x);\n padding-left: var(--tblr-navbar-nav-link-padding-x);\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: var(--tblr-navbar-nav-link-padding-x);\n padding-left: var(--tblr-navbar-nav-link-padding-x);\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: var(--tblr-navbar-nav-link-padding-x);\n padding-left: var(--tblr-navbar-nav-link-padding-x);\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: var(--tblr-navbar-nav-link-padding-x);\n padding-left: var(--tblr-navbar-nav-link-padding-x);\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: var(--tblr-navbar-nav-link-padding-x);\n padding-left: var(--tblr-navbar-nav-link-padding-x);\n }\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xxl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: var(--tblr-navbar-nav-link-padding-x);\n padding-left: var(--tblr-navbar-nav-link-padding-x);\n}\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n.navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n box-shadow: none;\n transition: none;\n}\n.navbar-expand .offcanvas .offcanvas-header {\n display: none;\n}\n.navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n.navbar-dark,\n.navbar[data-bs-theme=dark],\nbody[data-bs-theme=dark] .navbar[data-bs-theme=light],\nbody[data-theme=dark] .navbar[data-theme=light],\n.navbar[data-theme=dark] {\n --tblr-navbar-color: rgba(255, 255, 255, 0.7);\n --tblr-navbar-hover-color: rgba(255, 255, 255, 0.75);\n --tblr-navbar-disabled-color: var(--tblr-disabled-color);\n --tblr-navbar-active-color: #ffffff;\n --tblr-navbar-brand-color: #ffffff;\n --tblr-navbar-brand-hover-color: #ffffff;\n --tblr-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n --tblr-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n[data-bs-theme=dark] .navbar-toggler-icon, body[data-bs-theme=dark] [data-bs-theme=light] .navbar-toggler-icon,\nbody[data-theme=dark] [data-theme=light] .navbar-toggler-icon,\n[data-theme=dark] .navbar-toggler-icon {\n --tblr-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.7%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.card {\n --tblr-card-spacer-y: 1.25rem;\n --tblr-card-spacer-x: 1.25rem;\n --tblr-card-title-spacer-y: 1.25rem;\n --tblr-card-title-color: ;\n --tblr-card-subtitle-color: ;\n --tblr-card-border-width: var(--tblr-border-width);\n --tblr-card-border-color: var(--tblr-border-color-translucent);\n --tblr-card-border-radius: var(--tblr-border-radius-lg);\n --tblr-card-box-shadow: var(--tblr-shadow-card);\n --tblr-card-inner-border-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));\n --tblr-card-cap-padding-y: 1.25rem;\n --tblr-card-cap-padding-x: 1.25rem;\n --tblr-card-cap-bg: var(--tblr-bg-surface-tertiary);\n --tblr-card-cap-color: inherit;\n --tblr-card-height: ;\n --tblr-card-color: inherit;\n --tblr-card-bg: var(--tblr-bg-surface);\n --tblr-card-img-overlay-padding: 1rem;\n --tblr-card-group-margin: 1.5rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--tblr-card-height);\n color: var(--tblr-body-color);\n word-wrap: break-word;\n background-color: var(--tblr-card-bg);\n background-clip: border-box;\n border: var(--tblr-card-border-width) solid var(--tblr-card-border-color);\n border-radius: var(--tblr-card-border-radius);\n}\n@supports (corner-shape: squircle) {\n .card {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-card-border-radius) * 2.5) !important;\n }\n}\n.card {\n box-shadow: var(--tblr-card-box-shadow);\n}\n.card > hr, .card > .hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: var(--tblr-card-inner-border-radius);\n border-top-right-radius: var(--tblr-card-inner-border-radius);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: var(--tblr-card-inner-border-radius);\n border-bottom-left-radius: var(--tblr-card-inner-border-radius);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: var(--tblr-card-spacer-y) var(--tblr-card-spacer-x);\n color: var(--tblr-card-color);\n}\n\n.card-title {\n margin-bottom: var(--tblr-card-title-spacer-y);\n color: var(--tblr-card-title-color);\n}\n\n.card-subtitle {\n margin-top: calc(-0.5 * var(--tblr-card-title-spacer-y));\n margin-bottom: 0;\n color: var(--tblr-card-subtitle-color);\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n.card-link + .card-link {\n margin-left: var(--tblr-card-spacer-x);\n}\n\n.card-header {\n padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);\n margin-bottom: 0;\n color: var(--tblr-card-cap-color);\n background-color: var(--tblr-card-cap-bg);\n border-bottom: var(--tblr-card-border-width) solid var(--tblr-card-border-color);\n}\n.card-header:first-child {\n border-radius: var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0;\n}\n@supports (corner-shape: squircle) {\n .card-header:first-child {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) 0 0 * 2.5) !important;\n }\n}\n\n.card-footer {\n padding: var(--tblr-card-cap-padding-y) var(--tblr-card-cap-padding-x);\n color: var(--tblr-card-cap-color);\n background-color: var(--tblr-card-cap-bg);\n border-top: var(--tblr-card-border-width) solid var(--tblr-card-border-color);\n}\n.card-footer:last-child {\n border-radius: 0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius);\n}\n@supports (corner-shape: squircle) {\n .card-footer:last-child {\n corner-shape: squircle;\n border-radius: calc(0 0 var(--tblr-card-inner-border-radius) var(--tblr-card-inner-border-radius) * 2.5) !important;\n }\n}\n\n.card-header-tabs {\n margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x));\n margin-bottom: calc(-1 * var(--tblr-card-cap-padding-y));\n margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x));\n border-bottom: 0;\n}\n.card-header-tabs .nav-link.active {\n background-color: var(--tblr-card-bg);\n border-bottom-color: var(--tblr-card-bg);\n}\n\n.card-header-pills {\n margin-right: calc(-0.5 * var(--tblr-card-cap-padding-x));\n margin-left: calc(-0.5 * var(--tblr-card-cap-padding-x));\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--tblr-card-img-overlay-padding);\n border-radius: var(--tblr-card-inner-border-radius);\n}\n@supports (corner-shape: squircle) {\n .card-img-overlay {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-card-inner-border-radius) * 2.5) !important;\n }\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: var(--tblr-card-inner-border-radius);\n border-top-right-radius: var(--tblr-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: var(--tblr-card-inner-border-radius);\n border-bottom-left-radius: var(--tblr-card-inner-border-radius);\n}\n\n.card-group > .card {\n margin-bottom: var(--tblr-card-group-margin);\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-top,\n .card-group > .card:not(:last-child) > .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) > .card-img-bottom,\n .card-group > .card:not(:last-child) > .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-top,\n .card-group > .card:not(:first-child) > .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) > .card-img-bottom,\n .card-group > .card:not(:first-child) > .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.pagination {\n --tblr-pagination-padding-x: 0.25rem;\n --tblr-pagination-padding-y: calc(0.25rem + 1px);\n --tblr-pagination-font-size: 0.875rem;\n --tblr-pagination-color: var(--tblr-body-color);\n --tblr-pagination-bg: transparent;\n --tblr-pagination-border-width: 1px;\n --tblr-pagination-border-color: transparent;\n --tblr-pagination-border-radius: var(--tblr-border-radius);\n --tblr-pagination-hover-color: var(--tblr-link-hover-color);\n --tblr-pagination-hover-bg: var(--tblr-active-bg);\n --tblr-pagination-hover-border-color: var(--tblr-pagination-border-color);\n --tblr-pagination-focus-color: var(--tblr-link-hover-color);\n --tblr-pagination-focus-bg: var(--tblr-secondary-bg);\n --tblr-pagination-focus-box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n --tblr-pagination-active-color: #ffffff;\n --tblr-pagination-active-bg: var(--tblr-primary);\n --tblr-pagination-active-border-color: var(--tblr-primary);\n --tblr-pagination-disabled-color: var(--tblr-disabled-color);\n --tblr-pagination-disabled-bg: transparent;\n --tblr-pagination-disabled-border-color: var(--tblr-pagination-border-color);\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--tblr-pagination-padding-y) var(--tblr-pagination-padding-x);\n font-size: var(--tblr-pagination-font-size);\n color: var(--tblr-pagination-color);\n background-color: var(--tblr-pagination-bg);\n border: var(--tblr-pagination-border-width) solid var(--tblr-pagination-border-color);\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n.page-link:hover {\n z-index: 2;\n color: var(--tblr-pagination-hover-color);\n text-decoration: none;\n background-color: var(--tblr-pagination-hover-bg);\n border-color: var(--tblr-pagination-hover-border-color);\n}\n.page-link:focus {\n z-index: 3;\n color: var(--tblr-pagination-focus-color);\n background-color: var(--tblr-pagination-focus-bg);\n outline: 0;\n box-shadow: var(--tblr-pagination-focus-box-shadow);\n}\n.page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--tblr-pagination-active-color);\n background-color: var(--tblr-pagination-active-bg);\n border-color: var(--tblr-pagination-active-border-color);\n}\n.page-link.disabled, .disabled > .page-link {\n color: var(--tblr-pagination-disabled-color);\n pointer-events: none;\n background-color: var(--tblr-pagination-disabled-bg);\n border-color: var(--tblr-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: calc(-1 * 1px);\n}\n.page-item:first-child .page-link {\n border-top-left-radius: var(--tblr-pagination-border-radius);\n border-bottom-left-radius: var(--tblr-pagination-border-radius);\n}\n.page-item:last-child .page-link {\n border-top-right-radius: var(--tblr-pagination-border-radius);\n border-bottom-right-radius: var(--tblr-pagination-border-radius);\n}\n\n.pagination-lg {\n --tblr-pagination-padding-x: 1.5rem;\n --tblr-pagination-padding-y: 0.75rem;\n --tblr-pagination-font-size: 1.09375rem;\n --tblr-pagination-border-radius: var(--tblr-border-radius-lg);\n}\n\n.pagination-sm {\n --tblr-pagination-padding-x: 0.5rem;\n --tblr-pagination-padding-y: 0.25rem;\n --tblr-pagination-font-size: 0.765625rem;\n --tblr-pagination-border-radius: var(--tblr-border-radius-sm);\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: var(--tblr-progress-height);\n }\n}\n.progress,\n.progress-stacked {\n --tblr-progress-height: 0.5rem;\n --tblr-progress-font-size: 0.65625rem;\n --tblr-progress-bg: var(--tblr-border-color);\n --tblr-progress-border-radius: var(--tblr-border-radius);\n --tblr-progress-box-shadow: var(--tblr-box-shadow-inset);\n --tblr-progress-bar-color: #ffffff;\n --tblr-progress-bar-bg: var(--tblr-primary);\n --tblr-progress-bar-transition: width 0.6s ease;\n display: flex;\n height: var(--tblr-progress-height);\n overflow: hidden;\n font-size: var(--tblr-progress-font-size);\n background-color: var(--tblr-progress-bg);\n border-radius: var(--tblr-progress-border-radius);\n}\n@supports (corner-shape: squircle) {\n .progress,\n .progress-stacked {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-progress-border-radius) * 2.5) !important;\n }\n}\n.progress,\n.progress-stacked {\n box-shadow: var(--tblr-progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--tblr-progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--tblr-progress-bar-bg);\n transition: var(--tblr-progress-bar-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: var(--tblr-progress-height) var(--tblr-progress-height);\n}\n\n.progress-stacked > .progress {\n overflow: visible;\n}\n\n.progress-stacked > .progress > .progress-bar {\n width: 100%;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n --tblr-list-group-color: var(--tblr-body-color);\n --tblr-list-group-bg: inherit;\n --tblr-list-group-border-color: var(--tblr-border-color);\n --tblr-list-group-border-width: var(--tblr-border-width);\n --tblr-list-group-border-radius: var(--tblr-border-radius);\n --tblr-list-group-item-padding-x: 1.25rem;\n --tblr-list-group-item-padding-y: 1.25rem;\n --tblr-list-group-action-color: inherit;\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: color-mix(in srgb, var(--tblr-secondary) 8%, transparent);\n --tblr-list-group-action-active-color: var(--tblr-body-color);\n --tblr-list-group-action-active-bg: var(--tblr-secondary-bg);\n --tblr-list-group-disabled-color: var(--tblr-secondary-color);\n --tblr-list-group-disabled-bg: inherit;\n --tblr-list-group-active-color: inherit;\n --tblr-list-group-active-bg: var(--tblr-active-bg);\n --tblr-list-group-active-border-color: var(--tblr-border-color);\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: var(--tblr-list-group-border-radius);\n}\n@supports (corner-shape: squircle) {\n .list-group {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-list-group-border-radius) * 2.5) !important;\n }\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n}\n.list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--tblr-list-group-item-padding-y) var(--tblr-list-group-item-padding-x);\n color: var(--tblr-list-group-color);\n background-color: var(--tblr-list-group-bg);\n border: var(--tblr-list-group-border-width) solid var(--tblr-list-group-border-color);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: var(--tblr-list-group-disabled-color);\n pointer-events: none;\n background-color: var(--tblr-list-group-disabled-bg);\n}\n.list-group-item.active {\n z-index: 2;\n color: var(--tblr-list-group-active-color);\n background-color: var(--tblr-list-group-active-bg);\n border-color: var(--tblr-list-group-active-border-color);\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--tblr-list-group-border-width));\n border-top-width: var(--tblr-list-group-border-width);\n}\n\n.list-group-item-action {\n width: 100%;\n color: var(--tblr-list-group-action-color);\n text-align: inherit;\n}\n.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n z-index: 1;\n color: var(--tblr-list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--tblr-list-group-action-hover-bg);\n}\n.list-group-item-action:not(.active):active {\n color: var(--tblr-list-group-action-active-color);\n background-color: var(--tblr-list-group-action-active-bg);\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--tblr-list-group-border-radius);\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--tblr-list-group-border-radius);\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: var(--tblr-list-group-border-width);\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--tblr-list-group-border-width));\n border-left-width: var(--tblr-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--tblr-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--tblr-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: var(--tblr-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--tblr-list-group-border-width));\n border-left-width: var(--tblr-list-group-border-width);\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--tblr-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--tblr-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: var(--tblr-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--tblr-list-group-border-width));\n border-left-width: var(--tblr-list-group-border-width);\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--tblr-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--tblr-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: var(--tblr-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--tblr-list-group-border-width));\n border-left-width: var(--tblr-list-group-border-width);\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--tblr-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--tblr-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: var(--tblr-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--tblr-list-group-border-width));\n border-left-width: var(--tblr-list-group-border-width);\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--tblr-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--tblr-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: var(--tblr-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--tblr-list-group-border-width));\n border-left-width: var(--tblr-list-group-border-width);\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 var(--tblr-list-group-border-width);\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n --tblr-list-group-color: var(--tblr-primary-text-emphasis);\n --tblr-list-group-bg: var(--tblr-primary-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-primary-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-primary-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-primary-border-subtle);\n --tblr-list-group-active-color: var(--tblr-primary-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-primary-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-primary-text-emphasis);\n}\n\n.list-group-item-secondary {\n --tblr-list-group-color: var(--tblr-secondary-text-emphasis);\n --tblr-list-group-bg: var(--tblr-secondary-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-secondary-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-secondary-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-secondary-border-subtle);\n --tblr-list-group-active-color: var(--tblr-secondary-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-secondary-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-secondary-text-emphasis);\n}\n\n.list-group-item-success {\n --tblr-list-group-color: var(--tblr-success-text-emphasis);\n --tblr-list-group-bg: var(--tblr-success-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-success-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-success-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-success-border-subtle);\n --tblr-list-group-active-color: var(--tblr-success-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-success-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-success-text-emphasis);\n}\n\n.list-group-item-info {\n --tblr-list-group-color: var(--tblr-info-text-emphasis);\n --tblr-list-group-bg: var(--tblr-info-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-info-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-info-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-info-border-subtle);\n --tblr-list-group-active-color: var(--tblr-info-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-info-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-info-text-emphasis);\n}\n\n.list-group-item-warning {\n --tblr-list-group-color: var(--tblr-warning-text-emphasis);\n --tblr-list-group-bg: var(--tblr-warning-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-warning-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-warning-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-warning-border-subtle);\n --tblr-list-group-active-color: var(--tblr-warning-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-warning-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-warning-text-emphasis);\n}\n\n.list-group-item-danger {\n --tblr-list-group-color: var(--tblr-danger-text-emphasis);\n --tblr-list-group-bg: var(--tblr-danger-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-danger-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-danger-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-danger-border-subtle);\n --tblr-list-group-active-color: var(--tblr-danger-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-danger-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-danger-text-emphasis);\n}\n\n.list-group-item-light {\n --tblr-list-group-color: var(--tblr-light-text-emphasis);\n --tblr-list-group-bg: var(--tblr-light-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-light-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-light-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-light-border-subtle);\n --tblr-list-group-active-color: var(--tblr-light-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-light-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-light-text-emphasis);\n}\n\n.list-group-item-dark {\n --tblr-list-group-color: var(--tblr-dark-text-emphasis);\n --tblr-list-group-bg: var(--tblr-dark-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-dark-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-dark-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-dark-border-subtle);\n --tblr-list-group-active-color: var(--tblr-dark-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-dark-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-dark-text-emphasis);\n}\n\n.list-group-item-muted {\n --tblr-list-group-color: var(--tblr-muted-text-emphasis);\n --tblr-list-group-bg: var(--tblr-muted-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-muted-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-muted-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-muted-border-subtle);\n --tblr-list-group-active-color: var(--tblr-muted-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-muted-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-muted-text-emphasis);\n}\n\n.list-group-item-blue {\n --tblr-list-group-color: var(--tblr-blue-text-emphasis);\n --tblr-list-group-bg: var(--tblr-blue-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-blue-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-blue-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-blue-border-subtle);\n --tblr-list-group-active-color: var(--tblr-blue-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-blue-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-blue-text-emphasis);\n}\n\n.list-group-item-azure {\n --tblr-list-group-color: var(--tblr-azure-text-emphasis);\n --tblr-list-group-bg: var(--tblr-azure-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-azure-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-azure-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-azure-border-subtle);\n --tblr-list-group-active-color: var(--tblr-azure-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-azure-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-azure-text-emphasis);\n}\n\n.list-group-item-indigo {\n --tblr-list-group-color: var(--tblr-indigo-text-emphasis);\n --tblr-list-group-bg: var(--tblr-indigo-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-indigo-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-indigo-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-indigo-border-subtle);\n --tblr-list-group-active-color: var(--tblr-indigo-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-indigo-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-indigo-text-emphasis);\n}\n\n.list-group-item-purple {\n --tblr-list-group-color: var(--tblr-purple-text-emphasis);\n --tblr-list-group-bg: var(--tblr-purple-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-purple-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-purple-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-purple-border-subtle);\n --tblr-list-group-active-color: var(--tblr-purple-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-purple-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-purple-text-emphasis);\n}\n\n.list-group-item-pink {\n --tblr-list-group-color: var(--tblr-pink-text-emphasis);\n --tblr-list-group-bg: var(--tblr-pink-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-pink-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-pink-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-pink-border-subtle);\n --tblr-list-group-active-color: var(--tblr-pink-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-pink-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-pink-text-emphasis);\n}\n\n.list-group-item-red {\n --tblr-list-group-color: var(--tblr-red-text-emphasis);\n --tblr-list-group-bg: var(--tblr-red-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-red-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-red-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-red-border-subtle);\n --tblr-list-group-active-color: var(--tblr-red-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-red-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-red-text-emphasis);\n}\n\n.list-group-item-orange {\n --tblr-list-group-color: var(--tblr-orange-text-emphasis);\n --tblr-list-group-bg: var(--tblr-orange-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-orange-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-orange-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-orange-border-subtle);\n --tblr-list-group-active-color: var(--tblr-orange-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-orange-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-orange-text-emphasis);\n}\n\n.list-group-item-yellow {\n --tblr-list-group-color: var(--tblr-yellow-text-emphasis);\n --tblr-list-group-bg: var(--tblr-yellow-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-yellow-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-yellow-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-yellow-border-subtle);\n --tblr-list-group-active-color: var(--tblr-yellow-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-yellow-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-yellow-text-emphasis);\n}\n\n.list-group-item-lime {\n --tblr-list-group-color: var(--tblr-lime-text-emphasis);\n --tblr-list-group-bg: var(--tblr-lime-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-lime-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-lime-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-lime-border-subtle);\n --tblr-list-group-active-color: var(--tblr-lime-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-lime-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-lime-text-emphasis);\n}\n\n.list-group-item-green {\n --tblr-list-group-color: var(--tblr-green-text-emphasis);\n --tblr-list-group-bg: var(--tblr-green-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-green-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-green-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-green-border-subtle);\n --tblr-list-group-active-color: var(--tblr-green-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-green-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-green-text-emphasis);\n}\n\n.list-group-item-teal {\n --tblr-list-group-color: var(--tblr-teal-text-emphasis);\n --tblr-list-group-bg: var(--tblr-teal-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-teal-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-teal-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-teal-border-subtle);\n --tblr-list-group-active-color: var(--tblr-teal-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-teal-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-teal-text-emphasis);\n}\n\n.list-group-item-cyan {\n --tblr-list-group-color: var(--tblr-cyan-text-emphasis);\n --tblr-list-group-bg: var(--tblr-cyan-bg-subtle);\n --tblr-list-group-border-color: var(--tblr-cyan-border-subtle);\n --tblr-list-group-action-hover-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-hover-bg: var(--tblr-cyan-border-subtle);\n --tblr-list-group-action-active-color: var(--tblr-emphasis-color);\n --tblr-list-group-action-active-bg: var(--tblr-cyan-border-subtle);\n --tblr-list-group-active-color: var(--tblr-cyan-bg-subtle);\n --tblr-list-group-active-bg: var(--tblr-cyan-text-emphasis);\n --tblr-list-group-active-border-color: var(--tblr-cyan-text-emphasis);\n}\n\n.toast {\n --tblr-toast-zindex: 1090;\n --tblr-toast-padding-x: 0.75rem;\n --tblr-toast-padding-y: 0.5rem;\n --tblr-toast-spacing: calc(var(--tblr-page-padding) * 2);\n --tblr-toast-max-width: 350px;\n --tblr-toast-font-size: 0.875rem;\n --tblr-toast-color: ;\n --tblr-toast-bg: var(--tblr-bg-surface);\n --tblr-toast-border-width: var(--tblr-border-width);\n --tblr-toast-border-color: var(--tblr-border-color);\n --tblr-toast-border-radius: var(--tblr-border-radius);\n --tblr-toast-box-shadow: var(--tblr-box-shadow);\n --tblr-toast-header-color: var(--tblr-gray-500);\n --tblr-toast-header-bg: color-mix(in srgb, var(--tblr-body-bg) 85%, transparent);\n --tblr-toast-header-border-color: var(--tblr-border-color);\n width: var(--tblr-toast-max-width);\n max-width: 100%;\n font-size: var(--tblr-toast-font-size);\n color: var(--tblr-toast-color);\n pointer-events: auto;\n background-color: var(--tblr-toast-bg);\n background-clip: padding-box;\n border: var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);\n box-shadow: var(--tblr-toast-box-shadow);\n border-radius: var(--tblr-toast-border-radius);\n}\n@supports (corner-shape: squircle) {\n .toast {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-toast-border-radius) * 2.5) !important;\n }\n}\n.toast.showing {\n opacity: 0;\n}\n.toast:not(.show) {\n display: none;\n}\n\n.toast-container {\n --tblr-toast-zindex: 1090;\n position: absolute;\n z-index: var(--tblr-toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n}\n.toast-container > :not(:last-child) {\n margin-bottom: var(--tblr-toast-spacing);\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);\n color: var(--tblr-toast-header-color);\n background-color: var(--tblr-toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);\n border-top-left-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));\n border-top-right-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));\n}\n.toast-header .btn-close {\n margin-right: calc(-0.5 * var(--tblr-toast-padding-x));\n margin-left: var(--tblr-toast-padding-x);\n}\n\n.toast-body {\n padding: var(--tblr-toast-padding-x);\n word-wrap: break-word;\n}\n\n.modal {\n --tblr-modal-zindex: 1055;\n --tblr-modal-width: 540px;\n --tblr-modal-padding: 1.5rem;\n --tblr-modal-margin: 0.5rem;\n --tblr-modal-color: var(--tblr-body-color);\n --tblr-modal-bg: var(--tblr-bg-surface);\n --tblr-modal-border-color: transparent;\n --tblr-modal-border-width: var(--tblr-border-width);\n --tblr-modal-border-radius: var(--tblr-border-radius-lg);\n --tblr-modal-box-shadow: var(--tblr-box-shadow-sm);\n --tblr-modal-inner-border-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));\n --tblr-modal-header-padding-x: 1.5rem;\n --tblr-modal-header-padding-y: 1.5rem;\n --tblr-modal-header-padding: 1.5rem;\n --tblr-modal-header-border-color: var(--tblr-border-color);\n --tblr-modal-header-border-width: var(--tblr-border-width);\n --tblr-modal-title-line-height: 1.4285714286;\n --tblr-modal-footer-gap: 0.75rem;\n --tblr-modal-footer-bg: var(--tblr-bg-surface-tertiary);\n --tblr-modal-footer-border-color: var(--tblr-border-color);\n --tblr-modal-footer-border-width: var(--tblr-border-width);\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--tblr-modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--tblr-modal-margin);\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transform: translate(0, -1rem);\n transition: transform 0.3s ease-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--tblr-modal-margin) * 2);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--tblr-modal-margin) * 2);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n color: var(--tblr-modal-color);\n pointer-events: auto;\n background-color: var(--tblr-modal-bg);\n background-clip: padding-box;\n border: var(--tblr-modal-border-width) solid var(--tblr-modal-border-color);\n border-radius: var(--tblr-modal-border-radius);\n}\n@supports (corner-shape: squircle) {\n .modal-content {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-modal-border-radius) * 2.5) !important;\n }\n}\n.modal-content {\n box-shadow: var(--tblr-modal-box-shadow);\n outline: 0;\n}\n\n.modal-backdrop {\n --tblr-backdrop-zindex: 1050;\n --tblr-backdrop-bg: light-dark(var(--tblr-gray-800), var(--tblr-black));\n --tblr-backdrop-opacity: 0.32;\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--tblr-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--tblr-backdrop-bg);\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: var(--tblr-backdrop-opacity);\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--tblr-modal-header-padding);\n border-bottom: var(--tblr-modal-header-border-width) solid var(--tblr-modal-header-border-color);\n border-top-left-radius: var(--tblr-modal-inner-border-radius);\n border-top-right-radius: var(--tblr-modal-inner-border-radius);\n}\n.modal-header .btn-close {\n padding: calc(var(--tblr-modal-header-padding-y) * 0.5) calc(var(--tblr-modal-header-padding-x) * 0.5);\n margin-top: calc(-0.5 * var(--tblr-modal-header-padding-y));\n margin-right: calc(-0.5 * var(--tblr-modal-header-padding-x));\n margin-bottom: calc(-0.5 * var(--tblr-modal-header-padding-y));\n margin-left: auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: var(--tblr-modal-title-line-height);\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--tblr-modal-padding);\n}\n\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: calc(var(--tblr-modal-padding) - var(--tblr-modal-footer-gap) * 0.5);\n background-color: var(--tblr-modal-footer-bg);\n border-top: var(--tblr-modal-footer-border-width) solid var(--tblr-modal-footer-border-color);\n border-bottom-right-radius: var(--tblr-modal-inner-border-radius);\n border-bottom-left-radius: var(--tblr-modal-inner-border-radius);\n}\n.modal-footer > * {\n margin: calc(var(--tblr-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n .modal {\n --tblr-modal-margin: 1.75rem;\n --tblr-modal-box-shadow: var(--tblr-box-shadow);\n }\n .modal-dialog {\n max-width: var(--tblr-modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n .modal-sm {\n --tblr-modal-width: 380px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n --tblr-modal-width: 720px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n --tblr-modal-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header,\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header,\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header,\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header,\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header,\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n}\n.tooltip {\n --tblr-tooltip-zindex: 1080;\n --tblr-tooltip-max-width: 200px;\n --tblr-tooltip-padding-x: var(--tblr-spacer-2);\n --tblr-tooltip-padding-y: var(--tblr-spacer-1);\n --tblr-tooltip-margin: ;\n --tblr-tooltip-font-size: 0.765625rem;\n --tblr-tooltip-color: var(--tblr-text-inverted);\n --tblr-tooltip-bg: var(--tblr-bg-surface-inverted);\n --tblr-tooltip-border-radius: var(--tblr-border-radius);\n --tblr-tooltip-opacity: 0.9;\n --tblr-tooltip-arrow-width: 0.8rem;\n --tblr-tooltip-arrow-height: 0.4rem;\n z-index: var(--tblr-tooltip-zindex);\n display: block;\n margin: var(--tblr-tooltip-margin);\n font-family: var(--tblr-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.4285714286;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--tblr-tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: var(--tblr-tooltip-opacity);\n}\n.tooltip .tooltip-arrow {\n display: block;\n width: var(--tblr-tooltip-arrow-width);\n height: var(--tblr-tooltip-arrow-height);\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--tblr-tooltip-arrow-height));\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0;\n border-top-color: var(--tblr-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--tblr-tooltip-arrow-height));\n width: var(--tblr-tooltip-arrow-height);\n height: var(--tblr-tooltip-arrow-width);\n}\n.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height) calc(var(--tblr-tooltip-arrow-width) * 0.5) 0;\n border-right-color: var(--tblr-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--tblr-tooltip-arrow-height));\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height);\n border-bottom-color: var(--tblr-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--tblr-tooltip-arrow-height));\n width: var(--tblr-tooltip-arrow-height);\n height: var(--tblr-tooltip-arrow-width);\n}\n.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--tblr-tooltip-arrow-width) * 0.5) 0 calc(var(--tblr-tooltip-arrow-width) * 0.5) var(--tblr-tooltip-arrow-height);\n border-left-color: var(--tblr-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.tooltip-inner {\n max-width: var(--tblr-tooltip-max-width);\n padding: var(--tblr-tooltip-padding-y) var(--tblr-tooltip-padding-x);\n color: var(--tblr-tooltip-color);\n text-align: center;\n background-color: var(--tblr-tooltip-bg);\n border-radius: var(--tblr-tooltip-border-radius);\n}\n@supports (corner-shape: squircle) {\n .tooltip-inner {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-tooltip-border-radius) * 2.5) !important;\n }\n}\n\n.popover {\n --tblr-popover-zindex: 1070;\n --tblr-popover-max-width: 276px;\n --tblr-popover-font-size: 0.765625rem;\n --tblr-popover-bg: var(--tblr-bg-surface);\n --tblr-popover-border-width: var(--tblr-border-width);\n --tblr-popover-border-color: var(--tblr-border-color);\n --tblr-popover-border-radius: var(--tblr-border-radius-lg);\n --tblr-popover-inner-border-radius: calc(var(--tblr-border-radius-lg) - var(--tblr-border-width));\n --tblr-popover-box-shadow: var(--tblr-shadow-lg);\n --tblr-popover-header-padding-x: 1rem;\n --tblr-popover-header-padding-y: 0.5rem;\n --tblr-popover-header-font-size: 0.875rem;\n --tblr-popover-header-color: light-dark(var(--tblr-gray-900), var(--tblr-white));\n --tblr-popover-header-bg: transparent;\n --tblr-popover-body-padding-x: 0.5rem;\n --tblr-popover-body-padding-y: 0.5rem;\n --tblr-popover-body-color: inherit;\n --tblr-popover-arrow-width: 1rem;\n --tblr-popover-arrow-height: 0.5rem;\n --tblr-popover-arrow-border: var(--tblr-popover-border-color);\n z-index: var(--tblr-popover-zindex);\n display: block;\n max-width: var(--tblr-popover-max-width);\n font-family: var(--tblr-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.4285714286;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--tblr-popover-font-size);\n word-wrap: break-word;\n background-color: var(--tblr-popover-bg);\n background-clip: padding-box;\n border: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);\n border-radius: var(--tblr-popover-border-radius);\n}\n@supports (corner-shape: squircle) {\n .popover {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-popover-border-radius) * 2.5) !important;\n }\n}\n.popover {\n box-shadow: var(--tblr-popover-box-shadow);\n}\n.popover .popover-arrow {\n display: block;\n width: var(--tblr-popover-arrow-width);\n height: var(--tblr-popover-arrow-height);\n}\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n border-width: var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-top-color: var(--tblr-popover-arrow-border);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n bottom: var(--tblr-popover-border-width);\n border-top-color: var(--tblr-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));\n width: var(--tblr-popover-arrow-height);\n height: var(--tblr-popover-arrow-width);\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height) calc(var(--tblr-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n left: 0;\n border-right-color: var(--tblr-popover-arrow-border);\n}\n.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n left: var(--tblr-popover-border-width);\n border-right-color: var(--tblr-popover-bg);\n}\n\n/* rtl:end:ignore */\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-bottom-color: var(--tblr-popover-arrow-border);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n top: var(--tblr-popover-border-width);\n border-bottom-color: var(--tblr-popover-bg);\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--tblr-popover-arrow-width);\n margin-left: calc(-0.5 * var(--tblr-popover-arrow-width));\n content: \"\";\n border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--tblr-popover-arrow-height)) - var(--tblr-popover-border-width));\n width: var(--tblr-popover-arrow-height);\n height: var(--tblr-popover-arrow-width);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--tblr-popover-arrow-width) * 0.5) 0 calc(var(--tblr-popover-arrow-width) * 0.5) var(--tblr-popover-arrow-height);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n right: 0;\n border-left-color: var(--tblr-popover-arrow-border);\n}\n.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n right: var(--tblr-popover-border-width);\n border-left-color: var(--tblr-popover-bg);\n}\n\n/* rtl:end:ignore */\n.popover-header {\n padding: var(--tblr-popover-header-padding-y) var(--tblr-popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--tblr-popover-header-font-size);\n color: var(--tblr-popover-header-color);\n background-color: var(--tblr-popover-header-bg);\n border-bottom: var(--tblr-popover-border-width) solid var(--tblr-popover-border-color);\n border-top-left-radius: var(--tblr-popover-inner-border-radius);\n border-top-right-radius: var(--tblr-popover-inner-border-radius);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: var(--tblr-popover-body-padding-y) var(--tblr-popover-body-padding-x);\n color: var(--tblr-popover-body-color);\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n padding: 0;\n color: #ffffff;\n text-align: center;\n background: none;\n filter: var(--tblr-carousel-control-icon-filter);\n border: 0;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #ffffff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 1.5rem;\n height: 1.5rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e\") /*rtl:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e\")*/;\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='9 18 15 12 9 6'%3e%3c/polyline%3e%3c/svg%3e\") /*rtl:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='15 18 9 12 15 6'%3e%3c/polyline%3e%3c/svg%3e\")*/;\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-right: 15%;\n margin-bottom: 1rem;\n margin-left: 15%;\n}\n.carousel-indicators [data-bs-target],\n.carousel-indicators [data-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n padding: 0;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: var(--tblr-carousel-indicator-active-bg);\n background-clip: padding-box;\n border: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target],\n .carousel-indicators [data-target] {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: var(--tblr-carousel-caption-color);\n text-align: center;\n}\n\n.carousel-dark {\n --tblr-carousel-indicator-active-bg: #000000;\n --tblr-carousel-caption-color: #000000;\n --tblr-carousel-control-icon-filter: invert(1) grayscale(100);\n}\n\n:root,\n[data-bs-theme=light],\n[data-theme=light] {\n --tblr-carousel-indicator-active-bg: #ffffff;\n --tblr-carousel-caption-color: #ffffff;\n --tblr-carousel-control-icon-filter: ;\n}\n\n[data-bs-theme=dark], body[data-bs-theme=dark] [data-bs-theme=light],\nbody[data-theme=dark] [data-theme=light],\n[data-theme=dark] {\n --tblr-carousel-indicator-active-bg: #000000;\n --tblr-carousel-caption-color: #000000;\n --tblr-carousel-control-icon-filter: invert(1) grayscale(100);\n}\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n flex-shrink: 0;\n width: var(--tblr-spinner-width);\n height: var(--tblr-spinner-height);\n vertical-align: var(--tblr-spinner-vertical-align);\n border-radius: 50%;\n animation: var(--tblr-spinner-animation-speed) linear infinite var(--tblr-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n.spinner-border {\n --tblr-spinner-width: 1.5rem;\n --tblr-spinner-height: 1.5rem;\n --tblr-spinner-vertical-align: -0.125em;\n --tblr-spinner-border-width: 2px;\n --tblr-spinner-animation-speed: 0.75s;\n --tblr-spinner-animation-name: spinner-border;\n border: var(--tblr-spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n --tblr-spinner-width: 1rem;\n --tblr-spinner-height: 1rem;\n --tblr-spinner-border-width: 1px;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n --tblr-spinner-width: 1.5rem;\n --tblr-spinner-height: 1.5rem;\n --tblr-spinner-vertical-align: -0.125em;\n --tblr-spinner-animation-speed: 0.75s;\n --tblr-spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --tblr-spinner-width: 1rem;\n --tblr-spinner-height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --tblr-spinner-animation-speed: 1.5s;\n }\n}\n.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n --tblr-offcanvas-zindex: 1045;\n --tblr-offcanvas-width: 400px;\n --tblr-offcanvas-height: 30vh;\n --tblr-offcanvas-padding-x: 1.5rem;\n --tblr-offcanvas-padding-y: 1.5rem;\n --tblr-offcanvas-color: var(--tblr-body-color);\n --tblr-offcanvas-bg: var(--tblr-bg-surface);\n --tblr-offcanvas-border-width: var(--tblr-border-width);\n --tblr-offcanvas-border-color: var(--tblr-border-color);\n --tblr-offcanvas-box-shadow: var(--tblr-box-shadow-sm);\n --tblr-offcanvas-transition: transform 0.3s ease-in-out;\n --tblr-offcanvas-title-line-height: 1.4285714286;\n}\n\n@media (max-width: 575.98px) {\n .offcanvas-sm {\n position: fixed;\n bottom: 0;\n z-index: var(--tblr-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--tblr-offcanvas-color);\n visibility: hidden;\n background-color: var(--tblr-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n box-shadow: var(--tblr-offcanvas-box-shadow);\n transition: var(--tblr-offcanvas-transition);\n }\n}\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--tblr-offcanvas-width);\n border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-sm.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--tblr-offcanvas-width);\n border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-sm.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-sm.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n visibility: visible;\n }\n}\n@media (min-width: 576px) {\n .offcanvas-sm {\n --tblr-offcanvas-height: auto;\n --tblr-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 767.98px) {\n .offcanvas-md {\n position: fixed;\n bottom: 0;\n z-index: var(--tblr-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--tblr-offcanvas-color);\n visibility: hidden;\n background-color: var(--tblr-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n box-shadow: var(--tblr-offcanvas-box-shadow);\n transition: var(--tblr-offcanvas-transition);\n }\n}\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--tblr-offcanvas-width);\n border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-md.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--tblr-offcanvas-width);\n border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-md.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-md.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n visibility: visible;\n }\n}\n@media (min-width: 768px) {\n .offcanvas-md {\n --tblr-offcanvas-height: auto;\n --tblr-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 991.98px) {\n .offcanvas-lg {\n position: fixed;\n bottom: 0;\n z-index: var(--tblr-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--tblr-offcanvas-color);\n visibility: hidden;\n background-color: var(--tblr-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n box-shadow: var(--tblr-offcanvas-box-shadow);\n transition: var(--tblr-offcanvas-transition);\n }\n}\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--tblr-offcanvas-width);\n border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-lg.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--tblr-offcanvas-width);\n border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-lg.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-lg.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n visibility: visible;\n }\n}\n@media (min-width: 992px) {\n .offcanvas-lg {\n --tblr-offcanvas-height: auto;\n --tblr-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1199.98px) {\n .offcanvas-xl {\n position: fixed;\n bottom: 0;\n z-index: var(--tblr-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--tblr-offcanvas-color);\n visibility: hidden;\n background-color: var(--tblr-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n box-shadow: var(--tblr-offcanvas-box-shadow);\n transition: var(--tblr-offcanvas-transition);\n }\n}\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--tblr-offcanvas-width);\n border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--tblr-offcanvas-width);\n border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1200px) {\n .offcanvas-xl {\n --tblr-offcanvas-height: auto;\n --tblr-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1399.98px) {\n .offcanvas-xxl {\n position: fixed;\n bottom: 0;\n z-index: var(--tblr-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--tblr-offcanvas-color);\n visibility: hidden;\n background-color: var(--tblr-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n box-shadow: var(--tblr-offcanvas-box-shadow);\n transition: var(--tblr-offcanvas-transition);\n }\n}\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xxl {\n transition: none;\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--tblr-offcanvas-width);\n border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xxl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--tblr-offcanvas-width);\n border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xxl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xxl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1400px) {\n .offcanvas-xxl {\n --tblr-offcanvas-height: auto;\n --tblr-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xxl .offcanvas-header {\n display: none;\n }\n .offcanvas-xxl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n.offcanvas {\n position: fixed;\n bottom: 0;\n z-index: var(--tblr-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--tblr-offcanvas-color);\n visibility: hidden;\n background-color: var(--tblr-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n box-shadow: var(--tblr-offcanvas-box-shadow);\n transition: var(--tblr-offcanvas-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n}\n.offcanvas.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--tblr-offcanvas-width);\n border-right: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(-100%);\n}\n.offcanvas.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--tblr-offcanvas-width);\n border-left: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateX(100%);\n}\n.offcanvas.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(-100%);\n}\n.offcanvas.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--tblr-offcanvas-height);\n max-height: 100%;\n border-top: var(--tblr-offcanvas-border-width) solid var(--tblr-offcanvas-border-color);\n transform: translateY(100%);\n}\n.offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none;\n}\n.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n}\n\n.offcanvas-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: light-dark(var(--tblr-gray-800), var(--tblr-black));\n}\n.offcanvas-backdrop.fade {\n opacity: 0;\n}\n.offcanvas-backdrop.show {\n opacity: 0.32;\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);\n}\n.offcanvas-header .btn-close {\n padding: calc(var(--tblr-offcanvas-padding-y) * 0.5) calc(var(--tblr-offcanvas-padding-x) * 0.5);\n margin-top: calc(-0.5 * var(--tblr-offcanvas-padding-y));\n margin-right: calc(-0.5 * var(--tblr-offcanvas-padding-x));\n margin-bottom: calc(-0.5 * var(--tblr-offcanvas-padding-y));\n margin-left: auto;\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: var(--tblr-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--tblr-offcanvas-padding-y) var(--tblr-offcanvas-padding-x);\n overflow-y: auto;\n}\n\n.placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: 0.2;\n}\n.placeholder.btn::before {\n display: inline-block;\n content: \"\";\n}\n\n.placeholder-xs {\n min-height: 0.6em;\n}\n\n.placeholder-sm {\n min-height: 0.8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: 0.1;\n }\n}\n.placeholder-wave {\n mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.9) 75%, #000000 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n}\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-start {\n float: left !important;\n}\n\n.float-end {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.object-fit-contain {\n object-fit: contain !important;\n}\n\n.object-fit-cover {\n object-fit: cover !important;\n}\n\n.object-fit-fill {\n object-fit: fill !important;\n}\n\n.object-fit-scale {\n object-fit: scale-down !important;\n}\n\n.object-fit-none {\n object-fit: none !important;\n}\n\n.opacity-0 {\n opacity: 0 !important;\n}\n\n.opacity-25 {\n opacity: 0.25 !important;\n}\n\n.opacity-50 {\n opacity: 0.5 !important;\n}\n\n.opacity-75 {\n opacity: 0.75 !important;\n}\n\n.opacity-100 {\n opacity: 1 !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.overflow-x-auto {\n overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n overflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: var(--tblr-box-shadow) !important;\n}\n\n.shadow-sm {\n box-shadow: var(--tblr-box-shadow-sm) !important;\n}\n\n.shadow-lg {\n box-shadow: var(--tblr-box-shadow-lg) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.focus-ring-primary {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-secondary {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-success {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-info {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-warning {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-danger {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-light {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-dark {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-muted {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-blue {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-azure {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-indigo {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-purple {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-pink {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-red {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-orange {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-yellow {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-lime {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-green {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-teal {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.focus-ring-cyan {\n --tblr-focus-ring-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-focus-ring-opacity) * 100%), transparent);\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.start-0 {\n left: 0 !important;\n}\n\n.start-50 {\n left: 50% !important;\n}\n\n.start-100 {\n left: 100% !important;\n}\n\n.end-0 {\n right: 0 !important;\n}\n\n.end-50 {\n right: 50% !important;\n}\n\n.end-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n transform: translateY(-50%) !important;\n}\n\n.object-contain {\n object-fit: contain !important;\n}\n\n.object-cover {\n object-fit: cover !important;\n}\n\n.object-fill {\n object-fit: fill !important;\n}\n\n.object-scale-down {\n object-fit: scale-down !important;\n}\n\n.object-none {\n object-fit: none !important;\n}\n\n.cursor-auto {\n cursor: auto !important;\n}\n\n.cursor-pointer {\n cursor: pointer !important;\n}\n\n.cursor-move {\n cursor: move !important;\n}\n\n.cursor-not-allowed {\n cursor: not-allowed !important;\n}\n\n.cursor-zoom-in {\n cursor: zoom-in !important;\n}\n\n.cursor-zoom-out {\n cursor: zoom-out !important;\n}\n\n.cursor-default {\n cursor: default !important;\n}\n\n.cursor-none {\n cursor: none !important;\n}\n\n.cursor-help {\n cursor: help !important;\n}\n\n.cursor-progress {\n cursor: progress !important;\n}\n\n.cursor-wait {\n cursor: wait !important;\n}\n\n.cursor-text {\n cursor: text !important;\n}\n\n.cursor-v-text {\n cursor: vertical-text !important;\n}\n\n.cursor-grab {\n cursor: grab !important;\n}\n\n.cursor-grabbing {\n cursor: grabbing !important;\n}\n\n.cursor-crosshair {\n cursor: crosshair !important;\n}\n\n.border {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-wide {\n border: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-top-wide {\n border-top: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-end {\n border-inline-end: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-end-wide {\n border-inline-end: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-end-0 {\n border-inline-end: 0 !important;\n}\n\n.border-bottom {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-bottom-wide {\n border-bottom: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-start {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-start-wide {\n border-inline-start: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-start-0 {\n border-inline-start: 0 !important;\n}\n\n.border-x {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n border-inline-end: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-x-wide {\n border-inline-start: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n border-inline-end: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-x-0 {\n border-inline-start: 0 !important;\n border-inline-end: 0 !important;\n}\n\n.border-y {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-y-wide {\n border-top: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n border-bottom: 2px var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n\n.border-y-0 {\n border-top: 0 !important;\n border-bottom: 0 !important;\n}\n\n.border-primary {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-secondary {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-success {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-info {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-warning {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-danger {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-light {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-dark {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-muted {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-blue {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-azure {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-indigo {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-purple {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-pink {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-red {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-orange {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-yellow {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-lime {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-green {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-teal {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-cyan {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-black {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-black) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-white {\n --tblr-border-opacity: 1;\n border-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-border-opacity) * 100%), transparent) !important;\n}\n\n.border-primary-subtle {\n border-color: var(--tblr-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n border-color: var(--tblr-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n border-color: var(--tblr-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n border-color: var(--tblr-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n border-color: var(--tblr-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n border-color: var(--tblr-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n border-color: var(--tblr-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n border-color: var(--tblr-dark-border-subtle) !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.border-opacity-10 {\n --tblr-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n --tblr-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n --tblr-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n --tblr-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n --tblr-border-opacity: 1;\n}\n\n.w-0 {\n width: 0 !important;\n}\n\n.w-1 {\n width: 0.25rem !important;\n}\n\n.w-2 {\n width: 0.5rem !important;\n}\n\n.w-3 {\n width: 1rem !important;\n}\n\n.w-4 {\n width: 1.5rem !important;\n}\n\n.w-5 {\n width: 2rem !important;\n}\n\n.w-6 {\n width: 2.5rem !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-33 {\n width: 33.33333% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-66 {\n width: 66.66666% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-0 {\n height: 0 !important;\n}\n\n.h-1 {\n height: 0.25rem !important;\n}\n\n.h-2 {\n height: 0.5rem !important;\n}\n\n.h-3 {\n height: 1rem !important;\n}\n\n.h-4 {\n height: 1.5rem !important;\n}\n\n.h-5 {\n height: 2rem !important;\n}\n\n.h-6 {\n height: 2.5rem !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-33 {\n height: 33.33333% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-66 {\n height: 66.66666% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.columns-2 {\n columns: 2 !important;\n}\n\n.columns-3 {\n columns: 3 !important;\n}\n\n.columns-4 {\n columns: 4 !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 2rem !important;\n}\n\n.m-6 {\n margin: 2.5rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 2rem !important;\n margin-left: 2rem !important;\n}\n\n.mx-6 {\n margin-right: 2.5rem !important;\n margin-left: 2.5rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n}\n\n.my-6 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 2rem !important;\n}\n\n.mt-6 {\n margin-top: 2.5rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 2rem !important;\n}\n\n.me-6 {\n margin-right: 2.5rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 2rem !important;\n}\n\n.mb-6 {\n margin-bottom: 2.5rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 2rem !important;\n}\n\n.ms-6 {\n margin-left: 2.5rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -2rem !important;\n}\n\n.m-n6 {\n margin: -2.5rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -2rem !important;\n margin-left: -2rem !important;\n}\n\n.mx-n6 {\n margin-right: -2.5rem !important;\n margin-left: -2.5rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n}\n\n.my-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -2rem !important;\n}\n\n.mt-n6 {\n margin-top: -2.5rem !important;\n}\n\n.me-n1 {\n margin-right: -0.25rem !important;\n}\n\n.me-n2 {\n margin-right: -0.5rem !important;\n}\n\n.me-n3 {\n margin-right: -1rem !important;\n}\n\n.me-n4 {\n margin-right: -1.5rem !important;\n}\n\n.me-n5 {\n margin-right: -2rem !important;\n}\n\n.me-n6 {\n margin-right: -2.5rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -2rem !important;\n}\n\n.mb-n6 {\n margin-bottom: -2.5rem !important;\n}\n\n.ms-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ms-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ms-n3 {\n margin-left: -1rem !important;\n}\n\n.ms-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ms-n5 {\n margin-left: -2rem !important;\n}\n\n.ms-n6 {\n margin-left: -2.5rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 2rem !important;\n}\n\n.p-6 {\n padding: 2.5rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 2rem !important;\n padding-left: 2rem !important;\n}\n\n.px-6 {\n padding-right: 2.5rem !important;\n padding-left: 2.5rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n}\n\n.py-6 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 2rem !important;\n}\n\n.pt-6 {\n padding-top: 2.5rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 2rem !important;\n}\n\n.pe-6 {\n padding-right: 2.5rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 2rem !important;\n}\n\n.pb-6 {\n padding-bottom: 2.5rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 2rem !important;\n}\n\n.ps-6 {\n padding-left: 2.5rem !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 2rem !important;\n}\n\n.gap-6 {\n gap: 2.5rem !important;\n}\n\n.row-gap-0 {\n row-gap: 0 !important;\n}\n\n.row-gap-1 {\n row-gap: 0.25rem !important;\n}\n\n.row-gap-2 {\n row-gap: 0.5rem !important;\n}\n\n.row-gap-3 {\n row-gap: 1rem !important;\n}\n\n.row-gap-4 {\n row-gap: 1.5rem !important;\n}\n\n.row-gap-5 {\n row-gap: 2rem !important;\n}\n\n.row-gap-6 {\n row-gap: 2.5rem !important;\n}\n\n.column-gap-0 {\n column-gap: 0 !important;\n}\n\n.column-gap-1 {\n column-gap: 0.25rem !important;\n}\n\n.column-gap-2 {\n column-gap: 0.5rem !important;\n}\n\n.column-gap-3 {\n column-gap: 1rem !important;\n}\n\n.column-gap-4 {\n column-gap: 1.5rem !important;\n}\n\n.column-gap-5 {\n column-gap: 2rem !important;\n}\n\n.column-gap-6 {\n column-gap: 2.5rem !important;\n}\n\n.bg-pattern-transparent {\n background: url('data:image/svg+xml;charset=UTF-8,') repeat center/16px 16px !important;\n}\n\n.bg-gradient {\n background: linear-gradient(var(--tblr-gradient-direction, to right), var(--tblr-gradient-stops, var(--tblr-gradient-from, transparent), var(--tblr-gradient-to, transparent))) no-repeat !important;\n}\n\n.bg-blur {\n backdrop-filter: blur(4px) !important;\n}\n\n.bg-gradient-to-t {\n --tblr-gradient-direction: to top !important;\n}\n\n.bg-gradient-to-te {\n --tblr-gradient-direction: to top right !important;\n}\n\n.bg-gradient-to-e {\n --tblr-gradient-direction: to right !important;\n}\n\n.bg-gradient-to-be {\n --tblr-gradient-direction: to bottom right !important;\n}\n\n.bg-gradient-to-b {\n --tblr-gradient-direction: to bottom !important;\n}\n\n.bg-gradient-to-bs {\n --tblr-gradient-direction: to bottom left !important;\n}\n\n.bg-gradient-to-s {\n --tblr-gradient-direction: to left !important;\n}\n\n.bg-gradient-to-ts {\n --tblr-gradient-direction: to top left !important;\n}\n\n.table-auto {\n table-layout: auto !important;\n}\n\n.table-fixed {\n table-layout: fixed !important;\n}\n\n.font-monospace {\n font-family: var(--tblr-font-monospace) !important;\n}\n\n.fs-1 {\n font-size: 1.5rem !important;\n}\n\n.fs-2 {\n font-size: 1.25rem !important;\n}\n\n.fs-3 {\n font-size: 1rem !important;\n}\n\n.fs-4 {\n font-size: 0.875rem !important;\n}\n\n.fs-5 {\n font-size: 0.75rem !important;\n}\n\n.fs-6 {\n font-size: 0.625rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-medium {\n font-weight: 500 !important;\n}\n\n.fw-semibold {\n font-weight: 600 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.1428571429 !important;\n}\n\n.lh-base {\n line-height: 1.4285714286 !important;\n}\n\n.lh-lg {\n line-height: 1.7142857143 !important;\n}\n\n.text-start {\n text-align: left !important;\n}\n\n.text-end {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-secondary {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-success {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-info {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-warning {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-danger {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-light {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-dark {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-muted {\n --tblr-text-opacity: 1;\n color: var(--tblr-secondary-color) !important;\n}\n\n.text-blue {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-azure {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-indigo {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-purple {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-pink {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-red {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-orange {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-yellow {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-lime {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-green {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-teal {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-cyan {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-black {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-black) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-white {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-body {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-body-color) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-black-50 {\n --tblr-text-opacity: 1;\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n --tblr-text-opacity: 1;\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-body-secondary {\n --tblr-text-opacity: 1;\n color: var(--tblr-secondary-color) !important;\n}\n\n.text-body-tertiary {\n --tblr-text-opacity: 1;\n color: var(--tblr-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n --tblr-text-opacity: 1;\n color: var(--tblr-emphasis-color) !important;\n}\n\n.text-reset {\n --tblr-text-opacity: 1;\n color: inherit !important;\n}\n\n.text-opacity-25 {\n --tblr-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n --tblr-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n --tblr-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n --tblr-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n color: var(--tblr-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n color: var(--tblr-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n color: var(--tblr-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n color: var(--tblr-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n color: var(--tblr-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n color: var(--tblr-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n color: var(--tblr-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n color: var(--tblr-dark-text-emphasis) !important;\n}\n\n.link-opacity-10 {\n --tblr-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n --tblr-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n --tblr-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n --tblr-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n --tblr-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n --tblr-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n --tblr-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n --tblr-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n --tblr-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n --tblr-link-opacity: 1;\n}\n\n.link-offset-1 {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-1-hover:hover {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-2 {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-2-hover:hover {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-3 {\n text-underline-offset: 0.375em !important;\n}\n\n.link-offset-3-hover:hover {\n text-underline-offset: 0.375em !important;\n}\n\n.link-underline-primary {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-secondary {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-success {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-info {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-warning {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-danger {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-light {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-dark {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-muted {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-blue {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-azure {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-indigo {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-purple {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-pink {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-red {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-orange {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-yellow {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-lime {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-green {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-teal {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline-cyan {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-link-underline-opacity) * 100%), transparent) !important;\n}\n\n.link-underline {\n --tblr-link-underline-opacity: 1;\n text-decoration-color: color-mix(in srgb, var(--tblr-link-color) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n\n.link-underline-opacity-0 {\n --tblr-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n --tblr-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n --tblr-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n --tblr-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n --tblr-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n --tblr-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n --tblr-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n --tblr-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n --tblr-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n --tblr-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n --tblr-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n --tblr-link-underline-opacity: 1;\n}\n\n.bg-primary {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-secondary {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-success {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-info {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-warning {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-danger {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-light {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-dark {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-muted {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-blue {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-azure {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-indigo {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-purple {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-pink {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-red {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-orange {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-yellow {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-lime {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-green {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-teal {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-cyan {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-black {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-black) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-white {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-body {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-body-bg) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-transparent {\n --tblr-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n.bg-body-secondary {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-secondary-bg) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-body-tertiary {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-tertiary-bg) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-opacity-10 {\n --tblr-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n --tblr-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n --tblr-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n --tblr-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n --tblr-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n background-color: var(--tblr-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n background-color: var(--tblr-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n background-color: var(--tblr-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n background-color: var(--tblr-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n background-color: var(--tblr-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n background-color: var(--tblr-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n background-color: var(--tblr-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n background-color: var(--tblr-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n background-image: var(--tblr-gradient) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: var(--tblr-border-radius-sm) !important;\n}\n\n.rounded-2 {\n border-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-3 {\n border-radius: var(--tblr-border-radius-lg) !important;\n}\n\n.rounded-4 {\n border-radius: var(--tblr-border-radius-xl) !important;\n}\n\n.rounded-5 {\n border-radius: var(--tblr-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: var(--tblr-border-radius-pill) !important;\n}\n\n.rounded-top {\n border-start-start-radius: var(--tblr-border-radius) !important;\n border-start-end-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-top-0 {\n border-start-start-radius: 0 !important;\n border-start-end-radius: 0 !important;\n}\n\n.rounded-top-1 {\n border-start-start-radius: var(--tblr-border-radius-sm) !important;\n border-start-end-radius: var(--tblr-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n border-start-start-radius: var(--tblr-border-radius) !important;\n border-start-end-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-top-3 {\n border-start-start-radius: var(--tblr-border-radius-lg) !important;\n border-start-end-radius: var(--tblr-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n border-start-start-radius: var(--tblr-border-radius-xl) !important;\n border-start-end-radius: var(--tblr-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n border-start-start-radius: var(--tblr-border-radius-xxl) !important;\n border-start-end-radius: var(--tblr-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n border-start-start-radius: 50% !important;\n border-start-end-radius: 50% !important;\n}\n\n.rounded-top-pill {\n border-start-start-radius: var(--tblr-border-radius-pill) !important;\n border-start-end-radius: var(--tblr-border-radius-pill) !important;\n}\n\n.rounded-end {\n border-end-end-radius: var(--tblr-border-radius) !important;\n border-end-start-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-end-0 {\n border-end-end-radius: 0 !important;\n border-end-start-radius: 0 !important;\n}\n\n.rounded-end-1 {\n border-end-end-radius: var(--tblr-border-radius-sm) !important;\n border-end-start-radius: var(--tblr-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n border-end-end-radius: var(--tblr-border-radius) !important;\n border-end-start-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-end-3 {\n border-end-end-radius: var(--tblr-border-radius-lg) !important;\n border-end-start-radius: var(--tblr-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n border-end-end-radius: var(--tblr-border-radius-xl) !important;\n border-end-start-radius: var(--tblr-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n border-end-end-radius: var(--tblr-border-radius-xxl) !important;\n border-end-start-radius: var(--tblr-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n border-end-end-radius: 50% !important;\n border-end-start-radius: 50% !important;\n}\n\n.rounded-end-pill {\n border-end-end-radius: var(--tblr-border-radius-pill) !important;\n border-end-start-radius: var(--tblr-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n border-end-end-radius: var(--tblr-border-radius) !important;\n border-end-start-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n border-end-end-radius: 0 !important;\n border-end-start-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n border-end-end-radius: var(--tblr-border-radius-sm) !important;\n border-end-start-radius: var(--tblr-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n border-end-end-radius: var(--tblr-border-radius) !important;\n border-end-start-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n border-end-end-radius: var(--tblr-border-radius-lg) !important;\n border-end-start-radius: var(--tblr-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n border-end-end-radius: var(--tblr-border-radius-xl) !important;\n border-end-start-radius: var(--tblr-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n border-end-end-radius: var(--tblr-border-radius-xxl) !important;\n border-end-start-radius: var(--tblr-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n border-end-end-radius: 50% !important;\n border-end-start-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n border-end-end-radius: var(--tblr-border-radius-pill) !important;\n border-end-start-radius: var(--tblr-border-radius-pill) !important;\n}\n\n.rounded-start {\n border-start-start-radius: var(--tblr-border-radius) !important;\n border-start-end-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-start-0 {\n border-start-start-radius: 0 !important;\n border-start-end-radius: 0 !important;\n}\n\n.rounded-start-1 {\n border-start-start-radius: var(--tblr-border-radius-sm) !important;\n border-start-end-radius: var(--tblr-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n border-start-start-radius: var(--tblr-border-radius) !important;\n border-start-end-radius: var(--tblr-border-radius) !important;\n}\n\n.rounded-start-3 {\n border-start-start-radius: var(--tblr-border-radius-lg) !important;\n border-start-end-radius: var(--tblr-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n border-start-start-radius: var(--tblr-border-radius-xl) !important;\n border-start-end-radius: var(--tblr-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n border-start-start-radius: var(--tblr-border-radius-xxl) !important;\n border-start-end-radius: var(--tblr-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n border-start-start-radius: 50% !important;\n border-start-end-radius: 50% !important;\n}\n\n.rounded-start-pill {\n border-start-start-radius: var(--tblr-border-radius-pill) !important;\n border-start-end-radius: var(--tblr-border-radius-pill) !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.z-n1 {\n z-index: -1 !important;\n}\n\n.z-0 {\n z-index: 0 !important;\n}\n\n.z-1 {\n z-index: 1 !important;\n}\n\n.z-2 {\n z-index: 2 !important;\n}\n\n.z-3 {\n z-index: 3 !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-start {\n float: left !important;\n }\n .float-sm-end {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .object-fit-sm-contain {\n object-fit: contain !important;\n }\n .object-fit-sm-cover {\n object-fit: cover !important;\n }\n .object-fit-sm-fill {\n object-fit: fill !important;\n }\n .object-fit-sm-scale {\n object-fit: scale-down !important;\n }\n .object-fit-sm-none {\n object-fit: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .columns-sm-2 {\n columns: 2 !important;\n }\n .columns-sm-3 {\n columns: 3 !important;\n }\n .columns-sm-4 {\n columns: 4 !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 2rem !important;\n }\n .m-sm-6 {\n margin: 2.5rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 2rem !important;\n margin-left: 2rem !important;\n }\n .mx-sm-6 {\n margin-right: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n .my-sm-6 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 2rem !important;\n }\n .mt-sm-6 {\n margin-top: 2.5rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 2rem !important;\n }\n .me-sm-6 {\n margin-right: 2.5rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 2rem !important;\n }\n .mb-sm-6 {\n margin-bottom: 2.5rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 2rem !important;\n }\n .ms-sm-6 {\n margin-left: 2.5rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -2rem !important;\n }\n .m-sm-n6 {\n margin: -2.5rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -2rem !important;\n margin-left: -2rem !important;\n }\n .mx-sm-n6 {\n margin-right: -2.5rem !important;\n margin-left: -2.5rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-sm-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -2rem !important;\n }\n .mt-sm-n6 {\n margin-top: -2.5rem !important;\n }\n .me-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .me-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .me-sm-n3 {\n margin-right: -1rem !important;\n }\n .me-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .me-sm-n5 {\n margin-right: -2rem !important;\n }\n .me-sm-n6 {\n margin-right: -2.5rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-sm-n6 {\n margin-bottom: -2.5rem !important;\n }\n .ms-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ms-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ms-sm-n3 {\n margin-left: -1rem !important;\n }\n .ms-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ms-sm-n5 {\n margin-left: -2rem !important;\n }\n .ms-sm-n6 {\n margin-left: -2.5rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 2rem !important;\n }\n .p-sm-6 {\n padding: 2.5rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 2rem !important;\n padding-left: 2rem !important;\n }\n .px-sm-6 {\n padding-right: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n .py-sm-6 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 2rem !important;\n }\n .pt-sm-6 {\n padding-top: 2.5rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 2rem !important;\n }\n .pe-sm-6 {\n padding-right: 2.5rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 2rem !important;\n }\n .pb-sm-6 {\n padding-bottom: 2.5rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 2rem !important;\n }\n .ps-sm-6 {\n padding-left: 2.5rem !important;\n }\n .gap-sm-0 {\n gap: 0 !important;\n }\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n .gap-sm-3 {\n gap: 1rem !important;\n }\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n .gap-sm-5 {\n gap: 2rem !important;\n }\n .gap-sm-6 {\n gap: 2.5rem !important;\n }\n .row-gap-sm-0 {\n row-gap: 0 !important;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-sm-3 {\n row-gap: 1rem !important;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-sm-5 {\n row-gap: 2rem !important;\n }\n .row-gap-sm-6 {\n row-gap: 2.5rem !important;\n }\n .column-gap-sm-0 {\n column-gap: 0 !important;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-sm-3 {\n column-gap: 1rem !important;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-sm-5 {\n column-gap: 2rem !important;\n }\n .column-gap-sm-6 {\n column-gap: 2.5rem !important;\n }\n .text-sm-start {\n text-align: left !important;\n }\n .text-sm-end {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-start {\n float: left !important;\n }\n .float-md-end {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .object-fit-md-contain {\n object-fit: contain !important;\n }\n .object-fit-md-cover {\n object-fit: cover !important;\n }\n .object-fit-md-fill {\n object-fit: fill !important;\n }\n .object-fit-md-scale {\n object-fit: scale-down !important;\n }\n .object-fit-md-none {\n object-fit: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .columns-md-2 {\n columns: 2 !important;\n }\n .columns-md-3 {\n columns: 3 !important;\n }\n .columns-md-4 {\n columns: 4 !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 2rem !important;\n }\n .m-md-6 {\n margin: 2.5rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 2rem !important;\n margin-left: 2rem !important;\n }\n .mx-md-6 {\n margin-right: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n .my-md-6 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 2rem !important;\n }\n .mt-md-6 {\n margin-top: 2.5rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 2rem !important;\n }\n .me-md-6 {\n margin-right: 2.5rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 2rem !important;\n }\n .mb-md-6 {\n margin-bottom: 2.5rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 2rem !important;\n }\n .ms-md-6 {\n margin-left: 2.5rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -2rem !important;\n }\n .m-md-n6 {\n margin: -2.5rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -2rem !important;\n margin-left: -2rem !important;\n }\n .mx-md-n6 {\n margin-right: -2.5rem !important;\n margin-left: -2.5rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-md-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -2rem !important;\n }\n .mt-md-n6 {\n margin-top: -2.5rem !important;\n }\n .me-md-n1 {\n margin-right: -0.25rem !important;\n }\n .me-md-n2 {\n margin-right: -0.5rem !important;\n }\n .me-md-n3 {\n margin-right: -1rem !important;\n }\n .me-md-n4 {\n margin-right: -1.5rem !important;\n }\n .me-md-n5 {\n margin-right: -2rem !important;\n }\n .me-md-n6 {\n margin-right: -2.5rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-md-n6 {\n margin-bottom: -2.5rem !important;\n }\n .ms-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ms-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ms-md-n3 {\n margin-left: -1rem !important;\n }\n .ms-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ms-md-n5 {\n margin-left: -2rem !important;\n }\n .ms-md-n6 {\n margin-left: -2.5rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 2rem !important;\n }\n .p-md-6 {\n padding: 2.5rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 2rem !important;\n padding-left: 2rem !important;\n }\n .px-md-6 {\n padding-right: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n .py-md-6 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 2rem !important;\n }\n .pt-md-6 {\n padding-top: 2.5rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 2rem !important;\n }\n .pe-md-6 {\n padding-right: 2.5rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 2rem !important;\n }\n .pb-md-6 {\n padding-bottom: 2.5rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 2rem !important;\n }\n .ps-md-6 {\n padding-left: 2.5rem !important;\n }\n .gap-md-0 {\n gap: 0 !important;\n }\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n .gap-md-3 {\n gap: 1rem !important;\n }\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n .gap-md-5 {\n gap: 2rem !important;\n }\n .gap-md-6 {\n gap: 2.5rem !important;\n }\n .row-gap-md-0 {\n row-gap: 0 !important;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-md-3 {\n row-gap: 1rem !important;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-md-5 {\n row-gap: 2rem !important;\n }\n .row-gap-md-6 {\n row-gap: 2.5rem !important;\n }\n .column-gap-md-0 {\n column-gap: 0 !important;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-md-3 {\n column-gap: 1rem !important;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-md-5 {\n column-gap: 2rem !important;\n }\n .column-gap-md-6 {\n column-gap: 2.5rem !important;\n }\n .text-md-start {\n text-align: left !important;\n }\n .text-md-end {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-start {\n float: left !important;\n }\n .float-lg-end {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .object-fit-lg-contain {\n object-fit: contain !important;\n }\n .object-fit-lg-cover {\n object-fit: cover !important;\n }\n .object-fit-lg-fill {\n object-fit: fill !important;\n }\n .object-fit-lg-scale {\n object-fit: scale-down !important;\n }\n .object-fit-lg-none {\n object-fit: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .columns-lg-2 {\n columns: 2 !important;\n }\n .columns-lg-3 {\n columns: 3 !important;\n }\n .columns-lg-4 {\n columns: 4 !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 2rem !important;\n }\n .m-lg-6 {\n margin: 2.5rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 2rem !important;\n margin-left: 2rem !important;\n }\n .mx-lg-6 {\n margin-right: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n .my-lg-6 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 2rem !important;\n }\n .mt-lg-6 {\n margin-top: 2.5rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 2rem !important;\n }\n .me-lg-6 {\n margin-right: 2.5rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 2rem !important;\n }\n .mb-lg-6 {\n margin-bottom: 2.5rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 2rem !important;\n }\n .ms-lg-6 {\n margin-left: 2.5rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -2rem !important;\n }\n .m-lg-n6 {\n margin: -2.5rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -2rem !important;\n margin-left: -2rem !important;\n }\n .mx-lg-n6 {\n margin-right: -2.5rem !important;\n margin-left: -2.5rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-lg-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -2rem !important;\n }\n .mt-lg-n6 {\n margin-top: -2.5rem !important;\n }\n .me-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .me-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .me-lg-n3 {\n margin-right: -1rem !important;\n }\n .me-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .me-lg-n5 {\n margin-right: -2rem !important;\n }\n .me-lg-n6 {\n margin-right: -2.5rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-lg-n6 {\n margin-bottom: -2.5rem !important;\n }\n .ms-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ms-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ms-lg-n3 {\n margin-left: -1rem !important;\n }\n .ms-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ms-lg-n5 {\n margin-left: -2rem !important;\n }\n .ms-lg-n6 {\n margin-left: -2.5rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 2rem !important;\n }\n .p-lg-6 {\n padding: 2.5rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 2rem !important;\n padding-left: 2rem !important;\n }\n .px-lg-6 {\n padding-right: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n .py-lg-6 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 2rem !important;\n }\n .pt-lg-6 {\n padding-top: 2.5rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 2rem !important;\n }\n .pe-lg-6 {\n padding-right: 2.5rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 2rem !important;\n }\n .pb-lg-6 {\n padding-bottom: 2.5rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 2rem !important;\n }\n .ps-lg-6 {\n padding-left: 2.5rem !important;\n }\n .gap-lg-0 {\n gap: 0 !important;\n }\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n .gap-lg-3 {\n gap: 1rem !important;\n }\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n .gap-lg-5 {\n gap: 2rem !important;\n }\n .gap-lg-6 {\n gap: 2.5rem !important;\n }\n .row-gap-lg-0 {\n row-gap: 0 !important;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-lg-3 {\n row-gap: 1rem !important;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-lg-5 {\n row-gap: 2rem !important;\n }\n .row-gap-lg-6 {\n row-gap: 2.5rem !important;\n }\n .column-gap-lg-0 {\n column-gap: 0 !important;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-lg-3 {\n column-gap: 1rem !important;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-lg-5 {\n column-gap: 2rem !important;\n }\n .column-gap-lg-6 {\n column-gap: 2.5rem !important;\n }\n .text-lg-start {\n text-align: left !important;\n }\n .text-lg-end {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-start {\n float: left !important;\n }\n .float-xl-end {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .object-fit-xl-contain {\n object-fit: contain !important;\n }\n .object-fit-xl-cover {\n object-fit: cover !important;\n }\n .object-fit-xl-fill {\n object-fit: fill !important;\n }\n .object-fit-xl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xl-none {\n object-fit: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .columns-xl-2 {\n columns: 2 !important;\n }\n .columns-xl-3 {\n columns: 3 !important;\n }\n .columns-xl-4 {\n columns: 4 !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 2rem !important;\n }\n .m-xl-6 {\n margin: 2.5rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 2rem !important;\n margin-left: 2rem !important;\n }\n .mx-xl-6 {\n margin-right: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n .my-xl-6 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 2rem !important;\n }\n .mt-xl-6 {\n margin-top: 2.5rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 2rem !important;\n }\n .me-xl-6 {\n margin-right: 2.5rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 2rem !important;\n }\n .mb-xl-6 {\n margin-bottom: 2.5rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 2rem !important;\n }\n .ms-xl-6 {\n margin-left: 2.5rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -2rem !important;\n }\n .m-xl-n6 {\n margin: -2.5rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -2rem !important;\n margin-left: -2rem !important;\n }\n .mx-xl-n6 {\n margin-right: -2.5rem !important;\n margin-left: -2.5rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-xl-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -2rem !important;\n }\n .mt-xl-n6 {\n margin-top: -2.5rem !important;\n }\n .me-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .me-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .me-xl-n3 {\n margin-right: -1rem !important;\n }\n .me-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .me-xl-n5 {\n margin-right: -2rem !important;\n }\n .me-xl-n6 {\n margin-right: -2.5rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-xl-n6 {\n margin-bottom: -2.5rem !important;\n }\n .ms-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ms-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ms-xl-n3 {\n margin-left: -1rem !important;\n }\n .ms-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ms-xl-n5 {\n margin-left: -2rem !important;\n }\n .ms-xl-n6 {\n margin-left: -2.5rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 2rem !important;\n }\n .p-xl-6 {\n padding: 2.5rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 2rem !important;\n padding-left: 2rem !important;\n }\n .px-xl-6 {\n padding-right: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n .py-xl-6 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 2rem !important;\n }\n .pt-xl-6 {\n padding-top: 2.5rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 2rem !important;\n }\n .pe-xl-6 {\n padding-right: 2.5rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 2rem !important;\n }\n .pb-xl-6 {\n padding-bottom: 2.5rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 2rem !important;\n }\n .ps-xl-6 {\n padding-left: 2.5rem !important;\n }\n .gap-xl-0 {\n gap: 0 !important;\n }\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n .gap-xl-3 {\n gap: 1rem !important;\n }\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n .gap-xl-5 {\n gap: 2rem !important;\n }\n .gap-xl-6 {\n gap: 2.5rem !important;\n }\n .row-gap-xl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-xl-3 {\n row-gap: 1rem !important;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-xl-5 {\n row-gap: 2rem !important;\n }\n .row-gap-xl-6 {\n row-gap: 2.5rem !important;\n }\n .column-gap-xl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-xl-3 {\n column-gap: 1rem !important;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-xl-5 {\n column-gap: 2rem !important;\n }\n .column-gap-xl-6 {\n column-gap: 2.5rem !important;\n }\n .text-xl-start {\n text-align: left !important;\n }\n .text-xl-end {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-start {\n float: left !important;\n }\n .float-xxl-end {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .object-fit-xxl-contain {\n object-fit: contain !important;\n }\n .object-fit-xxl-cover {\n object-fit: cover !important;\n }\n .object-fit-xxl-fill {\n object-fit: fill !important;\n }\n .object-fit-xxl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xxl-none {\n object-fit: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .columns-xxl-2 {\n columns: 2 !important;\n }\n .columns-xxl-3 {\n columns: 3 !important;\n }\n .columns-xxl-4 {\n columns: 4 !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 2rem !important;\n }\n .m-xxl-6 {\n margin: 2.5rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 2rem !important;\n margin-left: 2rem !important;\n }\n .mx-xxl-6 {\n margin-right: 2.5rem !important;\n margin-left: 2.5rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 2rem !important;\n margin-bottom: 2rem !important;\n }\n .my-xxl-6 {\n margin-top: 2.5rem !important;\n margin-bottom: 2.5rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 2rem !important;\n }\n .mt-xxl-6 {\n margin-top: 2.5rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 2rem !important;\n }\n .me-xxl-6 {\n margin-right: 2.5rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 2rem !important;\n }\n .mb-xxl-6 {\n margin-bottom: 2.5rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 2rem !important;\n }\n .ms-xxl-6 {\n margin-left: 2.5rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .m-xxl-n1 {\n margin: -0.25rem !important;\n }\n .m-xxl-n2 {\n margin: -0.5rem !important;\n }\n .m-xxl-n3 {\n margin: -1rem !important;\n }\n .m-xxl-n4 {\n margin: -1.5rem !important;\n }\n .m-xxl-n5 {\n margin: -2rem !important;\n }\n .m-xxl-n6 {\n margin: -2.5rem !important;\n }\n .mx-xxl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xxl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xxl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xxl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xxl-n5 {\n margin-right: -2rem !important;\n margin-left: -2rem !important;\n }\n .mx-xxl-n6 {\n margin-right: -2.5rem !important;\n margin-left: -2.5rem !important;\n }\n .my-xxl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xxl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xxl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xxl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xxl-n5 {\n margin-top: -2rem !important;\n margin-bottom: -2rem !important;\n }\n .my-xxl-n6 {\n margin-top: -2.5rem !important;\n margin-bottom: -2.5rem !important;\n }\n .mt-xxl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xxl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xxl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xxl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xxl-n5 {\n margin-top: -2rem !important;\n }\n .mt-xxl-n6 {\n margin-top: -2.5rem !important;\n }\n .me-xxl-n1 {\n margin-right: -0.25rem !important;\n }\n .me-xxl-n2 {\n margin-right: -0.5rem !important;\n }\n .me-xxl-n3 {\n margin-right: -1rem !important;\n }\n .me-xxl-n4 {\n margin-right: -1.5rem !important;\n }\n .me-xxl-n5 {\n margin-right: -2rem !important;\n }\n .me-xxl-n6 {\n margin-right: -2.5rem !important;\n }\n .mb-xxl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xxl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xxl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xxl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xxl-n5 {\n margin-bottom: -2rem !important;\n }\n .mb-xxl-n6 {\n margin-bottom: -2.5rem !important;\n }\n .ms-xxl-n1 {\n margin-left: -0.25rem !important;\n }\n .ms-xxl-n2 {\n margin-left: -0.5rem !important;\n }\n .ms-xxl-n3 {\n margin-left: -1rem !important;\n }\n .ms-xxl-n4 {\n margin-left: -1.5rem !important;\n }\n .ms-xxl-n5 {\n margin-left: -2rem !important;\n }\n .ms-xxl-n6 {\n margin-left: -2.5rem !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 2rem !important;\n }\n .p-xxl-6 {\n padding: 2.5rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 2rem !important;\n padding-left: 2rem !important;\n }\n .px-xxl-6 {\n padding-right: 2.5rem !important;\n padding-left: 2.5rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 2rem !important;\n padding-bottom: 2rem !important;\n }\n .py-xxl-6 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 2rem !important;\n }\n .pt-xxl-6 {\n padding-top: 2.5rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 2rem !important;\n }\n .pe-xxl-6 {\n padding-right: 2.5rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 2rem !important;\n }\n .pb-xxl-6 {\n padding-bottom: 2.5rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 2rem !important;\n }\n .ps-xxl-6 {\n padding-left: 2.5rem !important;\n }\n .gap-xxl-0 {\n gap: 0 !important;\n }\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n .gap-xxl-5 {\n gap: 2rem !important;\n }\n .gap-xxl-6 {\n gap: 2.5rem !important;\n }\n .row-gap-xxl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xxl-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-xxl-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-xxl-3 {\n row-gap: 1rem !important;\n }\n .row-gap-xxl-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-xxl-5 {\n row-gap: 2rem !important;\n }\n .row-gap-xxl-6 {\n row-gap: 2.5rem !important;\n }\n .column-gap-xxl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xxl-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-xxl-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-xxl-3 {\n column-gap: 1rem !important;\n }\n .column-gap-xxl-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-xxl-5 {\n column-gap: 2rem !important;\n }\n .column-gap-xxl-6 {\n column-gap: 2.5rem !important;\n }\n .text-xxl-start {\n text-align: left !important;\n }\n .text-xxl-end {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n/**\n * Converts a given value to a percentage string.\n *\n * @param {Number} $value - The value to be converted to a percentage.\n * @return {String} - The percentage representation of the value.\n */\n/**\n * Generates a transparent version of the given color.\n *\n * @param {Color} $color - The base color to be made transparent.\n * @param {Number} $alpha - The level of transparency, ranging from 0 (fully transparent) to 1 (fully opaque). Default is 1.\n * @return {Color} - The resulting color with the specified transparency.\n */\n:root,\n:host {\n /** Fonts */\n --tblr-font-monospace: Geist Mono, Monaco, Consolas, Liberation Mono, Courier New, monospace;\n --tblr-font-sans-serif: Geist, -apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto, Helvetica Neue, sans-serif;\n --tblr-font-serif: Georgia, Times New Roman, times, serif;\n --tblr-font-comic: Comic Sans MS, Comic Sans, Chalkboard SE, Comic Neue, sans-serif, cursive;\n /** Gray colors */\n --tblr-gray-50: #f9fafb;\n --tblr-gray-100: #f3f4f6;\n --tblr-gray-200: #e5e7eb;\n --tblr-gray-300: #d1d5db;\n --tblr-gray-400: #9ca3af;\n --tblr-gray-500: #6b7280;\n --tblr-gray-600: #4b5563;\n --tblr-gray-700: #374151;\n --tblr-gray-800: #1f2937;\n --tblr-gray-900: #111827;\n --tblr-gray-950: #030712;\n --tblr-white: #ffffff;\n --tblr-black: #000000;\n --tblr-dark: #1f2937;\n --tblr-light: #f9fafb;\n /** Brand colors */\n --tblr-brand: #066fd1;\n /** Theme colors */\n --tblr-primary: #066fd1;\n --tblr-primary-rgb: 6, 111, 209;\n --tblr-primary-fg: var(--tblr-light);\n --tblr-primary-darken: rgb(5.4, 99.9, 188.1);\n --tblr-primary-darken: color-mix(in oklab, var(--tblr-primary), transparent 20%);\n --tblr-primary-lt: rgb(230.1, 240.6, 250.4);\n --tblr-primary-lt: color-mix(in oklab, var(--tblr-primary) 10%, transparent);\n --tblr-primary-200: color-mix(in oklab, var(--tblr-primary) 20%, transparent);\n --tblr-primary-lt-rgb: 230.1, 240.6, 250.4;\n --tblr-secondary: #6b7280;\n --tblr-secondary-rgb: 107, 114, 128;\n --tblr-secondary-fg: var(--tblr-light);\n --tblr-secondary-darken: rgb(96.3, 102.6, 115.2);\n --tblr-secondary-darken: color-mix(in oklab, var(--tblr-secondary), transparent 20%);\n --tblr-secondary-lt: rgb(240.2, 240.9, 242.3);\n --tblr-secondary-lt: color-mix(in oklab, var(--tblr-secondary) 10%, transparent);\n --tblr-secondary-200: color-mix(in oklab, var(--tblr-secondary) 20%, transparent);\n --tblr-secondary-lt-rgb: 240.2, 240.9, 242.3;\n --tblr-success: #2fb344;\n --tblr-success-rgb: 47, 179, 68;\n --tblr-success-fg: var(--tblr-light);\n --tblr-success-darken: rgb(42.3, 161.1, 61.2);\n --tblr-success-darken: color-mix(in oklab, var(--tblr-success), transparent 20%);\n --tblr-success-lt: rgb(234.2, 247.4, 236.3);\n --tblr-success-lt: color-mix(in oklab, var(--tblr-success) 10%, transparent);\n --tblr-success-200: color-mix(in oklab, var(--tblr-success) 20%, transparent);\n --tblr-success-lt-rgb: 234.2, 247.4, 236.3;\n --tblr-info: #4299e1;\n --tblr-info-rgb: 66, 153, 225;\n --tblr-info-fg: var(--tblr-light);\n --tblr-info-darken: rgb(59.4, 137.7, 202.5);\n --tblr-info-darken: color-mix(in oklab, var(--tblr-info), transparent 20%);\n --tblr-info-lt: rgb(236.1, 244.8, 252);\n --tblr-info-lt: color-mix(in oklab, var(--tblr-info) 10%, transparent);\n --tblr-info-200: color-mix(in oklab, var(--tblr-info) 20%, transparent);\n --tblr-info-lt-rgb: 236.1, 244.8, 252;\n --tblr-warning: #f59f00;\n --tblr-warning-rgb: 245, 159, 0;\n --tblr-warning-fg: var(--tblr-light);\n --tblr-warning-darken: rgb(220.5, 143.1, 0);\n --tblr-warning-darken: color-mix(in oklab, var(--tblr-warning), transparent 20%);\n --tblr-warning-lt: rgb(254, 245.4, 229.5);\n --tblr-warning-lt: color-mix(in oklab, var(--tblr-warning) 10%, transparent);\n --tblr-warning-200: color-mix(in oklab, var(--tblr-warning) 20%, transparent);\n --tblr-warning-lt-rgb: 254, 245.4, 229.5;\n --tblr-danger: #d63939;\n --tblr-danger-rgb: 214, 57, 57;\n --tblr-danger-fg: var(--tblr-light);\n --tblr-danger-darken: rgb(192.6, 51.3, 51.3);\n --tblr-danger-darken: color-mix(in oklab, var(--tblr-danger), transparent 20%);\n --tblr-danger-lt: rgb(250.9, 235.2, 235.2);\n --tblr-danger-lt: color-mix(in oklab, var(--tblr-danger) 10%, transparent);\n --tblr-danger-200: color-mix(in oklab, var(--tblr-danger) 20%, transparent);\n --tblr-danger-lt-rgb: 250.9, 235.2, 235.2;\n --tblr-light: #f9fafb;\n --tblr-light-rgb: 249, 250, 251;\n --tblr-light-fg: var(--tblr-dark);\n --tblr-light-darken: rgb(224.1, 225, 225.9);\n --tblr-light-darken: color-mix(in oklab, var(--tblr-light), transparent 20%);\n --tblr-light-lt: rgb(254.4, 254.5, 254.6);\n --tblr-light-lt: color-mix(in oklab, var(--tblr-light) 10%, transparent);\n --tblr-light-200: color-mix(in oklab, var(--tblr-light) 20%, transparent);\n --tblr-light-lt-rgb: 254.4, 254.5, 254.6;\n --tblr-dark: #1f2937;\n --tblr-dark-rgb: 31, 41, 55;\n --tblr-dark-fg: var(--tblr-light);\n --tblr-dark-darken: rgb(27.9, 36.9, 49.5);\n --tblr-dark-darken: color-mix(in oklab, var(--tblr-dark), transparent 20%);\n --tblr-dark-lt: rgb(232.6, 233.6, 235);\n --tblr-dark-lt: color-mix(in oklab, var(--tblr-dark) 10%, transparent);\n --tblr-dark-200: color-mix(in oklab, var(--tblr-dark) 20%, transparent);\n --tblr-dark-lt-rgb: 232.6, 233.6, 235;\n --tblr-muted: #6b7280;\n --tblr-muted-rgb: 107, 114, 128;\n --tblr-muted-fg: var(--tblr-light);\n --tblr-muted-darken: rgb(96.3, 102.6, 115.2);\n --tblr-muted-darken: color-mix(in oklab, var(--tblr-muted), transparent 20%);\n --tblr-muted-lt: rgb(240.2, 240.9, 242.3);\n --tblr-muted-lt: color-mix(in oklab, var(--tblr-muted) 10%, transparent);\n --tblr-muted-200: color-mix(in oklab, var(--tblr-muted) 20%, transparent);\n --tblr-muted-lt-rgb: 240.2, 240.9, 242.3;\n --tblr-blue: #066fd1;\n --tblr-blue-rgb: 6, 111, 209;\n --tblr-blue-fg: var(--tblr-light);\n --tblr-blue-darken: rgb(5.4, 99.9, 188.1);\n --tblr-blue-darken: color-mix(in oklab, var(--tblr-blue), transparent 20%);\n --tblr-blue-lt: rgb(230.1, 240.6, 250.4);\n --tblr-blue-lt: color-mix(in oklab, var(--tblr-blue) 10%, transparent);\n --tblr-blue-200: color-mix(in oklab, var(--tblr-blue) 20%, transparent);\n --tblr-blue-lt-rgb: 230.1, 240.6, 250.4;\n --tblr-azure: #4299e1;\n --tblr-azure-rgb: 66, 153, 225;\n --tblr-azure-fg: var(--tblr-light);\n --tblr-azure-darken: rgb(59.4, 137.7, 202.5);\n --tblr-azure-darken: color-mix(in oklab, var(--tblr-azure), transparent 20%);\n --tblr-azure-lt: rgb(236.1, 244.8, 252);\n --tblr-azure-lt: color-mix(in oklab, var(--tblr-azure) 10%, transparent);\n --tblr-azure-200: color-mix(in oklab, var(--tblr-azure) 20%, transparent);\n --tblr-azure-lt-rgb: 236.1, 244.8, 252;\n --tblr-indigo: #4263eb;\n --tblr-indigo-rgb: 66, 99, 235;\n --tblr-indigo-fg: var(--tblr-light);\n --tblr-indigo-darken: rgb(59.4, 89.1, 211.5);\n --tblr-indigo-darken: color-mix(in oklab, var(--tblr-indigo), transparent 20%);\n --tblr-indigo-lt: rgb(236.1, 239.4, 253);\n --tblr-indigo-lt: color-mix(in oklab, var(--tblr-indigo) 10%, transparent);\n --tblr-indigo-200: color-mix(in oklab, var(--tblr-indigo) 20%, transparent);\n --tblr-indigo-lt-rgb: 236.1, 239.4, 253;\n --tblr-purple: #ae3ec9;\n --tblr-purple-rgb: 174, 62, 201;\n --tblr-purple-fg: var(--tblr-light);\n --tblr-purple-darken: rgb(156.6, 55.8, 180.9);\n --tblr-purple-darken: color-mix(in oklab, var(--tblr-purple), transparent 20%);\n --tblr-purple-lt: rgb(246.9, 235.7, 249.6);\n --tblr-purple-lt: color-mix(in oklab, var(--tblr-purple) 10%, transparent);\n --tblr-purple-200: color-mix(in oklab, var(--tblr-purple) 20%, transparent);\n --tblr-purple-lt-rgb: 246.9, 235.7, 249.6;\n --tblr-pink: #d6336c;\n --tblr-pink-rgb: 214, 51, 108;\n --tblr-pink-fg: var(--tblr-light);\n --tblr-pink-darken: rgb(192.6, 45.9, 97.2);\n --tblr-pink-darken: color-mix(in oklab, var(--tblr-pink), transparent 20%);\n --tblr-pink-lt: rgb(250.9, 234.6, 240.3);\n --tblr-pink-lt: color-mix(in oklab, var(--tblr-pink) 10%, transparent);\n --tblr-pink-200: color-mix(in oklab, var(--tblr-pink) 20%, transparent);\n --tblr-pink-lt-rgb: 250.9, 234.6, 240.3;\n --tblr-red: #d63939;\n --tblr-red-rgb: 214, 57, 57;\n --tblr-red-fg: var(--tblr-light);\n --tblr-red-darken: rgb(192.6, 51.3, 51.3);\n --tblr-red-darken: color-mix(in oklab, var(--tblr-red), transparent 20%);\n --tblr-red-lt: rgb(250.9, 235.2, 235.2);\n --tblr-red-lt: color-mix(in oklab, var(--tblr-red) 10%, transparent);\n --tblr-red-200: color-mix(in oklab, var(--tblr-red) 20%, transparent);\n --tblr-red-lt-rgb: 250.9, 235.2, 235.2;\n --tblr-orange: #f76707;\n --tblr-orange-rgb: 247, 103, 7;\n --tblr-orange-fg: var(--tblr-light);\n --tblr-orange-darken: rgb(222.3, 92.7, 6.3);\n --tblr-orange-darken: color-mix(in oklab, var(--tblr-orange), transparent 20%);\n --tblr-orange-lt: rgb(254.2, 239.8, 230.2);\n --tblr-orange-lt: color-mix(in oklab, var(--tblr-orange) 10%, transparent);\n --tblr-orange-200: color-mix(in oklab, var(--tblr-orange) 20%, transparent);\n --tblr-orange-lt-rgb: 254.2, 239.8, 230.2;\n --tblr-yellow: #f59f00;\n --tblr-yellow-rgb: 245, 159, 0;\n --tblr-yellow-fg: var(--tblr-light);\n --tblr-yellow-darken: rgb(220.5, 143.1, 0);\n --tblr-yellow-darken: color-mix(in oklab, var(--tblr-yellow), transparent 20%);\n --tblr-yellow-lt: rgb(254, 245.4, 229.5);\n --tblr-yellow-lt: color-mix(in oklab, var(--tblr-yellow) 10%, transparent);\n --tblr-yellow-200: color-mix(in oklab, var(--tblr-yellow) 20%, transparent);\n --tblr-yellow-lt-rgb: 254, 245.4, 229.5;\n --tblr-lime: #74b816;\n --tblr-lime-rgb: 116, 184, 22;\n --tblr-lime-fg: var(--tblr-light);\n --tblr-lime-darken: rgb(104.4, 165.6, 19.8);\n --tblr-lime-darken: color-mix(in oklab, var(--tblr-lime), transparent 20%);\n --tblr-lime-lt: rgb(241.1, 247.9, 231.7);\n --tblr-lime-lt: color-mix(in oklab, var(--tblr-lime) 10%, transparent);\n --tblr-lime-200: color-mix(in oklab, var(--tblr-lime) 20%, transparent);\n --tblr-lime-lt-rgb: 241.1, 247.9, 231.7;\n --tblr-green: #2fb344;\n --tblr-green-rgb: 47, 179, 68;\n --tblr-green-fg: var(--tblr-light);\n --tblr-green-darken: rgb(42.3, 161.1, 61.2);\n --tblr-green-darken: color-mix(in oklab, var(--tblr-green), transparent 20%);\n --tblr-green-lt: rgb(234.2, 247.4, 236.3);\n --tblr-green-lt: color-mix(in oklab, var(--tblr-green) 10%, transparent);\n --tblr-green-200: color-mix(in oklab, var(--tblr-green) 20%, transparent);\n --tblr-green-lt-rgb: 234.2, 247.4, 236.3;\n --tblr-teal: #0ca678;\n --tblr-teal-rgb: 12, 166, 120;\n --tblr-teal-fg: var(--tblr-light);\n --tblr-teal-darken: rgb(10.8, 149.4, 108);\n --tblr-teal-darken: color-mix(in oklab, var(--tblr-teal), transparent 20%);\n --tblr-teal-lt: rgb(230.7, 246.1, 241.5);\n --tblr-teal-lt: color-mix(in oklab, var(--tblr-teal) 10%, transparent);\n --tblr-teal-200: color-mix(in oklab, var(--tblr-teal) 20%, transparent);\n --tblr-teal-lt-rgb: 230.7, 246.1, 241.5;\n --tblr-cyan: #17a2b8;\n --tblr-cyan-rgb: 23, 162, 184;\n --tblr-cyan-fg: var(--tblr-light);\n --tblr-cyan-darken: rgb(20.7, 145.8, 165.6);\n --tblr-cyan-darken: color-mix(in oklab, var(--tblr-cyan), transparent 20%);\n --tblr-cyan-lt: rgb(231.8, 245.7, 247.9);\n --tblr-cyan-lt: color-mix(in oklab, var(--tblr-cyan) 10%, transparent);\n --tblr-cyan-200: color-mix(in oklab, var(--tblr-cyan) 20%, transparent);\n --tblr-cyan-lt-rgb: 231.8, 245.7, 247.9;\n --tblr-x: #000000;\n --tblr-x-rgb: 0, 0, 0;\n --tblr-x-fg: var(--tblr-light);\n --tblr-x-darken: black;\n --tblr-x-darken: color-mix(in oklab, var(--tblr-x), transparent 20%);\n --tblr-x-lt: rgb(229.5, 229.5, 229.5);\n --tblr-x-lt: color-mix(in oklab, var(--tblr-x) 10%, transparent);\n --tblr-x-200: color-mix(in oklab, var(--tblr-x) 20%, transparent);\n --tblr-x-lt-rgb: 229.5, 229.5, 229.5;\n --tblr-facebook: #1877f2;\n --tblr-facebook-rgb: 24, 119, 242;\n --tblr-facebook-fg: var(--tblr-light);\n --tblr-facebook-darken: rgb(21.6, 107.1, 217.8);\n --tblr-facebook-darken: color-mix(in oklab, var(--tblr-facebook), transparent 20%);\n --tblr-facebook-lt: rgb(231.9, 241.4, 253.7);\n --tblr-facebook-lt: color-mix(in oklab, var(--tblr-facebook) 10%, transparent);\n --tblr-facebook-200: color-mix(in oklab, var(--tblr-facebook) 20%, transparent);\n --tblr-facebook-lt-rgb: 231.9, 241.4, 253.7;\n --tblr-twitter: #1da1f2;\n --tblr-twitter-rgb: 29, 161, 242;\n --tblr-twitter-fg: var(--tblr-light);\n --tblr-twitter-darken: rgb(26.1, 144.9, 217.8);\n --tblr-twitter-darken: color-mix(in oklab, var(--tblr-twitter), transparent 20%);\n --tblr-twitter-lt: rgb(232.4, 245.6, 253.7);\n --tblr-twitter-lt: color-mix(in oklab, var(--tblr-twitter) 10%, transparent);\n --tblr-twitter-200: color-mix(in oklab, var(--tblr-twitter) 20%, transparent);\n --tblr-twitter-lt-rgb: 232.4, 245.6, 253.7;\n --tblr-linkedin: #0a66c2;\n --tblr-linkedin-rgb: 10, 102, 194;\n --tblr-linkedin-fg: var(--tblr-light);\n --tblr-linkedin-darken: rgb(9, 91.8, 174.6);\n --tblr-linkedin-darken: color-mix(in oklab, var(--tblr-linkedin), transparent 20%);\n --tblr-linkedin-lt: rgb(230.5, 239.7, 248.9);\n --tblr-linkedin-lt: color-mix(in oklab, var(--tblr-linkedin) 10%, transparent);\n --tblr-linkedin-200: color-mix(in oklab, var(--tblr-linkedin) 20%, transparent);\n --tblr-linkedin-lt-rgb: 230.5, 239.7, 248.9;\n --tblr-google: #dc4e41;\n --tblr-google-rgb: 220, 78, 65;\n --tblr-google-fg: var(--tblr-light);\n --tblr-google-darken: rgb(198, 70.2, 58.5);\n --tblr-google-darken: color-mix(in oklab, var(--tblr-google), transparent 20%);\n --tblr-google-lt: rgb(251.5, 237.3, 236);\n --tblr-google-lt: color-mix(in oklab, var(--tblr-google) 10%, transparent);\n --tblr-google-200: color-mix(in oklab, var(--tblr-google) 20%, transparent);\n --tblr-google-lt-rgb: 251.5, 237.3, 236;\n --tblr-youtube: #ff0000;\n --tblr-youtube-rgb: 255, 0, 0;\n --tblr-youtube-fg: var(--tblr-light);\n --tblr-youtube-darken: rgb(229.5, 0, 0);\n --tblr-youtube-darken: color-mix(in oklab, var(--tblr-youtube), transparent 20%);\n --tblr-youtube-lt: rgb(255, 229.5, 229.5);\n --tblr-youtube-lt: color-mix(in oklab, var(--tblr-youtube) 10%, transparent);\n --tblr-youtube-200: color-mix(in oklab, var(--tblr-youtube) 20%, transparent);\n --tblr-youtube-lt-rgb: 255, 229.5, 229.5;\n --tblr-vimeo: #1ab7ea;\n --tblr-vimeo-rgb: 26, 183, 234;\n --tblr-vimeo-fg: var(--tblr-light);\n --tblr-vimeo-darken: rgb(23.4, 164.7, 210.6);\n --tblr-vimeo-darken: color-mix(in oklab, var(--tblr-vimeo), transparent 20%);\n --tblr-vimeo-lt: rgb(232.1, 247.8, 252.9);\n --tblr-vimeo-lt: color-mix(in oklab, var(--tblr-vimeo) 10%, transparent);\n --tblr-vimeo-200: color-mix(in oklab, var(--tblr-vimeo) 20%, transparent);\n --tblr-vimeo-lt-rgb: 232.1, 247.8, 252.9;\n --tblr-dribbble: #ea4c89;\n --tblr-dribbble-rgb: 234, 76, 137;\n --tblr-dribbble-fg: var(--tblr-light);\n --tblr-dribbble-darken: rgb(210.6, 68.4, 123.3);\n --tblr-dribbble-darken: color-mix(in oklab, var(--tblr-dribbble), transparent 20%);\n --tblr-dribbble-lt: rgb(252.9, 237.1, 243.2);\n --tblr-dribbble-lt: color-mix(in oklab, var(--tblr-dribbble) 10%, transparent);\n --tblr-dribbble-200: color-mix(in oklab, var(--tblr-dribbble) 20%, transparent);\n --tblr-dribbble-lt-rgb: 252.9, 237.1, 243.2;\n --tblr-github: #181717;\n --tblr-github-rgb: 24, 23, 23;\n --tblr-github-fg: var(--tblr-light);\n --tblr-github-darken: rgb(21.6, 20.7, 20.7);\n --tblr-github-darken: color-mix(in oklab, var(--tblr-github), transparent 20%);\n --tblr-github-lt: rgb(231.9, 231.8, 231.8);\n --tblr-github-lt: color-mix(in oklab, var(--tblr-github) 10%, transparent);\n --tblr-github-200: color-mix(in oklab, var(--tblr-github) 20%, transparent);\n --tblr-github-lt-rgb: 231.9, 231.8, 231.8;\n --tblr-instagram: #e4405f;\n --tblr-instagram-rgb: 228, 64, 95;\n --tblr-instagram-fg: var(--tblr-light);\n --tblr-instagram-darken: rgb(205.2, 57.6, 85.5);\n --tblr-instagram-darken: color-mix(in oklab, var(--tblr-instagram), transparent 20%);\n --tblr-instagram-lt: rgb(252.3, 235.9, 239);\n --tblr-instagram-lt: color-mix(in oklab, var(--tblr-instagram) 10%, transparent);\n --tblr-instagram-200: color-mix(in oklab, var(--tblr-instagram) 20%, transparent);\n --tblr-instagram-lt-rgb: 252.3, 235.9, 239;\n --tblr-pinterest: #bd081c;\n --tblr-pinterest-rgb: 189, 8, 28;\n --tblr-pinterest-fg: var(--tblr-light);\n --tblr-pinterest-darken: rgb(170.1, 7.2, 25.2);\n --tblr-pinterest-darken: color-mix(in oklab, var(--tblr-pinterest), transparent 20%);\n --tblr-pinterest-lt: rgb(248.4, 230.3, 232.3);\n --tblr-pinterest-lt: color-mix(in oklab, var(--tblr-pinterest) 10%, transparent);\n --tblr-pinterest-200: color-mix(in oklab, var(--tblr-pinterest) 20%, transparent);\n --tblr-pinterest-lt-rgb: 248.4, 230.3, 232.3;\n --tblr-vk: #6383a8;\n --tblr-vk-rgb: 99, 131, 168;\n --tblr-vk-fg: var(--tblr-light);\n --tblr-vk-darken: rgb(89.1, 117.9, 151.2);\n --tblr-vk-darken: color-mix(in oklab, var(--tblr-vk), transparent 20%);\n --tblr-vk-lt: rgb(239.4, 242.6, 246.3);\n --tblr-vk-lt: color-mix(in oklab, var(--tblr-vk) 10%, transparent);\n --tblr-vk-200: color-mix(in oklab, var(--tblr-vk) 20%, transparent);\n --tblr-vk-lt-rgb: 239.4, 242.6, 246.3;\n --tblr-rss: #ffa500;\n --tblr-rss-rgb: 255, 165, 0;\n --tblr-rss-fg: var(--tblr-dark);\n --tblr-rss-darken: rgb(229.5, 148.5, 0);\n --tblr-rss-darken: color-mix(in oklab, var(--tblr-rss), transparent 20%);\n --tblr-rss-lt: rgb(255, 246, 229.5);\n --tblr-rss-lt: color-mix(in oklab, var(--tblr-rss) 10%, transparent);\n --tblr-rss-200: color-mix(in oklab, var(--tblr-rss) 20%, transparent);\n --tblr-rss-lt-rgb: 255, 246, 229.5;\n --tblr-flickr: #0063dc;\n --tblr-flickr-rgb: 0, 99, 220;\n --tblr-flickr-fg: var(--tblr-light);\n --tblr-flickr-darken: rgb(0, 89.1, 198);\n --tblr-flickr-darken: color-mix(in oklab, var(--tblr-flickr), transparent 20%);\n --tblr-flickr-lt: rgb(229.5, 239.4, 251.5);\n --tblr-flickr-lt: color-mix(in oklab, var(--tblr-flickr) 10%, transparent);\n --tblr-flickr-200: color-mix(in oklab, var(--tblr-flickr) 20%, transparent);\n --tblr-flickr-lt-rgb: 229.5, 239.4, 251.5;\n --tblr-bitbucket: #0052cc;\n --tblr-bitbucket-rgb: 0, 82, 204;\n --tblr-bitbucket-fg: var(--tblr-light);\n --tblr-bitbucket-darken: rgb(0, 73.8, 183.6);\n --tblr-bitbucket-darken: color-mix(in oklab, var(--tblr-bitbucket), transparent 20%);\n --tblr-bitbucket-lt: rgb(229.5, 237.7, 249.9);\n --tblr-bitbucket-lt: color-mix(in oklab, var(--tblr-bitbucket) 10%, transparent);\n --tblr-bitbucket-200: color-mix(in oklab, var(--tblr-bitbucket) 20%, transparent);\n --tblr-bitbucket-lt-rgb: 229.5, 237.7, 249.9;\n --tblr-tabler: #066fd1;\n --tblr-tabler-rgb: 6, 111, 209;\n --tblr-tabler-fg: var(--tblr-light);\n --tblr-tabler-darken: rgb(5.4, 99.9, 188.1);\n --tblr-tabler-darken: color-mix(in oklab, var(--tblr-tabler), transparent 20%);\n --tblr-tabler-lt: rgb(230.1, 240.6, 250.4);\n --tblr-tabler-lt: color-mix(in oklab, var(--tblr-tabler) 10%, transparent);\n --tblr-tabler-200: color-mix(in oklab, var(--tblr-tabler) 20%, transparent);\n --tblr-tabler-lt-rgb: 230.1, 240.6, 250.4;\n /** Gray colors */\n --tblr-gray-50-fg: var(--tblr-body-color);\n --tblr-gray-100-fg: var(--tblr-body-color);\n --tblr-gray-200-fg: var(--tblr-body-color);\n --tblr-gray-300-fg: var(--tblr-body-color);\n --tblr-gray-400-fg: var(--tblr-white);\n --tblr-gray-500-fg: var(--tblr-white);\n --tblr-gray-600-fg: var(--tblr-white);\n --tblr-gray-700-fg: var(--tblr-white);\n --tblr-gray-800-fg: var(--tblr-white);\n --tblr-gray-900-fg: var(--tblr-white);\n --tblr-gray-950-fg: var(--tblr-white);\n /** Spacers */\n --tblr-spacer-0: 0;\n --tblr-spacer-1: 0.25rem;\n --tblr-spacer-2: 0.5rem;\n --tblr-spacer-3: 1rem;\n --tblr-spacer-4: 1.5rem;\n --tblr-spacer-5: 2rem;\n --tblr-spacer-6: 2.5rem;\n /** Font sizes */\n --tblr-font-weight-light: 300;\n --tblr-font-weight-normal: 400;\n --tblr-font-weight-medium: 500;\n --tblr-font-weight-semibold: 600;\n --tblr-font-weight-bold: 700;\n --tblr-font-weight-headings: var(--tblr-font-weight-semibold);\n --tblr-font-size-h1: 1.5rem;\n --tblr-font-size-h2: 1.25rem;\n --tblr-font-size-h3: 1rem;\n --tblr-font-size-h4: 0.875rem;\n --tblr-font-size-h5: 0.75rem;\n --tblr-font-size-h6: 0.625rem;\n --tblr-line-height-h1: 2rem;\n --tblr-line-height-h2: 1.75rem;\n --tblr-line-height-h3: 1.5rem;\n --tblr-line-height-h4: 1.25rem;\n --tblr-line-height-h5: 1rem;\n --tblr-line-height-h6: 1rem;\n --tblr-line-height-base: 1.4285714286;\n --tblr-line-height-sm: 1.1428571429;\n --tblr-line-height-lg: 1.7142857143;\n --tblr-line-height-xl: 2;\n /** Shadows */\n --tblr-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08);\n --tblr-shadow-xs: 0 1px 2px 0 rgba(18, 18, 23, 0.05);\n --tblr-shadow-sm: 0 1px 3px 0 rgba(18, 18, 23, 0.1), 0 1px 2px 0 rgba(18, 18, 23, 0.06);\n --tblr-shadow-md: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08);\n --tblr-shadow-lg: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08);\n --tblr-shadow-xl: 0px 10px 10px -5px rgba(18, 18, 23, 0.04), 0px 20px 25px -5px rgba(18, 18, 23, 0.1);\n --tblr-shadow-2xl: 0px 25px 50px -12px rgba(18, 18, 23, 0.25);\n --tblr-shadow-overlay: 0px 2px 4px 0px rgba(18, 18, 23, 0.04), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 0px 0px 1px rgba(18, 18, 23, 0.1);\n --tblr-shadow-border: 0px 0px 0px 1px rgba(18, 18, 23, 0.1);\n --tblr-shadow-transparent: 0 0 0 0 transparent;\n --tblr-shadow-input: 0 1px 2px 0 rgba(18, 18, 23, 0.05);\n --tblr-shadow-card: 0 1px 2px 0 rgba(18, 18, 23, 0.05);\n --tblr-shadow-card-hover: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08);\n --tblr-shadow-dropdown: 0px 2px 4px 0px rgba(18, 18, 23, 0.04), 0px 5px 8px 0px rgba(18, 18, 23, 0.04), 0px 10px 18px 0px rgba(18, 18, 23, 0.03), 0px 24px 48px 0px rgba(18, 18, 23, 0.03), 0px 0px 0px 1px rgba(18, 18, 23, 0.1);\n /** Border radiuses */\n --tblr-border-radius-scale: 1;\n --tblr-border-radius-0: calc(0 * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-xs: calc(2px * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-sm: calc(4px * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-md: calc(6px * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-lg: calc(8px * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius-pill: calc(100rem * var(--tblr-border-radius-scale, 1));\n --tblr-border-radius: var(--tblr-border-radius-md);\n /** Backdrops */\n --tblr-backdrop-opacity: 0.32;\n --tblr-backdrop-bg: var(--tblr-bg-surface-dark);\n --tblr-backdrop-bg-dark: color-mix(in srgb, var(--tblr-color-dark), transparent var(--tblr-backdrop-opacity));\n --tblr-backdrop-bg-light: color-mix(in srgb, var(--tblr-color-light), transparent var(--tblr-backdrop-opacity));\n --tblr-backdrop-blur: 4px;\n --tblr-backdrop-filter: blur(var(--tblr-backdrop-blur));\n}\n\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-Thin.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-Thin.ttf\") format(\"truetype\");\n font-weight: 100;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-UltraLight.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-UltraLight.ttf\") format(\"truetype\");\n font-weight: 200;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-Light.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-Light.ttf\") format(\"truetype\");\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-Regular.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-Regular.ttf\") format(\"truetype\");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-Medium.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-Medium.ttf\") format(\"truetype\");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-SemiBold.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-SemiBold.ttf\") format(\"truetype\");\n font-weight: 600;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-Bold.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-Bold.ttf\") format(\"truetype\");\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-Black.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-Black.ttf\") format(\"truetype\");\n font-weight: 800;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-UltraBlack.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-UltraBlack.ttf\") format(\"truetype\");\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist\";\n src: url(\"../fonts/geist-sans/Geist-Variable.woff2\") format(\"woff2\"), url(\"../fonts/geist-sans/Geist-Variable.ttf\") format(\"truetype\");\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-Thin.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-Thin.ttf\") format(\"truetype\");\n font-weight: 100;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-UltraLight.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-UltraLight.ttf\") format(\"truetype\");\n font-weight: 200;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-Light.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-Light.ttf\") format(\"truetype\");\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-Regular.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-Regular.ttf\") format(\"truetype\");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-Medium.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-Medium.ttf\") format(\"truetype\");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-SemiBold.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-SemiBold.ttf\") format(\"truetype\");\n font-weight: 600;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-Bold.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-Bold.ttf\") format(\"truetype\");\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-Black.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-Black.ttf\") format(\"truetype\");\n font-weight: 800;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-UltraBlack.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-UltraBlack.ttf\") format(\"truetype\");\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Geist Mono\";\n src: url(\"../fonts/geist-mono/GeistMono-Variable.woff2\") format(\"woff2\"), url(\"../fonts/geist-mono/GeistMono-Variable.ttf\") format(\"truetype\");\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n}\n:root,\n:host {\n font-size: 16px;\n height: 100%;\n}\n\n:root,\n:host,\n[data-bs-theme=light],\n[data-theme=light] {\n color-scheme: light;\n --tblr-spacer: var(--tblr-spacer-2);\n --tblr-bg-surface: var(--tblr-bg-surface-primary);\n --tblr-bg-surface-primary: var(--tblr-white);\n --tblr-bg-surface-secondary: var(--tblr-gray-50);\n --tblr-bg-surface-tertiary: var(--tblr-gray-50);\n --tblr-bg-surface-dark: var(--tblr-gray-900);\n --tblr-bg-surface-inverted: var(--tblr-gray-900);\n --tblr-bg-forms: var(--tblr-bg-surface);\n --tblr-text-inverted: var(--tblr-gray-100);\n --tblr-body-color: var(--tblr-gray-700);\n --tblr-body-bg: var(--tblr-bg-surface-secondary);\n --tblr-link-color: var(--tblr-primary);\n --tblr-link-hover-color: color-mix(in srgb, var(--tblr-primary), #000 20%);\n --tblr-secondary: var(--tblr-gray-500);\n --tblr-tertiary: var(--tblr-gray-400);\n --tblr-border-color: var(--tblr-gray-200);\n --tblr-border-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 11.9%, transparent);\n --tblr-border-dark-color: var(--tblr-gray-300);\n --tblr-border-dark-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 20.7%, transparent);\n --tblr-border-light-color: var(--tblr-gray-200);\n --tblr-border-light-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 4.7%, transparent);\n --tblr-border-active-color: var(--tblr-gray-400);\n --tblr-border-active-color-translucent: color-mix(in srgb, var(--tblr-gray-800) 44.8%, transparent);\n --tblr-icon-color: var(--tblr-gray-400);\n --tblr-active-bg: color-mix(in srgb, var(--tblr-primary) 4%, transparent);\n --tblr-disabled-bg: var(--tblr-bg-surface-secondary);\n --tblr-disabled-color: color-mix(in srgb, var(--tblr-body-color) 40%, transparent);\n --tblr-code-color: light-dark(var(--tblr-gray-600), var(--tblr-gray-400));\n --tblr-code-bg: light-dark(var(--tblr-gray-100), var(--tblr-gray-900));\n --tblr-dark-mode-border-color: rgb(45.7069767442, 60.4511627907, 81.0930232558);\n --tblr-dark-mode-border-color-translucent: rgba(128, 150, 172, 0.2);\n --tblr-dark-mode-border-active-color: rgb(53.0604651163, 70.176744186, 94.1395348837);\n --tblr-dark-mode-border-dark-color: rgb(38.3534883721, 50.7255813953, 68.0465116279);\n --tblr-page-padding: var(--tblr-spacer-3);\n --tblr-page-padding-y: var(--tblr-spacer-4);\n}\n@media (max-width: 991.98px) {\n :root,\n :host,\n [data-bs-theme=light],\n [data-theme=light] {\n --tblr-page-padding: var(--tblr-spacer-2);\n }\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(1);\n }\n 14% {\n transform: scale(1.25);\n }\n 28% {\n transform: scale(1);\n }\n 42% {\n transform: scale(1.25);\n }\n 70% {\n transform: scale(1);\n }\n}\n@keyframes tada {\n 0% {\n transform: scale3d(1, 1, 1);\n }\n 10%, 5% {\n transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -5deg);\n }\n 15%, 25%, 35%, 45% {\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg);\n }\n 20%, 30%, 40% {\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg);\n }\n 50% {\n transform: scale3d(1, 1, 1);\n }\n}\n@keyframes rotate-360 {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes blink {\n from {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes shake {\n 0% {\n transform: scaleX(1);\n }\n 20% {\n transform: scale3d(0.9, 0.9, 0.9) rotate(-5deg);\n }\n 50%, 70%, 90% {\n transform: scale3d(1.25, 1.25, 1.25) rotate(5deg);\n }\n 60%, 80% {\n transform: scale3d(1.25, 1.25, 1.25) rotate(-5deg);\n }\n to {\n transform: scaleX(1);\n }\n}\nhtml {\n scrollbar-gutter: stable;\n}\n@supports not (scrollbar-gutter: stable) {\n html {\n overflow-y: scroll;\n }\n}\n\nbody {\n letter-spacing: 0;\n touch-action: manipulation;\n text-rendering: optimizeLegibility;\n font-feature-settings: \"liga\" 0, \"cv03\", \"cv04\", \"cv11\";\n position: relative;\n min-height: 100%;\n height: 100%;\n padding: 0;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n@media print {\n body {\n background: transparent;\n }\n}\n\n* {\n scrollbar-color: color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent) transparent;\n}\n\n*::-webkit-scrollbar {\n width: 1rem;\n height: 1rem;\n transition: background 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n *::-webkit-scrollbar {\n transition: none;\n }\n}\n\n*::-webkit-scrollbar-thumb {\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n *::-webkit-scrollbar-thumb {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\n*::-webkit-scrollbar-thumb {\n border: 5px solid transparent;\n box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent);\n}\n\n*::-webkit-scrollbar-track {\n background: transparent;\n}\n\n*:hover::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%, transparent);\n}\n\n*::-webkit-scrollbar-corner {\n background: transparent;\n}\n\n.layout-fluid .container,\n.layout-fluid [class^=container-],\n.layout-fluid [class*=\" container-\"] {\n max-width: 100%;\n}\n\n.layout-boxed {\n --tblr-theme-boxed-border-radius: 0;\n --tblr-theme-boxed-width: 1320px;\n}\n@media (min-width: 768px) {\n .layout-boxed {\n background: #1f2937 linear-gradient(to right, rgba(255, 255, 255, 0.1), transparent) fixed;\n padding: 1rem;\n --tblr-theme-boxed-border-radius: 6px;\n }\n}\n.layout-boxed .page {\n margin: 0 auto;\n max-width: var(--tblr-theme-boxed-width);\n border-radius: var(--tblr-theme-boxed-border-radius);\n}\n@supports (corner-shape: squircle) {\n .layout-boxed .page {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-theme-boxed-border-radius) * 2.5) !important;\n }\n}\n.layout-boxed .page {\n color: var(--tblr-body-color);\n}\n@media (min-width: 768px) {\n .layout-boxed .page {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n background: var(--tblr-body-bg);\n }\n}\n.layout-boxed .page > .navbar:first-child {\n border-start-start-radius: var(--tblr-theme-boxed-border-radius);\n border-start-end-radius: var(--tblr-theme-boxed-border-radius);\n}\n\n/**\nNavbar\n */\n.navbar {\n --tblr-navbar-bg: var(--tblr-bg-surface);\n --tblr-navbar-border-width: var(--tblr-border-width);\n --tblr-navbar-active-border-color: var(--tblr-primary);\n --tblr-navbar-active-bg: rgba(0, 0, 0, 0.2);\n --tblr-navbar-border-color: var(--tblr-border-color);\n --tblr-navbar-hover-color: var(--tblr-body-color);\n align-items: stretch;\n min-height: 3.5rem;\n box-shadow: inset 0 calc(-1 * var(--tblr-navbar-border-width)) 0 0 var(--tblr-navbar-border-color);\n background: var(--tblr-navbar-bg);\n color: var(--tblr-navbar-color);\n}\n.navbar-collapse .navbar {\n flex-grow: 1;\n}\n.navbar.collapsing {\n min-height: 0;\n}\n.navbar .dropdown-menu {\n position: absolute;\n z-index: 1030;\n}\n.navbar .navbar-nav {\n min-height: 3rem;\n}\n.navbar .navbar-nav .nav-link {\n position: relative;\n min-width: 2.5rem;\n min-height: 2.5rem;\n justify-content: center;\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .navbar .navbar-nav .nav-link {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.navbar .navbar-nav .nav-link .badge {\n position: absolute;\n top: 0.5rem;\n inset-inline-end: 0.5rem;\n transform: translate(50%, -50%);\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm .navbar-collapse {\n flex-direction: column;\n }\n .navbar-expand-sm .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-expand-sm .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-expand-sm .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-expand-sm .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-expand-sm .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-expand-sm .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-expand-sm .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 576px) {\n .navbar-expand-sm .navbar-collapse {\n width: auto;\n flex: 1 1 auto;\n }\n .navbar-expand-sm .nav-item.active {\n position: relative;\n }\n .navbar-expand-sm .nav-item.active .nav-link {\n color: var(--tblr-navbar-active-color);\n }\n .navbar-expand-sm .nav-item.active:after {\n content: \"\";\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n bottom: -0.25rem;\n border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);\n border-bottom-width: 2px;\n }\n .navbar-expand-sm.navbar-vertical {\n box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-sm.navbar-vertical.navbar-right, .navbar-expand-sm.navbar-vertical.navbar-end {\n box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-sm.navbar-vertical ~ .navbar,\n .navbar-expand-sm.navbar-vertical ~ .page-wrapper {\n margin-inline-start: 15rem;\n }\n .navbar-expand-sm.navbar-vertical.navbar-right ~ .navbar,\n .navbar-expand-sm.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-sm.navbar-vertical.navbar-end ~ .navbar,\n .navbar-expand-sm.navbar-vertical.navbar-end ~ .page-wrapper {\n margin-inline-start: 0;\n margin-inline-end: 15rem;\n }\n}\n@media (max-width: 767.98px) {\n .navbar-expand-md .navbar-collapse {\n flex-direction: column;\n }\n .navbar-expand-md .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-expand-md .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-expand-md .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-expand-md .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-expand-md .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-expand-md .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-expand-md .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md .navbar-collapse {\n width: auto;\n flex: 1 1 auto;\n }\n .navbar-expand-md .nav-item.active {\n position: relative;\n }\n .navbar-expand-md .nav-item.active .nav-link {\n color: var(--tblr-navbar-active-color);\n }\n .navbar-expand-md .nav-item.active:after {\n content: \"\";\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n bottom: -0.25rem;\n border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);\n border-bottom-width: 2px;\n }\n .navbar-expand-md.navbar-vertical {\n box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-md.navbar-vertical.navbar-right, .navbar-expand-md.navbar-vertical.navbar-end {\n box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-md.navbar-vertical ~ .navbar,\n .navbar-expand-md.navbar-vertical ~ .page-wrapper {\n margin-inline-start: 15rem;\n }\n .navbar-expand-md.navbar-vertical.navbar-right ~ .navbar,\n .navbar-expand-md.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-md.navbar-vertical.navbar-end ~ .navbar,\n .navbar-expand-md.navbar-vertical.navbar-end ~ .page-wrapper {\n margin-inline-start: 0;\n margin-inline-end: 15rem;\n }\n}\n@media (max-width: 991.98px) {\n .navbar-expand-lg .navbar-collapse {\n flex-direction: column;\n }\n .navbar-expand-lg .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-expand-lg .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-expand-lg .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-expand-lg .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-expand-lg .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-expand-lg .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-expand-lg .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg .navbar-collapse {\n width: auto;\n flex: 1 1 auto;\n }\n .navbar-expand-lg .nav-item.active {\n position: relative;\n }\n .navbar-expand-lg .nav-item.active .nav-link {\n color: var(--tblr-navbar-active-color);\n }\n .navbar-expand-lg .nav-item.active:after {\n content: \"\";\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n bottom: -0.25rem;\n border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);\n border-bottom-width: 2px;\n }\n .navbar-expand-lg.navbar-vertical {\n box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-lg.navbar-vertical.navbar-right, .navbar-expand-lg.navbar-vertical.navbar-end {\n box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-lg.navbar-vertical ~ .navbar,\n .navbar-expand-lg.navbar-vertical ~ .page-wrapper {\n margin-inline-start: 15rem;\n }\n .navbar-expand-lg.navbar-vertical.navbar-right ~ .navbar,\n .navbar-expand-lg.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-lg.navbar-vertical.navbar-end ~ .navbar,\n .navbar-expand-lg.navbar-vertical.navbar-end ~ .page-wrapper {\n margin-inline-start: 0;\n margin-inline-end: 15rem;\n }\n}\n@media (max-width: 1199.98px) {\n .navbar-expand-xl .navbar-collapse {\n flex-direction: column;\n }\n .navbar-expand-xl .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-expand-xl .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-expand-xl .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-expand-xl .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-expand-xl .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-expand-xl .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-expand-xl .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl .navbar-collapse {\n width: auto;\n flex: 1 1 auto;\n }\n .navbar-expand-xl .nav-item.active {\n position: relative;\n }\n .navbar-expand-xl .nav-item.active .nav-link {\n color: var(--tblr-navbar-active-color);\n }\n .navbar-expand-xl .nav-item.active:after {\n content: \"\";\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n bottom: -0.25rem;\n border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);\n border-bottom-width: 2px;\n }\n .navbar-expand-xl.navbar-vertical {\n box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-xl.navbar-vertical.navbar-right, .navbar-expand-xl.navbar-vertical.navbar-end {\n box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-xl.navbar-vertical ~ .navbar,\n .navbar-expand-xl.navbar-vertical ~ .page-wrapper {\n margin-inline-start: 15rem;\n }\n .navbar-expand-xl.navbar-vertical.navbar-right ~ .navbar,\n .navbar-expand-xl.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-xl.navbar-vertical.navbar-end ~ .navbar,\n .navbar-expand-xl.navbar-vertical.navbar-end ~ .page-wrapper {\n margin-inline-start: 0;\n margin-inline-end: 15rem;\n }\n}\n@media (max-width: 1399.98px) {\n .navbar-expand-xxl .navbar-collapse {\n flex-direction: column;\n }\n .navbar-expand-xxl .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-expand-xxl .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-expand-xxl .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-expand-xxl .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-expand-xxl .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-expand-xxl .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl .navbar-collapse {\n width: auto;\n flex: 1 1 auto;\n }\n .navbar-expand-xxl .nav-item.active {\n position: relative;\n }\n .navbar-expand-xxl .nav-item.active .nav-link {\n color: var(--tblr-navbar-active-color);\n }\n .navbar-expand-xxl .nav-item.active:after {\n content: \"\";\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n bottom: -0.25rem;\n border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);\n border-bottom-width: 2px;\n }\n .navbar-expand-xxl.navbar-vertical {\n box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-xxl.navbar-vertical.navbar-right, .navbar-expand-xxl.navbar-vertical.navbar-end {\n box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n }\n .navbar-expand-xxl.navbar-vertical ~ .navbar,\n .navbar-expand-xxl.navbar-vertical ~ .page-wrapper {\n margin-inline-start: 15rem;\n }\n .navbar-expand-xxl.navbar-vertical.navbar-right ~ .navbar,\n .navbar-expand-xxl.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand-xxl.navbar-vertical.navbar-end ~ .navbar,\n .navbar-expand-xxl.navbar-vertical.navbar-end ~ .page-wrapper {\n margin-inline-start: 0;\n margin-inline-end: 15rem;\n }\n}\n.navbar-expand .navbar-collapse {\n flex-direction: column;\n}\n.navbar-expand .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n}\n.navbar-expand .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n}\n.navbar-expand .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n}\n.navbar-expand .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n}\n.navbar-expand .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n}\n.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n}\n.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n}\n.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n}\n.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n}\n.navbar-expand .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n}\n.navbar-expand .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n}\n.navbar-expand .navbar-collapse {\n width: auto;\n flex: 1 1 auto;\n}\n.navbar-expand .nav-item.active {\n position: relative;\n}\n.navbar-expand .nav-item.active .nav-link {\n color: var(--tblr-navbar-active-color);\n}\n.navbar-expand .nav-item.active:after {\n content: \"\";\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n bottom: -0.25rem;\n border: 0 var(--tblr-border-style) var(--tblr-navbar-active-border-color);\n border-bottom-width: 2px;\n}\n.navbar-expand.navbar-vertical {\n box-shadow: inset calc(-1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n}\n.navbar-expand.navbar-vertical.navbar-right, .navbar-expand.navbar-vertical.navbar-end {\n box-shadow: inset calc(1 * var(--tblr-navbar-border-width)) 0 0 0 var(--tblr-navbar-border-color);\n}\n.navbar-expand.navbar-vertical ~ .navbar,\n.navbar-expand.navbar-vertical ~ .page-wrapper {\n margin-inline-start: 15rem;\n}\n.navbar-expand.navbar-vertical.navbar-right ~ .navbar,\n.navbar-expand.navbar-vertical.navbar-right ~ .page-wrapper, .navbar-expand.navbar-vertical.navbar-end ~ .navbar,\n.navbar-expand.navbar-vertical.navbar-end ~ .page-wrapper {\n margin-inline-start: 0;\n margin-inline-end: 15rem;\n}\n\n/**\nNavbar brand\n */\n.navbar-brand {\n display: inline-flex;\n align-items: center;\n font-weight: var(--tblr-font-weight-semibold);\n margin: 0;\n line-height: 1;\n gap: 0.5rem;\n}\n\n.navbar-brand-image {\n height: 2rem;\n width: auto;\n}\n\n/**\nNavbar toggler\n */\n.navbar-toggler {\n border: 0;\n width: 2rem;\n height: 2rem;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-toggler-icon {\n height: 2px;\n width: 1.25em;\n background: currentColor;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .navbar-toggler-icon {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.navbar-toggler-icon {\n position: relative;\n transition: top 0.2s 0.2s, bottom 0.2s 0.2s, transform 0.2s, opacity 0s 0.2s;\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler-icon {\n transition: none;\n }\n}\n.navbar-toggler-icon:before, .navbar-toggler-icon:after {\n content: \"\";\n display: block;\n height: inherit;\n width: inherit;\n border-radius: inherit;\n background: inherit;\n position: absolute;\n inset-inline-start: 0;\n transition: inherit;\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler-icon:before, .navbar-toggler-icon:after {\n transition: none;\n }\n}\n.navbar-toggler-icon:before {\n top: -0.45em;\n}\n.navbar-toggler-icon:after {\n bottom: -0.45em;\n}\n.navbar-toggler[aria-expanded=true] .navbar-toggler-icon {\n transform: rotate(45deg);\n transition: top 0.3s, bottom 0.3s, transform 0.3s 0.3s, opacity 0s 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler[aria-expanded=true] .navbar-toggler-icon {\n transition: none;\n }\n}\n.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before {\n top: 0;\n transform: rotate(-90deg);\n}\n.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after {\n bottom: 0;\n opacity: 0;\n}\n\n/**\nNavbar transparent\n */\n.navbar-transparent {\n --tblr-navbar-border-color: transparent !important;\n background: transparent !important;\n}\n\n/**\nNavbar nav\n */\n.navbar-nav {\n --tblr-nav-link-hover-bg: color-mix(in srgb, var(--tblr-nav-link-color) 4%, transparent);\n --tblr-nav-link-icon-color: color-mix(in srgb, var(--tblr-nav-link-color) 50%, transparent);\n --tblr-nav-link-hover-icon-color: color-mix(in srgb, var(--tblr-nav-link-color) 80%, transparent);\n margin: 0;\n padding: 0;\n align-items: stretch;\n}\n.navbar-nav .nav-item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n/**\nNavbar side\n */\n.navbar-side {\n margin: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-around;\n}\n\n/**\nNavbar vertical\n */\n@media (min-width: 576px) {\n .navbar-vertical.navbar-expand-sm {\n width: 15rem;\n position: fixed;\n top: 0;\n inset-inline-start: 0;\n bottom: 0;\n z-index: 1030;\n align-items: start;\n overflow-y: scroll;\n padding: 0;\n transition: transform 0.3s;\n }\n}\n@media (min-width: 576px) and (prefers-reduced-motion: reduce) {\n .navbar-vertical.navbar-expand-sm {\n transition: none;\n }\n}\n@media (min-width: 576px) {\n .navbar-vertical.navbar-expand-sm.navbar-right, .navbar-vertical.navbar-expand-sm.navbar-end {\n inset-inline-start: auto;\n inset-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-sm .navbar-brand {\n padding: 0.75rem 0;\n justify-content: center;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse {\n align-items: stretch;\n }\n .navbar-vertical.navbar-expand-sm .navbar-nav {\n flex-direction: column;\n flex-grow: 1;\n min-height: auto;\n }\n .navbar-vertical.navbar-expand-sm .navbar-nav .nav-link {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .navbar-vertical.navbar-expand-sm > [class^=container] {\n flex-direction: column;\n align-items: stretch;\n min-height: 100%;\n justify-content: start;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-sm ~ .page {\n padding-inline-start: 15rem;\n }\n .navbar-vertical.navbar-expand-sm ~ .page [class^=container] {\n padding-inline-start: 1.5rem;\n padding-inline-end: 1.5rem;\n }\n .navbar-vertical.navbar-expand-sm.navbar-right ~ .page, .navbar-vertical.navbar-expand-sm.navbar-end ~ .page {\n padding-inline-start: 0;\n padding-inline-end: 15rem;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-vertical.navbar-expand-sm .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-vertical.navbar-expand-md {\n width: 15rem;\n position: fixed;\n top: 0;\n inset-inline-start: 0;\n bottom: 0;\n z-index: 1030;\n align-items: start;\n overflow-y: scroll;\n padding: 0;\n transition: transform 0.3s;\n }\n}\n@media (min-width: 768px) and (prefers-reduced-motion: reduce) {\n .navbar-vertical.navbar-expand-md {\n transition: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-vertical.navbar-expand-md.navbar-right, .navbar-vertical.navbar-expand-md.navbar-end {\n inset-inline-start: auto;\n inset-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-md .navbar-brand {\n padding: 0.75rem 0;\n justify-content: center;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse {\n align-items: stretch;\n }\n .navbar-vertical.navbar-expand-md .navbar-nav {\n flex-direction: column;\n flex-grow: 1;\n min-height: auto;\n }\n .navbar-vertical.navbar-expand-md .navbar-nav .nav-link {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .navbar-vertical.navbar-expand-md > [class^=container] {\n flex-direction: column;\n align-items: stretch;\n min-height: 100%;\n justify-content: start;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-md ~ .page {\n padding-inline-start: 15rem;\n }\n .navbar-vertical.navbar-expand-md ~ .page [class^=container] {\n padding-inline-start: 1.5rem;\n padding-inline-end: 1.5rem;\n }\n .navbar-vertical.navbar-expand-md.navbar-right ~ .page, .navbar-vertical.navbar-expand-md.navbar-end ~ .page {\n padding-inline-start: 0;\n padding-inline-end: 15rem;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-vertical.navbar-expand-md .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 992px) {\n .navbar-vertical.navbar-expand-lg {\n width: 15rem;\n position: fixed;\n top: 0;\n inset-inline-start: 0;\n bottom: 0;\n z-index: 1030;\n align-items: start;\n overflow-y: scroll;\n padding: 0;\n transition: transform 0.3s;\n }\n}\n@media (min-width: 992px) and (prefers-reduced-motion: reduce) {\n .navbar-vertical.navbar-expand-lg {\n transition: none;\n }\n}\n@media (min-width: 992px) {\n .navbar-vertical.navbar-expand-lg.navbar-right, .navbar-vertical.navbar-expand-lg.navbar-end {\n inset-inline-start: auto;\n inset-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-lg .navbar-brand {\n padding: 0.75rem 0;\n justify-content: center;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse {\n align-items: stretch;\n }\n .navbar-vertical.navbar-expand-lg .navbar-nav {\n flex-direction: column;\n flex-grow: 1;\n min-height: auto;\n }\n .navbar-vertical.navbar-expand-lg .navbar-nav .nav-link {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .navbar-vertical.navbar-expand-lg > [class^=container] {\n flex-direction: column;\n align-items: stretch;\n min-height: 100%;\n justify-content: start;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-lg ~ .page {\n padding-inline-start: 15rem;\n }\n .navbar-vertical.navbar-expand-lg ~ .page [class^=container] {\n padding-inline-start: 1.5rem;\n padding-inline-end: 1.5rem;\n }\n .navbar-vertical.navbar-expand-lg.navbar-right ~ .page, .navbar-vertical.navbar-expand-lg.navbar-end ~ .page {\n padding-inline-start: 0;\n padding-inline-end: 15rem;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-vertical.navbar-expand-lg .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 1200px) {\n .navbar-vertical.navbar-expand-xl {\n width: 15rem;\n position: fixed;\n top: 0;\n inset-inline-start: 0;\n bottom: 0;\n z-index: 1030;\n align-items: start;\n overflow-y: scroll;\n padding: 0;\n transition: transform 0.3s;\n }\n}\n@media (min-width: 1200px) and (prefers-reduced-motion: reduce) {\n .navbar-vertical.navbar-expand-xl {\n transition: none;\n }\n}\n@media (min-width: 1200px) {\n .navbar-vertical.navbar-expand-xl.navbar-right, .navbar-vertical.navbar-expand-xl.navbar-end {\n inset-inline-start: auto;\n inset-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-xl .navbar-brand {\n padding: 0.75rem 0;\n justify-content: center;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse {\n align-items: stretch;\n }\n .navbar-vertical.navbar-expand-xl .navbar-nav {\n flex-direction: column;\n flex-grow: 1;\n min-height: auto;\n }\n .navbar-vertical.navbar-expand-xl .navbar-nav .nav-link {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .navbar-vertical.navbar-expand-xl > [class^=container] {\n flex-direction: column;\n align-items: stretch;\n min-height: 100%;\n justify-content: start;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-xl ~ .page {\n padding-inline-start: 15rem;\n }\n .navbar-vertical.navbar-expand-xl ~ .page [class^=container] {\n padding-inline-start: 1.5rem;\n padding-inline-end: 1.5rem;\n }\n .navbar-vertical.navbar-expand-xl.navbar-right ~ .page, .navbar-vertical.navbar-expand-xl.navbar-end ~ .page {\n padding-inline-start: 0;\n padding-inline-end: 15rem;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-vertical.navbar-expand-xl .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n@media (min-width: 1400px) {\n .navbar-vertical.navbar-expand-xxl {\n width: 15rem;\n position: fixed;\n top: 0;\n inset-inline-start: 0;\n bottom: 0;\n z-index: 1030;\n align-items: start;\n overflow-y: scroll;\n padding: 0;\n transition: transform 0.3s;\n }\n}\n@media (min-width: 1400px) and (prefers-reduced-motion: reduce) {\n .navbar-vertical.navbar-expand-xxl {\n transition: none;\n }\n}\n@media (min-width: 1400px) {\n .navbar-vertical.navbar-expand-xxl.navbar-right, .navbar-vertical.navbar-expand-xxl.navbar-end {\n inset-inline-start: auto;\n inset-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-brand {\n padding: 0.75rem 0;\n justify-content: center;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse {\n align-items: stretch;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-nav {\n flex-direction: column;\n flex-grow: 1;\n min-height: auto;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-nav .nav-link {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n .navbar-vertical.navbar-expand-xxl > [class^=container] {\n flex-direction: column;\n align-items: stretch;\n min-height: 100%;\n justify-content: start;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-xxl ~ .page {\n padding-inline-start: 15rem;\n }\n .navbar-vertical.navbar-expand-xxl ~ .page [class^=container] {\n padding-inline-start: 1.5rem;\n padding-inline-end: 1.5rem;\n }\n .navbar-vertical.navbar-expand-xxl.navbar-right ~ .page, .navbar-vertical.navbar-expand-xxl.navbar-end ~ .page {\n padding-inline-start: 0;\n padding-inline-end: 15rem;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n }\n .navbar-vertical.navbar-expand-xxl .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n }\n}\n.navbar-vertical.navbar-expand {\n width: 15rem;\n position: fixed;\n top: 0;\n inset-inline-start: 0;\n bottom: 0;\n z-index: 1030;\n align-items: start;\n overflow-y: scroll;\n padding: 0;\n transition: transform 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-vertical.navbar-expand {\n transition: none;\n }\n}\n.navbar-vertical.navbar-expand.navbar-right, .navbar-vertical.navbar-expand.navbar-end {\n inset-inline-start: auto;\n inset-inline-end: 0;\n}\n.navbar-vertical.navbar-expand .navbar-brand {\n padding: 0.75rem 0;\n justify-content: center;\n}\n.navbar-vertical.navbar-expand .navbar-collapse {\n align-items: stretch;\n}\n.navbar-vertical.navbar-expand .navbar-nav {\n flex-direction: column;\n flex-grow: 1;\n min-height: auto;\n}\n.navbar-vertical.navbar-expand .navbar-nav .nav-link {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.navbar-vertical.navbar-expand > [class^=container] {\n flex-direction: column;\n align-items: stretch;\n min-height: 100%;\n justify-content: start;\n padding: 0;\n}\n.navbar-vertical.navbar-expand ~ .page {\n padding-inline-start: 15rem;\n}\n.navbar-vertical.navbar-expand ~ .page [class^=container] {\n padding-inline-start: 1.5rem;\n padding-inline-end: 1.5rem;\n}\n.navbar-vertical.navbar-expand.navbar-right ~ .page, .navbar-vertical.navbar-expand.navbar-end ~ .page {\n padding-inline-start: 0;\n padding-inline-end: 15rem;\n}\n.navbar-vertical.navbar-expand .navbar-collapse {\n flex-direction: column;\n}\n.navbar-vertical.navbar-expand .navbar-collapse [class^=container] {\n flex-direction: column;\n align-items: stretch;\n padding: 0;\n}\n.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav {\n margin-inline-start: 0;\n margin-inline-end: 0;\n}\n.navbar-vertical.navbar-expand .navbar-collapse .navbar-nav .nav-link {\n padding: 0.5rem calc(calc(var(--tblr-page-padding) * 2) / 2);\n justify-content: start;\n}\n.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu-columns {\n flex-direction: column;\n}\n.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu {\n padding: 0;\n background: transparent;\n position: static;\n color: inherit;\n box-shadow: none;\n border: none;\n min-width: 0;\n margin: 0;\n}\n.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item {\n min-width: 0;\n display: flex;\n width: auto;\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 1.75rem);\n color: inherit;\n}\n.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.disabled {\n color: var(--tblr-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item.active, .navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-item:active {\n background: var(--tblr-navbar-active-bg);\n}\n.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 3.25rem);\n}\n.navbar-vertical.navbar-expand .navbar-collapse .dropdown-menu .dropdown-menu .dropdown-menu .dropdown-item {\n padding-inline-start: calc(calc(calc(var(--tblr-page-padding) * 2) / 2) + 4.75rem);\n}\n.navbar-vertical.navbar-expand .navbar-collapse .dropdown-toggle:after {\n margin-inline-start: auto;\n}\n.navbar-vertical.navbar-expand .navbar-collapse .nav-item.active:after {\n border-bottom-width: 0;\n border-inline-start-width: 3px;\n inset-inline-end: auto;\n top: 0;\n bottom: 0;\n}\n\n.navbar-overlap:after {\n content: \"\";\n height: 9rem;\n position: absolute;\n top: 100%;\n inset-inline-start: 0;\n inset-inline-end: 0;\n background: inherit;\n z-index: -1;\n box-shadow: inherit;\n}\n\n.page {\n display: flex;\n flex-direction: column;\n position: relative;\n min-height: 100%;\n}\n\n.page-center {\n justify-content: center;\n}\n\n.page-wrapper {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n@media print {\n .page-wrapper {\n margin: 0 !important;\n }\n}\n\n.page-wrapper-full .page-body:first-child {\n margin: 0;\n border-top: 0;\n}\n\n.page-body {\n margin-top: var(--tblr-page-padding-y);\n margin-bottom: var(--tblr-page-padding-y);\n display: flex;\n flex-direction: column;\n flex: 1;\n}\n\n.page-body-card {\n background: var(--tblr-bg-surface);\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n padding: var(--tblr-page-padding) 0;\n margin-bottom: 0;\n flex: 1;\n}\n.page-body ~ .page-body-card {\n margin-top: 0;\n}\n\n.page-cover {\n background: no-repeat center/cover;\n min-height: 9rem;\n}\n@media (min-width: 768px) {\n .page-cover {\n min-height: 12rem;\n }\n}\n@media (min-width: 992px) {\n .page-cover {\n min-height: 15rem;\n }\n}\n\n.page-cover-overlay {\n position: relative;\n}\n.page-cover-overlay:after {\n content: \"\";\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n inset-inline-end: 0;\n bottom: 0;\n background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);\n}\n\n.page-header {\n display: flex;\n flex-wrap: wrap;\n min-height: 2.25rem;\n flex-direction: column;\n justify-content: center;\n max-width: 100%;\n}\n.page-wrapper .page-header {\n margin: var(--tblr-page-padding-y) 0 0;\n}\n\n.page-header-border {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n padding: var(--tblr-page-padding-y) 0;\n margin: 0 !important;\n background-color: var(--tblr-bg-surface);\n}\n\n.page-pretitle {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n}\n\n.page-title {\n margin: 0;\n font-size: var(--tblr-font-size-h2);\n line-height: var(--tblr-line-height-h2);\n font-weight: var(--tblr-font-weight-headings);\n color: inherit;\n display: flex;\n align-items: center;\n}\n.page-title svg {\n width: 1.5rem;\n height: 1.5rem;\n margin-inline-end: 0.25rem;\n}\n\n.page-title-lg {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.page-subtitle {\n margin-top: 0.25rem;\n color: var(--tblr-secondary);\n}\n\n.page-cover {\n --tblr-page-cover-blur: 20px;\n --tblr-page-cover-padding: 1rem;\n min-height: 6rem;\n padding: var(--tblr-page-cover-padding) 0;\n position: relative;\n overflow: hidden;\n}\n\n.page-cover-img {\n position: absolute;\n top: calc(-2 * var(--tblr-page-cover-blur, 0));\n inset-inline-start: calc(-2 * var(--tblr-page-cover-blur, 0));\n inset-inline-end: calc(-2 * var(--tblr-page-cover-blur, 0));\n bottom: calc(-2 * var(--tblr-page-cover-blur, 0));\n pointer-events: none;\n filter: blur(var(--tblr-page-cover-blur));\n object-fit: cover;\n background-size: cover;\n background-position: center;\n z-index: -1;\n}\n\n.page-tabs {\n margin-top: 0.5rem;\n position: relative;\n}\n\n.page-header-tabs .nav-bordered {\n border: 0;\n}\n.page-header-tabs + .page-body-card {\n margin-top: 0;\n}\n\n.footer {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n background-color: var(--tblr-bg-surface);\n padding: 2rem 0;\n color: var(--tblr-gray-500);\n margin-top: auto;\n}\n@media print {\n .footer {\n display: none;\n }\n}\n\n.footer-transparent {\n background-color: transparent;\n border-top: 0;\n}\n\n:root:not(.theme-dark):not([data-bs-theme=dark], [data-theme=dark]) .hide-theme-light {\n display: none !important;\n}\n:root:not(.theme-dark):not([data-bs-theme=dark], [data-theme=dark]) .img-dark {\n display: none !important;\n}\n:root.theme-dark .hide-theme-dark, :root[data-bs-theme=dark] .hide-theme-dark, body[data-bs-theme=dark] [data-bs-theme=light]:root .hide-theme-dark,\nbody[data-theme=dark] [data-theme=light]:root .hide-theme-dark, :root[data-theme=dark] .hide-theme-dark {\n display: none !important;\n}\n:root.theme-dark .img-light, :root[data-bs-theme=dark] .img-light, body[data-bs-theme=dark] [data-bs-theme=light]:root .img-light,\nbody[data-theme=dark] [data-theme=light]:root .img-light, :root[data-theme=dark] .img-light {\n display: none !important;\n}\n\n[data-bs-theme=dark], body[data-bs-theme=dark] [data-bs-theme=light],\nbody[data-theme=dark] [data-theme=light],\n[data-theme=dark] {\n color-scheme: dark;\n --tblr-body-color: var(--tblr-gray-200);\n --tblr-secondary: var(--tblr-gray-400);\n --tblr-body-bg: var(--tblr-gray-900);\n --tblr-emphasis-color: #ffffff;\n --tblr-emphasis-color-rgb: 255, 255, 255;\n --tblr-bg-forms: var(--tblr-gray-900);\n --tblr-bg-surface: var(--tblr-gray-800);\n --tblr-bg-surface-inverted: var(--tblr-gray-100);\n --tblr-bg-surface-secondary: var(--tblr-gray-900);\n --tblr-bg-surface-tertiary: var(--tblr-gray-800);\n --tblr-text-inverted: var(--tblr-gray-800);\n --tblr-link-color: var(--tblr-primary);\n --tblr-link-hover-color: color-mix(in srgb, var(--tblr-primary), black 20%);\n --tblr-active-bg: rgb(34.676744186, 45.8627906977, 61.523255814);\n --tblr-disabled-color: color-mix(in srgb, var(--tblr-body-color) 40%, transparent);\n --tblr-border-color: var(--tblr-gray-700);\n --tblr-border-color-translucent: var(--tblr-dark-mode-border-color-translucent);\n --tblr-border-dark-color: var(--tblr-dark-mode-border-dark-color);\n --tblr-border-active-color: var(--tblr-dark-mode-border-active-color);\n --tblr-btn-color: rgb(27.323255814, 36.1372093023, 48.476744186);\n}\n[data-bs-theme=dark] .navbar-brand-autodark .navbar-brand-image,\n[data-theme=dark] .navbar-brand-autodark .navbar-brand-image {\n filter: brightness(0) invert(1);\n}\n\n.accordion {\n --tblr-accordion-color: var(--tblr-body-color);\n --tblr-accordion-border-color: var(--tblr-border-color);\n --tblr-accordion-border-radius: var(--tblr-border-radius);\n --tblr-accordion-inner-border-radius: calc(var(--tblr-border-radius) - (var(--tblr-border-width)));\n --tblr-accordion-padding-x: 1.25rem;\n --tblr-accordion-gap: 0;\n --tblr-accordion-active-color: inherit;\n --tblr-accordion-btn-color: var(--tblr-accordion-color);\n --tblr-accordion-btn-bg: transparent;\n --tblr-accordion-btn-toggle-width: 1.25rem;\n --tblr-accordion-btn-padding-x: var(--tblr-accordion-padding-x);\n --tblr-accordion-btn-padding-y: 1rem;\n --tblr-accordion-btn-font-weight: var(--tblr-font-weight-medium);\n --tblr-accordion-body-padding-x: var(--tblr-accordion-padding-x);\n --tblr-accordion-body-padding-y: 1rem;\n display: flex;\n flex-direction: column;\n gap: var(--tblr-accordion-gap);\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--tblr-accordion-btn-padding-y) var(--tblr-accordion-padding-x);\n color: inherit;\n text-align: inherit;\n background-color: transparent;\n border: 0;\n font-size: inherit;\n font-weight: var(--tblr-accordion-btn-font-weight);\n gap: 0.75rem;\n}\n.accordion-button:not(.collapsed) {\n border-bottom-color: transparent;\n box-shadow: none;\n color: var(--tblr-accordion-active-color);\n}\n\n.accordion-header {\n margin: 0;\n position: relative;\n display: flex;\n gap: 1rem;\n align-items: center;\n width: 100%;\n color: var(--tblr-accordion-btn-color);\n text-align: start;\n background-color: transparent;\n border: 0;\n overflow-anchor: none;\n transition: transform 0.3s;\n}\n.accordion-header:hover {\n z-index: 2;\n}\n.accordion-header:focus {\n z-index: 3;\n outline: 0;\n box-shadow: var(--tblr-accordion-btn-focus-box-shadow);\n}\n.accordion-header:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n}\n\n.accordion-button-icon {\n color: var(--tblr-secondary);\n}\n\n.accordion-button-toggle {\n display: flex;\n line-height: 1;\n transition: 0.3s transform;\n margin-inline-start: auto;\n margin-inline-end: 0;\n color: var(--tblr-secondary);\n width: var(--tblr-accordion-btn-toggle-width);\n height: var(--tblr-accordion-btn-toggle-width);\n}\n.accordion-button:not(.collapsed) .accordion-button-toggle {\n transform: rotate(-180deg);\n color: var(--tblr-accordion-active-color);\n}\n.accordion-button-toggle path {\n transition: 0.3s opacity;\n}\n\n.accordion-button:not(.collapsed) .accordion-button-toggle-plus path:first-child {\n opacity: 0;\n}\n\n.accordion-item {\n color: var(--tblr-accordion-color);\n border: var(--tblr-border-width) solid var(--tblr-accordion-border-color);\n}\n.accordion-item:first-of-type {\n border-top-left-radius: var(--tblr-accordion-border-radius);\n border-top-right-radius: var(--tblr-accordion-border-radius);\n}\n.accordion-item:first-of-type > .accordion-header {\n border-top-left-radius: var(--tblr-accordion-inner-border-radius);\n border-top-right-radius: var(--tblr-accordion-inner-border-radius);\n}\n.accordion-item:not(:first-of-type) {\n border-top: 0;\n}\n.accordion-item:last-of-type {\n border-bottom-right-radius: var(--tblr-accordion-border-radius);\n border-bottom-left-radius: var(--tblr-accordion-border-radius);\n}\n.accordion-item:last-of-type > .accordion-header.collapsed {\n border-bottom-right-radius: var(--tblr-accordion-inner-border-radius);\n border-bottom-left-radius: var(--tblr-accordion-inner-border-radius);\n}\n.accordion-item:last-of-type > .accordion-collapse {\n border-bottom-right-radius: var(--tblr-accordion-border-radius);\n border-bottom-left-radius: var(--tblr-accordion-border-radius);\n}\n\n.accordion-body {\n color: var(--tblr-secondary);\n padding: 0 var(--tblr-accordion-body-padding-x) var(--tblr-accordion-body-padding-y);\n}\n\n.accordion-flush > .accordion-item {\n border-inline-end: 0;\n border-inline-start: 0;\n border-radius: 0;\n}\n.accordion-flush > .accordion-item:first-child {\n border-top: 0;\n}\n.accordion-flush > .accordion-item:last-child {\n border-bottom: 0;\n}\n.accordion-flush > .accordion-item > .accordion-collapse,\n.accordion-flush > .accordion-item > .accordion-header .accordion-button,\n.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {\n border-radius: 0;\n}\n\n.accordion-tabs {\n --tblr-accordion-gap: 0.75rem;\n}\n.accordion-tabs > .accordion-item {\n border: var(--tblr-border-width) solid var(--tblr-accordion-border-color);\n border-radius: var(--tblr-accordion-border-radius);\n}\n@supports (corner-shape: squircle) {\n .accordion-tabs > .accordion-item {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-accordion-border-radius) * 2.5) !important;\n }\n}\n\n.accordion-inverted .accordion-button-toggle {\n order: -1;\n margin-inline-start: 0;\n}\n\n.alert {\n --tblr-alert-variant-color: var(--tblr-body-color);\n --tblr-alert-color: var(--tblr-alert-variant-color);\n --tblr-alert-bg: color-mix(in srgb, var(--tblr-alert-variant-color) 16%, var(--tblr-bg-surface));\n --tblr-alert-padding-x: 1rem;\n --tblr-alert-padding-y: 0.75rem;\n --tblr-alert-margin-bottom: 1rem;\n --tblr-alert-border-color: color-mix(in srgb, var(--tblr-alert-variant-color) 20%, var(--tblr-bg-surface));\n --tblr-alert-border-color: var(--tblr-border-color);\n --tblr-alert-border: var(--tblr-border-width) solid var(--tblr-alert-border-color);\n --tblr-alert-border-radius: var(--tblr-border-radius);\n --tblr-alert-link-color: inherit;\n --tblr-alert-heading-font-weight: var(--tblr-font-weight-medium);\n position: relative;\n padding: var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);\n margin-bottom: var(--tblr-alert-margin-bottom);\n background-color: color-mix(in srgb, var(--tblr-alert-bg), var(--tblr-bg-surface));\n border-radius: var(--tblr-alert-border-radius);\n}\n@supports (corner-shape: squircle) {\n .alert {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-alert-border-radius) * 2.5) !important;\n }\n}\n.alert {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-alert-border-color);\n box-shadow: var(--tblr-box-shadow);\n color: var(--tblr-alert-color);\n display: flex;\n flex-direction: row;\n gap: 1rem;\n}\n\n.alert-heading {\n color: inherit;\n margin-bottom: 0.25rem;\n font-weight: var(--tblr-alert-heading-font-weight);\n}\n\n.alert-description {\n color: var(--tblr-secondary);\n}\n\n.alert-icon {\n color: var(--tblr-alert-color);\n width: 1.25rem !important;\n height: 1.25rem !important;\n}\n\n.alert-action {\n color: var(--tblr-alert-color);\n text-decoration: underline;\n}\n.alert-action:hover {\n text-decoration: none;\n}\n\n.alert-list {\n margin: 0;\n}\n\n.alert-link {\n font-weight: var(--tblr-font-weight-semibold);\n color: var(--tblr-alert-link-color);\n}\n.alert-link, .alert-link:hover {\n color: var(--tblr-alert-color);\n}\n\n.alert-dismissible {\n padding-inline-end: 3rem;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: calc(var(--tblr-alert-padding-x) / 2 - 1px);\n inset-inline-end: calc(var(--tblr-alert-padding-y) / 2 - 1px);\n z-index: 1;\n padding: calc(var(--tblr-alert-padding-y) * 1.25) var(--tblr-alert-padding-x);\n}\n\n.alert-important {\n background-color: var(--tblr-alert-variant-color);\n color: var(--tblr-white);\n}\n.alert-important .alert-description {\n color: inherit;\n}\n.alert-important .alert-icon {\n color: inherit;\n}\n\n.alert-minor {\n background: transparent;\n border-color: var(--tblr-border-color);\n}\n\n.alert-primary {\n --tblr-alert-variant-color: var(--tblr-primary);\n}\n\n.alert-secondary {\n --tblr-alert-variant-color: var(--tblr-secondary);\n}\n\n.alert-success {\n --tblr-alert-variant-color: var(--tblr-success);\n}\n\n.alert-info {\n --tblr-alert-variant-color: var(--tblr-info);\n}\n\n.alert-warning {\n --tblr-alert-variant-color: var(--tblr-warning);\n}\n\n.alert-danger {\n --tblr-alert-variant-color: var(--tblr-danger);\n}\n\n.alert-light {\n --tblr-alert-variant-color: var(--tblr-light);\n}\n\n.alert-dark {\n --tblr-alert-variant-color: var(--tblr-dark);\n}\n\n.alert-muted {\n --tblr-alert-variant-color: var(--tblr-muted);\n}\n\n.alert-blue {\n --tblr-alert-variant-color: var(--tblr-blue);\n}\n\n.alert-azure {\n --tblr-alert-variant-color: var(--tblr-azure);\n}\n\n.alert-indigo {\n --tblr-alert-variant-color: var(--tblr-indigo);\n}\n\n.alert-purple {\n --tblr-alert-variant-color: var(--tblr-purple);\n}\n\n.alert-pink {\n --tblr-alert-variant-color: var(--tblr-pink);\n}\n\n.alert-red {\n --tblr-alert-variant-color: var(--tblr-red);\n}\n\n.alert-orange {\n --tblr-alert-variant-color: var(--tblr-orange);\n}\n\n.alert-yellow {\n --tblr-alert-variant-color: var(--tblr-yellow);\n}\n\n.alert-lime {\n --tblr-alert-variant-color: var(--tblr-lime);\n}\n\n.alert-green {\n --tblr-alert-variant-color: var(--tblr-green);\n}\n\n.alert-teal {\n --tblr-alert-variant-color: var(--tblr-teal);\n}\n\n.alert-cyan {\n --tblr-alert-variant-color: var(--tblr-cyan);\n}\n\n.avatar {\n --tblr-avatar-size: var(--tblr-avatar-list-size, 2.5rem);\n --tblr-avatar-status-size: 0.75rem;\n --tblr-avatar-bg: var(--tblr-bg-surface-secondary);\n --tblr-avatar-box-shadow-color: var(--tblr-border-color-translucent);\n --tblr-avatar-box-shadow: inset 0 0 0 1px var(--tblr-avatar-box-shadow-color);\n --tblr-avatar-font-size: 1rem;\n --tblr-avatar-icon-size: 1.5rem;\n --tblr-avatar-brand-size: 1.25rem;\n --tblr-avatar-border-radius: var(--tblr-border-radius-pill);\n position: relative;\n width: var(--tblr-avatar-size);\n height: var(--tblr-avatar-size);\n font-size: var(--tblr-avatar-font-size);\n font-weight: var(--tblr-font-weight-medium);\n line-height: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--tblr-secondary);\n text-align: center;\n text-transform: uppercase;\n vertical-align: bottom;\n user-select: none;\n background: var(--tblr-avatar-bg) no-repeat center/cover;\n border-radius: var(--tblr-avatar-border-radius);\n}\n@supports (corner-shape: squircle) {\n .avatar {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-avatar-border-radius) * 2.5) !important;\n }\n}\n.avatar {\n box-shadow: var(--tblr-avatar-box-shadow);\n transition: color 0.3s, background-color 0.3s, box-shadow 0.3s;\n}\n.avatar .icon {\n width: var(--tblr-avatar-icon-size);\n height: var(--tblr-avatar-icon-size);\n}\n.avatar .badge {\n position: absolute;\n inset-inline-end: 0;\n bottom: 0;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .avatar .badge {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.avatar .badge {\n box-shadow: 0 0 0 calc(var(--tblr-avatar-status-size) / 4) var(--tblr-bg-surface);\n}\na.avatar {\n cursor: pointer;\n}\na.avatar:hover {\n color: var(--tblr-primary);\n --tblr-avatar-box-shadow-color: var(--tblr-primary);\n}\n\n.avatar-rounded {\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .avatar-rounded {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n\n.avatar-square {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .avatar-square {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.avatar-xxs {\n --tblr-avatar-size: 1rem;\n --tblr-avatar-status-size: 0.25rem;\n --tblr-avatar-font-size: 0.5rem;\n --tblr-avatar-icon-size: 0.5rem;\n --tblr-avatar-brand-size: 0.5rem;\n}\n.avatar-xxs .badge:empty {\n width: 0.25rem;\n height: 0.25rem;\n}\n@supports (corner-shape: squircle) {\n .avatar-xxs.avatar-square {\n corner-shape: squircle;\n border-radius: calc( * 2.5) !important;\n }\n}\n\n.avatar-xs {\n --tblr-avatar-size: 1.25rem;\n --tblr-avatar-status-size: 0.375rem;\n --tblr-avatar-font-size: 0.625rem;\n --tblr-avatar-icon-size: 0.75rem;\n --tblr-avatar-brand-size: 0.75rem;\n}\n.avatar-xs .badge:empty {\n width: 0.375rem;\n height: 0.375rem;\n}\n.avatar-xs.avatar-square {\n border-radius: 2px;\n}\n@supports (corner-shape: squircle) {\n .avatar-xs.avatar-square {\n corner-shape: squircle;\n border-radius: calc(2px * 2.5) !important;\n }\n}\n\n.avatar-sm {\n --tblr-avatar-size: 2rem;\n --tblr-avatar-status-size: 0.5rem;\n --tblr-avatar-font-size: 0.75rem;\n --tblr-avatar-icon-size: 1.5rem;\n --tblr-avatar-brand-size: 1rem;\n}\n.avatar-sm .badge:empty {\n width: 0.5rem;\n height: 0.5rem;\n}\n@supports (corner-shape: squircle) {\n .avatar-sm.avatar-square {\n corner-shape: squircle;\n border-radius: calc( * 2.5) !important;\n }\n}\n\n.avatar-md {\n --tblr-avatar-size: 2.5rem;\n --tblr-avatar-status-size: 0.75rem;\n --tblr-avatar-font-size: 0.875rem;\n --tblr-avatar-icon-size: 1.5rem;\n --tblr-avatar-brand-size: 1.25rem;\n}\n.avatar-md .badge:empty {\n width: 0.75rem;\n height: 0.75rem;\n}\n@supports (corner-shape: squircle) {\n .avatar-md.avatar-square {\n corner-shape: squircle;\n border-radius: calc( * 2.5) !important;\n }\n}\n\n.avatar-lg {\n --tblr-avatar-size: 3rem;\n --tblr-avatar-status-size: 0.75rem;\n --tblr-avatar-font-size: 1.25rem;\n --tblr-avatar-icon-size: 2rem;\n --tblr-avatar-brand-size: 1.25rem;\n}\n.avatar-lg .badge:empty {\n width: 0.75rem;\n height: 0.75rem;\n}\n@supports (corner-shape: squircle) {\n .avatar-lg.avatar-square {\n corner-shape: squircle;\n border-radius: calc( * 2.5) !important;\n }\n}\n\n.avatar-xl {\n --tblr-avatar-size: 5rem;\n --tblr-avatar-status-size: 1rem;\n --tblr-avatar-font-size: 2rem;\n --tblr-avatar-icon-size: 3rem;\n --tblr-avatar-brand-size: 1.25rem;\n}\n.avatar-xl .badge:empty {\n width: 1rem;\n height: 1rem;\n}\n@supports (corner-shape: squircle) {\n .avatar-xl.avatar-square {\n corner-shape: squircle;\n border-radius: calc( * 2.5) !important;\n }\n}\n\n.avatar-2xl {\n --tblr-avatar-size: 7rem;\n --tblr-avatar-status-size: 1rem;\n --tblr-avatar-font-size: 3rem;\n --tblr-avatar-icon-size: 5rem;\n --tblr-avatar-brand-size: 2rem;\n}\n.avatar-2xl .badge:empty {\n width: 1rem;\n height: 1rem;\n}\n@supports (corner-shape: squircle) {\n .avatar-2xl.avatar-square {\n corner-shape: squircle;\n border-radius: calc( * 2.5) !important;\n }\n}\n\n.avatar-list {\n --tblr-avatar-list-size: 2.5rem;\n --tblr-list-gap: 0.5rem;\n display: flex;\n flex-wrap: wrap;\n gap: var(--tblr-list-gap);\n}\n.avatar-list a.avatar:hover {\n z-index: 1;\n}\n\n.avatar-list-stacked {\n display: block;\n --tblr-list-gap: 0;\n}\n.avatar-list-stacked .avatar {\n box-shadow: var(--tblr-avatar-box-shadow), 0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface));\n}\n.avatar-list-stacked .avatar:not(:first-child) {\n margin-inline-start: calc(-0.5 * var(--tblr-avatar-size)) !important;\n}\n\n.avatar-list-xxs {\n --tblr-avatar-list-size: 1rem;\n}\n\n.avatar-list-xs {\n --tblr-avatar-list-size: 1.25rem;\n}\n\n.avatar-list-sm {\n --tblr-avatar-list-size: 2rem;\n}\n\n.avatar-list-md {\n --tblr-avatar-list-size: 2.5rem;\n}\n\n.avatar-list-lg {\n --tblr-avatar-list-size: 3rem;\n}\n\n.avatar-list-xl {\n --tblr-avatar-list-size: 5rem;\n}\n\n.avatar-list-2xl {\n --tblr-avatar-list-size: 7rem;\n}\n\n.avatar-upload {\n border: var(--tblr-border-width) dashed var(--tblr-border-color);\n background: var(--tblr-bg-forms);\n box-shadow: none;\n flex-direction: column;\n transition: color 0.3s, background-color 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .avatar-upload {\n transition: none;\n }\n}\n.avatar-upload svg {\n width: 1.5rem;\n height: 1.5rem;\n stroke-width: 1;\n}\n.avatar-upload:hover {\n border-color: var(--tblr-primary);\n color: var(--tblr-primary);\n text-decoration: none;\n}\n\n.avatar-upload-text {\n font-size: 0.625rem;\n line-height: 1;\n margin-top: 0.25rem;\n}\n\n.avatar-cover {\n margin-top: calc(-0.5 * var(--tblr-avatar-size));\n box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-body-bg));\n}\n\n.avatar-brand {\n width: var(--tblr-avatar-brand-size);\n height: var(--tblr-avatar-brand-size);\n position: absolute;\n inset-inline-end: -2px;\n bottom: -2px;\n z-index: 1000;\n background: var(--tblr-bg-surface);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .avatar-brand {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.avatar-brand {\n border: 1px solid var(--tblr-border-color);\n}\n\n.badge {\n --tblr-badge-padding-x: 0.5em;\n --tblr-badge-padding-y: 0.25em;\n --tblr-badge-font-size: 0.85714285em;\n --tblr-badge-font-weight: var(--tblr-font-weight-medium);\n --tblr-badge-color: var(--tblr-secondary);\n --tblr-badge-border-radius: var(--tblr-border-radius);\n --tblr-badge-icon-size: 1em;\n --tblr-badge-line-height: 1;\n display: inline-flex;\n padding: var(--tblr-badge-padding-y) var(--tblr-badge-padding-x);\n font-weight: var(--tblr-badge-font-weight);\n font-size: var(--tblr-badge-font-size);\n color: var(--tblr-badge-color);\n text-align: center;\n white-space: nowrap;\n justify-content: center;\n align-items: center;\n gap: 0.25rem;\n background: var(--tblr-bg-surface-secondary);\n overflow: hidden;\n user-select: none;\n border: var(--tblr-border-width) var(--tblr-border-style) transparent;\n border-radius: var(--tblr-badge-border-radius);\n}\n@supports (corner-shape: squircle) {\n .badge {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-badge-border-radius) * 2.5) !important;\n }\n}\n.badge {\n min-width: calc(1em + var(--tblr-badge-padding-y) * 2 + 2px);\n letter-spacing: 0.04em;\n vertical-align: bottom;\n line-height: var(--tblr-badge-line-height);\n}\na.badge {\n background: var(--tblr-bg-surface-secondary);\n}\n\n.badge .icon {\n width: 1em;\n height: 1em;\n font-size: var(--tblr-badge-icon-size);\n stroke-width: 2;\n}\n\n.badge:empty,\n.badge-dot {\n display: inline-block;\n width: 0.5rem;\n height: 0.5rem;\n min-width: 0;\n min-height: auto;\n padding: 0;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .badge:empty,\n .badge-dot {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.badge:empty,\n.badge-dot {\n vertical-align: baseline;\n}\n\n.badge-outline {\n background-color: transparent;\n border: var(--tblr-border-width) var(--tblr-border-style) currentColor;\n}\n\n.badge-pill {\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .badge-pill {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n\n.badges-list {\n --tblr-list-gap: 0.5rem;\n display: flex;\n flex-wrap: wrap;\n gap: var(--tblr-list-gap);\n}\n\n.badge-notification {\n position: absolute !important;\n top: 0 !important;\n inset-inline-end: 0 !important;\n transform: translate(50%, -50%);\n z-index: 1;\n}\n\n.badge-blink {\n animation: blink 2s infinite;\n}\n\n.badge-sm {\n --tblr-badge-font-size: 0.71428571em;\n --tblr-badge-icon-size: 1em;\n --tblr-badge-padding-y: 2px;\n --tblr-badge-padding-x: 0.25rem;\n}\n\n.badge-lg {\n --tblr-badge-font-size: 1em;\n --tblr-badge-icon-size: 1em;\n --tblr-badge-padding-y: 0.25rem;\n --tblr-badge-padding-x: 0.5rem;\n}\n\n.badge-icononly {\n --tblr-badge-padding-x: 0;\n}\n\n.breadcrumb {\n --tblr-breadcrumb-padding-x: 0;\n --tblr-breadcrumb-padding-y: 0;\n --tblr-breadcrumb-margin-bottom: 1rem;\n --tblr-breadcrumb-font-size: ;\n --tblr-breadcrumb-bg: ;\n --tblr-breadcrumb-border-radius: ;\n --tblr-breadcrumb-divider-color: var(--tblr-gray-500);\n --tblr-breadcrumb-item-padding-x: 0.5rem;\n --tblr-breadcrumb-item-active-color: inherit;\n --tblr-breadcrumb-item-active-font-weight: var(--tblr-font-weight-semibold);\n --tblr-breadcrumb-item-disabled-color: var(--tblr-disabled-color);\n --tblr-breadcrumb-link-color: var(--tblr-link-color);\n display: flex;\n flex-wrap: wrap;\n font-size: var(--tblr-breadcrumb-font-size);\n list-style: none;\n background-color: var(--tblr-breadcrumb-bg);\n border-radius: var(--tblr-breadcrumb-border-radius);\n}\n@supports (corner-shape: squircle) {\n .breadcrumb {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-breadcrumb-border-radius) * 2.5) !important;\n }\n}\n.breadcrumb {\n padding: 0;\n margin: 0;\n background: transparent;\n}\n.breadcrumb a {\n color: var(--tblr-breadcrumb-link-color);\n}\n.breadcrumb a:hover {\n text-decoration: underline;\n}\n\n.breadcrumb-muted {\n --tblr-breadcrumb-link-color: var(--tblr-secondary);\n}\n\n.breadcrumb-item.active {\n color: var(--tblr-breadcrumb-item-active-color);\n font-weight: var(--tblr-breadcrumb-item-active-font-weight);\n}\n.breadcrumb-item.active a {\n color: inherit;\n pointer-events: none;\n}\n.breadcrumb-item.disabled {\n color: var(--tblr-breadcrumb-item-disabled-color);\n}\n.breadcrumb-item.disabled:before {\n color: inherit;\n}\n.breadcrumb-item.disabled a {\n color: inherit;\n pointer-events: none;\n}\n.breadcrumb-item + .breadcrumb-item {\n padding-inline-start: var(--tblr-breadcrumb-item-padding-x);\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: inline-start;\n padding-inline-end: var(--tblr-breadcrumb-item-padding-x);\n color: var(--tblr-breadcrumb-divider-color);\n content: var(--tblr-breadcrumb-divider, \"/\");\n /*rtl:raw:\n transform: scaleX(-1);\n */\n}\n\n.breadcrumb-dots {\n --tblr-breadcrumb-divider: '·';\n}\n\n.breadcrumb-arrows {\n --tblr-breadcrumb-divider: '›';\n}\n\n.breadcrumb-bullets {\n --tblr-breadcrumb-divider: '•';\n}\n\n.btn {\n --tblr-btn-icon-size: 1.25rem;\n --tblr-btn-icon-color: inherit;\n --tblr-btn-bg: var(--tblr-bg-surface);\n --tblr-btn-color: var(--tblr-body-color);\n --tblr-btn-border-color: var(--tblr-border-color);\n --tblr-btn-hover-bg: var(--tblr-btn-bg);\n --tblr-btn-hover-border-color: var(--tblr-border-active-color);\n --tblr-btn-active-color: var(--tblr-primary);\n --tblr-btn-active-bg: color-mix(in srgb, var(--tblr-primary) 4%, transparent);\n --tblr-btn-active-border-color: var(--tblr-primary);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n white-space: nowrap;\n box-shadow: var(--tblr-btn-box-shadow);\n position: relative;\n min-width: calc(var(--tblr-btn-line-height) * 1 + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);\n min-height: calc(var(--tblr-btn-line-height) * 1 + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);\n border-radius: var(--tblr-btn-border-radius);\n}\n@supports (corner-shape: squircle) {\n .btn {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-btn-border-radius) * 2.5) !important;\n }\n}\n.btn .icon {\n width: var(--tblr-btn-icon-size);\n height: var(--tblr-btn-icon-size);\n min-width: var(--tblr-btn-icon-size);\n font-size: var(--tblr-btn-icon-size);\n margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4);\n vertical-align: bottom;\n color: var(--tblr-btn-icon-color);\n}\n.btn .avatar {\n width: var(--tblr-btn-icon-size);\n height: var(--tblr-btn-icon-size);\n margin: 0 calc(var(--tblr-btn-padding-x) / 2) 0 calc(var(--tblr-btn-padding-x) / -4);\n}\n.btn .icon-right,\n.btn .icon-end {\n margin: 0 calc(var(--tblr-btn-padding-x) / -4) 0 calc(var(--tblr-btn-padding-x) / 2);\n}\n.btn .badge {\n top: auto;\n}\n.btn-check + .btn:hover {\n color: var(--tblr-btn-hover-color);\n background-color: var(--tblr-btn-hover-bg);\n border-color: var(--tblr-btn-hover-border-color);\n}\n\n.btn-link {\n color: rgb(6.711627907, 124.1651162791, 233.788372093);\n background-color: transparent;\n border-color: transparent;\n box-shadow: none;\n}\n.btn-link .icon {\n color: inherit;\n}\n.btn-link:hover {\n color: rgb(4.8, 88.8, 167.2);\n border-color: transparent;\n}\n\n.btn-ghost {\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-box-shadow: none;\n --tblr-btn-hover-bg: var(--tblr-bg-surface-secondary);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-body-color);\n}\n\n.btn-primary {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-primary-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-primary);\n --tblr-btn-hover-color: var(--tblr-primary-fg);\n --tblr-btn-hover-bg: var(--tblr-primary-darken);\n --tblr-btn-active-color: var(--tblr-primary-fg);\n --tblr-btn-active-bg: var(--tblr-primary-darken);\n --tblr-btn-disabled-bg: var(--tblr-primary);\n --tblr-btn-disabled-color: var(--tblr-primary-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-primary,\n.btn-outline.btn-primary {\n --tblr-btn-color: var(--tblr-primary);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-primary);\n --tblr-btn-hover-color: var(--tblr-primary-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-primary);\n --tblr-btn-active-color: var(--tblr-primary-fg);\n --tblr-btn-active-bg: var(--tblr-primary);\n --tblr-btn-active-border-color: var(--tblr-primary);\n --tblr-btn-disabled-color: var(--tblr-primary);\n --tblr-btn-disabled-border-color: var(--tblr-primary);\n}\n\n.btn-ghost-primary,\n.btn-ghost.btn-primary {\n --tblr-btn-color: var(--tblr-primary);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-primary-fg);\n --tblr-btn-hover-bg: var(--tblr-primary);\n --tblr-btn-hover-border-color: var(--tblr-primary);\n --tblr-btn-active-color: var(--tblr-primary-fg);\n --tblr-btn-active-bg: var(--tblr-primary);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-primary);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-secondary {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-secondary-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-secondary);\n --tblr-btn-hover-color: var(--tblr-secondary-fg);\n --tblr-btn-hover-bg: var(--tblr-secondary-darken);\n --tblr-btn-active-color: var(--tblr-secondary-fg);\n --tblr-btn-active-bg: var(--tblr-secondary-darken);\n --tblr-btn-disabled-bg: var(--tblr-secondary);\n --tblr-btn-disabled-color: var(--tblr-secondary-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-secondary,\n.btn-outline.btn-secondary {\n --tblr-btn-color: var(--tblr-secondary);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-secondary);\n --tblr-btn-hover-color: var(--tblr-secondary-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-secondary);\n --tblr-btn-active-color: var(--tblr-secondary-fg);\n --tblr-btn-active-bg: var(--tblr-secondary);\n --tblr-btn-active-border-color: var(--tblr-secondary);\n --tblr-btn-disabled-color: var(--tblr-secondary);\n --tblr-btn-disabled-border-color: var(--tblr-secondary);\n}\n\n.btn-ghost-secondary,\n.btn-ghost.btn-secondary {\n --tblr-btn-color: var(--tblr-secondary);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-secondary-fg);\n --tblr-btn-hover-bg: var(--tblr-secondary);\n --tblr-btn-hover-border-color: var(--tblr-secondary);\n --tblr-btn-active-color: var(--tblr-secondary-fg);\n --tblr-btn-active-bg: var(--tblr-secondary);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-secondary);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-success {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-success-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-success);\n --tblr-btn-hover-color: var(--tblr-success-fg);\n --tblr-btn-hover-bg: var(--tblr-success-darken);\n --tblr-btn-active-color: var(--tblr-success-fg);\n --tblr-btn-active-bg: var(--tblr-success-darken);\n --tblr-btn-disabled-bg: var(--tblr-success);\n --tblr-btn-disabled-color: var(--tblr-success-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-success,\n.btn-outline.btn-success {\n --tblr-btn-color: var(--tblr-success);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-success);\n --tblr-btn-hover-color: var(--tblr-success-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-success);\n --tblr-btn-active-color: var(--tblr-success-fg);\n --tblr-btn-active-bg: var(--tblr-success);\n --tblr-btn-active-border-color: var(--tblr-success);\n --tblr-btn-disabled-color: var(--tblr-success);\n --tblr-btn-disabled-border-color: var(--tblr-success);\n}\n\n.btn-ghost-success,\n.btn-ghost.btn-success {\n --tblr-btn-color: var(--tblr-success);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-success-fg);\n --tblr-btn-hover-bg: var(--tblr-success);\n --tblr-btn-hover-border-color: var(--tblr-success);\n --tblr-btn-active-color: var(--tblr-success-fg);\n --tblr-btn-active-bg: var(--tblr-success);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-success);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-info {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-info-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-info);\n --tblr-btn-hover-color: var(--tblr-info-fg);\n --tblr-btn-hover-bg: var(--tblr-info-darken);\n --tblr-btn-active-color: var(--tblr-info-fg);\n --tblr-btn-active-bg: var(--tblr-info-darken);\n --tblr-btn-disabled-bg: var(--tblr-info);\n --tblr-btn-disabled-color: var(--tblr-info-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-info,\n.btn-outline.btn-info {\n --tblr-btn-color: var(--tblr-info);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-info);\n --tblr-btn-hover-color: var(--tblr-info-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-info);\n --tblr-btn-active-color: var(--tblr-info-fg);\n --tblr-btn-active-bg: var(--tblr-info);\n --tblr-btn-active-border-color: var(--tblr-info);\n --tblr-btn-disabled-color: var(--tblr-info);\n --tblr-btn-disabled-border-color: var(--tblr-info);\n}\n\n.btn-ghost-info,\n.btn-ghost.btn-info {\n --tblr-btn-color: var(--tblr-info);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-info-fg);\n --tblr-btn-hover-bg: var(--tblr-info);\n --tblr-btn-hover-border-color: var(--tblr-info);\n --tblr-btn-active-color: var(--tblr-info-fg);\n --tblr-btn-active-bg: var(--tblr-info);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-info);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-warning {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-warning-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-warning);\n --tblr-btn-hover-color: var(--tblr-warning-fg);\n --tblr-btn-hover-bg: var(--tblr-warning-darken);\n --tblr-btn-active-color: var(--tblr-warning-fg);\n --tblr-btn-active-bg: var(--tblr-warning-darken);\n --tblr-btn-disabled-bg: var(--tblr-warning);\n --tblr-btn-disabled-color: var(--tblr-warning-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-warning,\n.btn-outline.btn-warning {\n --tblr-btn-color: var(--tblr-warning);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-warning);\n --tblr-btn-hover-color: var(--tblr-warning-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-warning);\n --tblr-btn-active-color: var(--tblr-warning-fg);\n --tblr-btn-active-bg: var(--tblr-warning);\n --tblr-btn-active-border-color: var(--tblr-warning);\n --tblr-btn-disabled-color: var(--tblr-warning);\n --tblr-btn-disabled-border-color: var(--tblr-warning);\n}\n\n.btn-ghost-warning,\n.btn-ghost.btn-warning {\n --tblr-btn-color: var(--tblr-warning);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-warning-fg);\n --tblr-btn-hover-bg: var(--tblr-warning);\n --tblr-btn-hover-border-color: var(--tblr-warning);\n --tblr-btn-active-color: var(--tblr-warning-fg);\n --tblr-btn-active-bg: var(--tblr-warning);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-warning);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-danger {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-danger-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-danger);\n --tblr-btn-hover-color: var(--tblr-danger-fg);\n --tblr-btn-hover-bg: var(--tblr-danger-darken);\n --tblr-btn-active-color: var(--tblr-danger-fg);\n --tblr-btn-active-bg: var(--tblr-danger-darken);\n --tblr-btn-disabled-bg: var(--tblr-danger);\n --tblr-btn-disabled-color: var(--tblr-danger-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-danger,\n.btn-outline.btn-danger {\n --tblr-btn-color: var(--tblr-danger);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-danger);\n --tblr-btn-hover-color: var(--tblr-danger-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-danger);\n --tblr-btn-active-color: var(--tblr-danger-fg);\n --tblr-btn-active-bg: var(--tblr-danger);\n --tblr-btn-active-border-color: var(--tblr-danger);\n --tblr-btn-disabled-color: var(--tblr-danger);\n --tblr-btn-disabled-border-color: var(--tblr-danger);\n}\n\n.btn-ghost-danger,\n.btn-ghost.btn-danger {\n --tblr-btn-color: var(--tblr-danger);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-danger-fg);\n --tblr-btn-hover-bg: var(--tblr-danger);\n --tblr-btn-hover-border-color: var(--tblr-danger);\n --tblr-btn-active-color: var(--tblr-danger-fg);\n --tblr-btn-active-bg: var(--tblr-danger);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-danger);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-light {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-light-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-light);\n --tblr-btn-hover-color: var(--tblr-light-fg);\n --tblr-btn-hover-bg: var(--tblr-light-darken);\n --tblr-btn-active-color: var(--tblr-light-fg);\n --tblr-btn-active-bg: var(--tblr-light-darken);\n --tblr-btn-disabled-bg: var(--tblr-light);\n --tblr-btn-disabled-color: var(--tblr-light-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-light,\n.btn-outline.btn-light {\n --tblr-btn-color: var(--tblr-light);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-light);\n --tblr-btn-hover-color: var(--tblr-light-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-light);\n --tblr-btn-active-color: var(--tblr-light-fg);\n --tblr-btn-active-bg: var(--tblr-light);\n --tblr-btn-active-border-color: var(--tblr-light);\n --tblr-btn-disabled-color: var(--tblr-light);\n --tblr-btn-disabled-border-color: var(--tblr-light);\n}\n\n.btn-ghost-light,\n.btn-ghost.btn-light {\n --tblr-btn-color: var(--tblr-light);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-light-fg);\n --tblr-btn-hover-bg: var(--tblr-light);\n --tblr-btn-hover-border-color: var(--tblr-light);\n --tblr-btn-active-color: var(--tblr-light-fg);\n --tblr-btn-active-bg: var(--tblr-light);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-light);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-dark {\n --tblr-btn-border-color: var(--tblr-dark-mode-border-color);\n --tblr-btn-hover-border-color: var(--tblr-dark-mode-border-active-color);\n --tblr-btn-active-border-color: var(--tblr-dark-mode-border-active-color);\n --tblr-btn-color: var(--tblr-dark-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-dark);\n --tblr-btn-hover-color: var(--tblr-dark-fg);\n --tblr-btn-hover-bg: var(--tblr-dark-darken);\n --tblr-btn-active-color: var(--tblr-dark-fg);\n --tblr-btn-active-bg: var(--tblr-dark-darken);\n --tblr-btn-disabled-bg: var(--tblr-dark);\n --tblr-btn-disabled-color: var(--tblr-dark-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-dark,\n.btn-outline.btn-dark {\n --tblr-btn-color: var(--tblr-dark);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-dark);\n --tblr-btn-hover-color: var(--tblr-dark-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-dark);\n --tblr-btn-active-color: var(--tblr-dark-fg);\n --tblr-btn-active-bg: var(--tblr-dark);\n --tblr-btn-active-border-color: var(--tblr-dark);\n --tblr-btn-disabled-color: var(--tblr-dark);\n --tblr-btn-disabled-border-color: var(--tblr-dark);\n}\n\n.btn-ghost-dark,\n.btn-ghost.btn-dark {\n --tblr-btn-color: var(--tblr-dark);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-dark-fg);\n --tblr-btn-hover-bg: var(--tblr-dark);\n --tblr-btn-hover-border-color: var(--tblr-dark);\n --tblr-btn-active-color: var(--tblr-dark-fg);\n --tblr-btn-active-bg: var(--tblr-dark);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-dark);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-muted {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-muted-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-muted);\n --tblr-btn-hover-color: var(--tblr-muted-fg);\n --tblr-btn-hover-bg: var(--tblr-muted-darken);\n --tblr-btn-active-color: var(--tblr-muted-fg);\n --tblr-btn-active-bg: var(--tblr-muted-darken);\n --tblr-btn-disabled-bg: var(--tblr-muted);\n --tblr-btn-disabled-color: var(--tblr-muted-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-muted,\n.btn-outline.btn-muted {\n --tblr-btn-color: var(--tblr-muted);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-muted);\n --tblr-btn-hover-color: var(--tblr-muted-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-muted);\n --tblr-btn-active-color: var(--tblr-muted-fg);\n --tblr-btn-active-bg: var(--tblr-muted);\n --tblr-btn-active-border-color: var(--tblr-muted);\n --tblr-btn-disabled-color: var(--tblr-muted);\n --tblr-btn-disabled-border-color: var(--tblr-muted);\n}\n\n.btn-ghost-muted,\n.btn-ghost.btn-muted {\n --tblr-btn-color: var(--tblr-muted);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-muted-fg);\n --tblr-btn-hover-bg: var(--tblr-muted);\n --tblr-btn-hover-border-color: var(--tblr-muted);\n --tblr-btn-active-color: var(--tblr-muted-fg);\n --tblr-btn-active-bg: var(--tblr-muted);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-muted);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-blue {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-blue-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-blue);\n --tblr-btn-hover-color: var(--tblr-blue-fg);\n --tblr-btn-hover-bg: var(--tblr-blue-darken);\n --tblr-btn-active-color: var(--tblr-blue-fg);\n --tblr-btn-active-bg: var(--tblr-blue-darken);\n --tblr-btn-disabled-bg: var(--tblr-blue);\n --tblr-btn-disabled-color: var(--tblr-blue-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-blue,\n.btn-outline.btn-blue {\n --tblr-btn-color: var(--tblr-blue);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-blue);\n --tblr-btn-hover-color: var(--tblr-blue-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-blue);\n --tblr-btn-active-color: var(--tblr-blue-fg);\n --tblr-btn-active-bg: var(--tblr-blue);\n --tblr-btn-active-border-color: var(--tblr-blue);\n --tblr-btn-disabled-color: var(--tblr-blue);\n --tblr-btn-disabled-border-color: var(--tblr-blue);\n}\n\n.btn-ghost-blue,\n.btn-ghost.btn-blue {\n --tblr-btn-color: var(--tblr-blue);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-blue-fg);\n --tblr-btn-hover-bg: var(--tblr-blue);\n --tblr-btn-hover-border-color: var(--tblr-blue);\n --tblr-btn-active-color: var(--tblr-blue-fg);\n --tblr-btn-active-bg: var(--tblr-blue);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-blue);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-azure {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-azure-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-azure);\n --tblr-btn-hover-color: var(--tblr-azure-fg);\n --tblr-btn-hover-bg: var(--tblr-azure-darken);\n --tblr-btn-active-color: var(--tblr-azure-fg);\n --tblr-btn-active-bg: var(--tblr-azure-darken);\n --tblr-btn-disabled-bg: var(--tblr-azure);\n --tblr-btn-disabled-color: var(--tblr-azure-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-azure,\n.btn-outline.btn-azure {\n --tblr-btn-color: var(--tblr-azure);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-azure);\n --tblr-btn-hover-color: var(--tblr-azure-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-azure);\n --tblr-btn-active-color: var(--tblr-azure-fg);\n --tblr-btn-active-bg: var(--tblr-azure);\n --tblr-btn-active-border-color: var(--tblr-azure);\n --tblr-btn-disabled-color: var(--tblr-azure);\n --tblr-btn-disabled-border-color: var(--tblr-azure);\n}\n\n.btn-ghost-azure,\n.btn-ghost.btn-azure {\n --tblr-btn-color: var(--tblr-azure);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-azure-fg);\n --tblr-btn-hover-bg: var(--tblr-azure);\n --tblr-btn-hover-border-color: var(--tblr-azure);\n --tblr-btn-active-color: var(--tblr-azure-fg);\n --tblr-btn-active-bg: var(--tblr-azure);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-azure);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-indigo {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-indigo-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-indigo);\n --tblr-btn-hover-color: var(--tblr-indigo-fg);\n --tblr-btn-hover-bg: var(--tblr-indigo-darken);\n --tblr-btn-active-color: var(--tblr-indigo-fg);\n --tblr-btn-active-bg: var(--tblr-indigo-darken);\n --tblr-btn-disabled-bg: var(--tblr-indigo);\n --tblr-btn-disabled-color: var(--tblr-indigo-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-indigo,\n.btn-outline.btn-indigo {\n --tblr-btn-color: var(--tblr-indigo);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-indigo);\n --tblr-btn-hover-color: var(--tblr-indigo-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-indigo);\n --tblr-btn-active-color: var(--tblr-indigo-fg);\n --tblr-btn-active-bg: var(--tblr-indigo);\n --tblr-btn-active-border-color: var(--tblr-indigo);\n --tblr-btn-disabled-color: var(--tblr-indigo);\n --tblr-btn-disabled-border-color: var(--tblr-indigo);\n}\n\n.btn-ghost-indigo,\n.btn-ghost.btn-indigo {\n --tblr-btn-color: var(--tblr-indigo);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-indigo-fg);\n --tblr-btn-hover-bg: var(--tblr-indigo);\n --tblr-btn-hover-border-color: var(--tblr-indigo);\n --tblr-btn-active-color: var(--tblr-indigo-fg);\n --tblr-btn-active-bg: var(--tblr-indigo);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-indigo);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-purple {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-purple-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-purple);\n --tblr-btn-hover-color: var(--tblr-purple-fg);\n --tblr-btn-hover-bg: var(--tblr-purple-darken);\n --tblr-btn-active-color: var(--tblr-purple-fg);\n --tblr-btn-active-bg: var(--tblr-purple-darken);\n --tblr-btn-disabled-bg: var(--tblr-purple);\n --tblr-btn-disabled-color: var(--tblr-purple-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-purple,\n.btn-outline.btn-purple {\n --tblr-btn-color: var(--tblr-purple);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-purple);\n --tblr-btn-hover-color: var(--tblr-purple-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-purple);\n --tblr-btn-active-color: var(--tblr-purple-fg);\n --tblr-btn-active-bg: var(--tblr-purple);\n --tblr-btn-active-border-color: var(--tblr-purple);\n --tblr-btn-disabled-color: var(--tblr-purple);\n --tblr-btn-disabled-border-color: var(--tblr-purple);\n}\n\n.btn-ghost-purple,\n.btn-ghost.btn-purple {\n --tblr-btn-color: var(--tblr-purple);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-purple-fg);\n --tblr-btn-hover-bg: var(--tblr-purple);\n --tblr-btn-hover-border-color: var(--tblr-purple);\n --tblr-btn-active-color: var(--tblr-purple-fg);\n --tblr-btn-active-bg: var(--tblr-purple);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-purple);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-pink {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-pink-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-pink);\n --tblr-btn-hover-color: var(--tblr-pink-fg);\n --tblr-btn-hover-bg: var(--tblr-pink-darken);\n --tblr-btn-active-color: var(--tblr-pink-fg);\n --tblr-btn-active-bg: var(--tblr-pink-darken);\n --tblr-btn-disabled-bg: var(--tblr-pink);\n --tblr-btn-disabled-color: var(--tblr-pink-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-pink,\n.btn-outline.btn-pink {\n --tblr-btn-color: var(--tblr-pink);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-pink);\n --tblr-btn-hover-color: var(--tblr-pink-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-pink);\n --tblr-btn-active-color: var(--tblr-pink-fg);\n --tblr-btn-active-bg: var(--tblr-pink);\n --tblr-btn-active-border-color: var(--tblr-pink);\n --tblr-btn-disabled-color: var(--tblr-pink);\n --tblr-btn-disabled-border-color: var(--tblr-pink);\n}\n\n.btn-ghost-pink,\n.btn-ghost.btn-pink {\n --tblr-btn-color: var(--tblr-pink);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-pink-fg);\n --tblr-btn-hover-bg: var(--tblr-pink);\n --tblr-btn-hover-border-color: var(--tblr-pink);\n --tblr-btn-active-color: var(--tblr-pink-fg);\n --tblr-btn-active-bg: var(--tblr-pink);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-pink);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-red {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-red-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-red);\n --tblr-btn-hover-color: var(--tblr-red-fg);\n --tblr-btn-hover-bg: var(--tblr-red-darken);\n --tblr-btn-active-color: var(--tblr-red-fg);\n --tblr-btn-active-bg: var(--tblr-red-darken);\n --tblr-btn-disabled-bg: var(--tblr-red);\n --tblr-btn-disabled-color: var(--tblr-red-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-red,\n.btn-outline.btn-red {\n --tblr-btn-color: var(--tblr-red);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-red);\n --tblr-btn-hover-color: var(--tblr-red-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-red);\n --tblr-btn-active-color: var(--tblr-red-fg);\n --tblr-btn-active-bg: var(--tblr-red);\n --tblr-btn-active-border-color: var(--tblr-red);\n --tblr-btn-disabled-color: var(--tblr-red);\n --tblr-btn-disabled-border-color: var(--tblr-red);\n}\n\n.btn-ghost-red,\n.btn-ghost.btn-red {\n --tblr-btn-color: var(--tblr-red);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-red-fg);\n --tblr-btn-hover-bg: var(--tblr-red);\n --tblr-btn-hover-border-color: var(--tblr-red);\n --tblr-btn-active-color: var(--tblr-red-fg);\n --tblr-btn-active-bg: var(--tblr-red);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-red);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-orange {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-orange-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-orange);\n --tblr-btn-hover-color: var(--tblr-orange-fg);\n --tblr-btn-hover-bg: var(--tblr-orange-darken);\n --tblr-btn-active-color: var(--tblr-orange-fg);\n --tblr-btn-active-bg: var(--tblr-orange-darken);\n --tblr-btn-disabled-bg: var(--tblr-orange);\n --tblr-btn-disabled-color: var(--tblr-orange-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-orange,\n.btn-outline.btn-orange {\n --tblr-btn-color: var(--tblr-orange);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-orange);\n --tblr-btn-hover-color: var(--tblr-orange-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-orange);\n --tblr-btn-active-color: var(--tblr-orange-fg);\n --tblr-btn-active-bg: var(--tblr-orange);\n --tblr-btn-active-border-color: var(--tblr-orange);\n --tblr-btn-disabled-color: var(--tblr-orange);\n --tblr-btn-disabled-border-color: var(--tblr-orange);\n}\n\n.btn-ghost-orange,\n.btn-ghost.btn-orange {\n --tblr-btn-color: var(--tblr-orange);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-orange-fg);\n --tblr-btn-hover-bg: var(--tblr-orange);\n --tblr-btn-hover-border-color: var(--tblr-orange);\n --tblr-btn-active-color: var(--tblr-orange-fg);\n --tblr-btn-active-bg: var(--tblr-orange);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-orange);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-yellow {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-yellow-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-yellow);\n --tblr-btn-hover-color: var(--tblr-yellow-fg);\n --tblr-btn-hover-bg: var(--tblr-yellow-darken);\n --tblr-btn-active-color: var(--tblr-yellow-fg);\n --tblr-btn-active-bg: var(--tblr-yellow-darken);\n --tblr-btn-disabled-bg: var(--tblr-yellow);\n --tblr-btn-disabled-color: var(--tblr-yellow-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-yellow,\n.btn-outline.btn-yellow {\n --tblr-btn-color: var(--tblr-yellow);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-yellow);\n --tblr-btn-hover-color: var(--tblr-yellow-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-yellow);\n --tblr-btn-active-color: var(--tblr-yellow-fg);\n --tblr-btn-active-bg: var(--tblr-yellow);\n --tblr-btn-active-border-color: var(--tblr-yellow);\n --tblr-btn-disabled-color: var(--tblr-yellow);\n --tblr-btn-disabled-border-color: var(--tblr-yellow);\n}\n\n.btn-ghost-yellow,\n.btn-ghost.btn-yellow {\n --tblr-btn-color: var(--tblr-yellow);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-yellow-fg);\n --tblr-btn-hover-bg: var(--tblr-yellow);\n --tblr-btn-hover-border-color: var(--tblr-yellow);\n --tblr-btn-active-color: var(--tblr-yellow-fg);\n --tblr-btn-active-bg: var(--tblr-yellow);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-yellow);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-lime {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-lime-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-lime);\n --tblr-btn-hover-color: var(--tblr-lime-fg);\n --tblr-btn-hover-bg: var(--tblr-lime-darken);\n --tblr-btn-active-color: var(--tblr-lime-fg);\n --tblr-btn-active-bg: var(--tblr-lime-darken);\n --tblr-btn-disabled-bg: var(--tblr-lime);\n --tblr-btn-disabled-color: var(--tblr-lime-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-lime,\n.btn-outline.btn-lime {\n --tblr-btn-color: var(--tblr-lime);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-lime);\n --tblr-btn-hover-color: var(--tblr-lime-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-lime);\n --tblr-btn-active-color: var(--tblr-lime-fg);\n --tblr-btn-active-bg: var(--tblr-lime);\n --tblr-btn-active-border-color: var(--tblr-lime);\n --tblr-btn-disabled-color: var(--tblr-lime);\n --tblr-btn-disabled-border-color: var(--tblr-lime);\n}\n\n.btn-ghost-lime,\n.btn-ghost.btn-lime {\n --tblr-btn-color: var(--tblr-lime);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-lime-fg);\n --tblr-btn-hover-bg: var(--tblr-lime);\n --tblr-btn-hover-border-color: var(--tblr-lime);\n --tblr-btn-active-color: var(--tblr-lime-fg);\n --tblr-btn-active-bg: var(--tblr-lime);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-lime);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-green {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-green-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-green);\n --tblr-btn-hover-color: var(--tblr-green-fg);\n --tblr-btn-hover-bg: var(--tblr-green-darken);\n --tblr-btn-active-color: var(--tblr-green-fg);\n --tblr-btn-active-bg: var(--tblr-green-darken);\n --tblr-btn-disabled-bg: var(--tblr-green);\n --tblr-btn-disabled-color: var(--tblr-green-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-green,\n.btn-outline.btn-green {\n --tblr-btn-color: var(--tblr-green);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-green);\n --tblr-btn-hover-color: var(--tblr-green-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-green);\n --tblr-btn-active-color: var(--tblr-green-fg);\n --tblr-btn-active-bg: var(--tblr-green);\n --tblr-btn-active-border-color: var(--tblr-green);\n --tblr-btn-disabled-color: var(--tblr-green);\n --tblr-btn-disabled-border-color: var(--tblr-green);\n}\n\n.btn-ghost-green,\n.btn-ghost.btn-green {\n --tblr-btn-color: var(--tblr-green);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-green-fg);\n --tblr-btn-hover-bg: var(--tblr-green);\n --tblr-btn-hover-border-color: var(--tblr-green);\n --tblr-btn-active-color: var(--tblr-green-fg);\n --tblr-btn-active-bg: var(--tblr-green);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-green);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-teal {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-teal-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-teal);\n --tblr-btn-hover-color: var(--tblr-teal-fg);\n --tblr-btn-hover-bg: var(--tblr-teal-darken);\n --tblr-btn-active-color: var(--tblr-teal-fg);\n --tblr-btn-active-bg: var(--tblr-teal-darken);\n --tblr-btn-disabled-bg: var(--tblr-teal);\n --tblr-btn-disabled-color: var(--tblr-teal-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-teal,\n.btn-outline.btn-teal {\n --tblr-btn-color: var(--tblr-teal);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-teal);\n --tblr-btn-hover-color: var(--tblr-teal-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-teal);\n --tblr-btn-active-color: var(--tblr-teal-fg);\n --tblr-btn-active-bg: var(--tblr-teal);\n --tblr-btn-active-border-color: var(--tblr-teal);\n --tblr-btn-disabled-color: var(--tblr-teal);\n --tblr-btn-disabled-border-color: var(--tblr-teal);\n}\n\n.btn-ghost-teal,\n.btn-ghost.btn-teal {\n --tblr-btn-color: var(--tblr-teal);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-teal-fg);\n --tblr-btn-hover-bg: var(--tblr-teal);\n --tblr-btn-hover-border-color: var(--tblr-teal);\n --tblr-btn-active-color: var(--tblr-teal-fg);\n --tblr-btn-active-bg: var(--tblr-teal);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-teal);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-cyan {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-cyan-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-cyan);\n --tblr-btn-hover-color: var(--tblr-cyan-fg);\n --tblr-btn-hover-bg: var(--tblr-cyan-darken);\n --tblr-btn-active-color: var(--tblr-cyan-fg);\n --tblr-btn-active-bg: var(--tblr-cyan-darken);\n --tblr-btn-disabled-bg: var(--tblr-cyan);\n --tblr-btn-disabled-color: var(--tblr-cyan-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-cyan,\n.btn-outline.btn-cyan {\n --tblr-btn-color: var(--tblr-cyan);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-cyan);\n --tblr-btn-hover-color: var(--tblr-cyan-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-cyan);\n --tblr-btn-active-color: var(--tblr-cyan-fg);\n --tblr-btn-active-bg: var(--tblr-cyan);\n --tblr-btn-active-border-color: var(--tblr-cyan);\n --tblr-btn-disabled-color: var(--tblr-cyan);\n --tblr-btn-disabled-border-color: var(--tblr-cyan);\n}\n\n.btn-ghost-cyan,\n.btn-ghost.btn-cyan {\n --tblr-btn-color: var(--tblr-cyan);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-cyan-fg);\n --tblr-btn-hover-bg: var(--tblr-cyan);\n --tblr-btn-hover-border-color: var(--tblr-cyan);\n --tblr-btn-active-color: var(--tblr-cyan-fg);\n --tblr-btn-active-bg: var(--tblr-cyan);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-cyan);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-x {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-x-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-x);\n --tblr-btn-hover-color: var(--tblr-x-fg);\n --tblr-btn-hover-bg: var(--tblr-x-darken);\n --tblr-btn-active-color: var(--tblr-x-fg);\n --tblr-btn-active-bg: var(--tblr-x-darken);\n --tblr-btn-disabled-bg: var(--tblr-x);\n --tblr-btn-disabled-color: var(--tblr-x-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-x,\n.btn-outline.btn-x {\n --tblr-btn-color: var(--tblr-x);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-x);\n --tblr-btn-hover-color: var(--tblr-x-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-x);\n --tblr-btn-active-color: var(--tblr-x-fg);\n --tblr-btn-active-bg: var(--tblr-x);\n --tblr-btn-active-border-color: var(--tblr-x);\n --tblr-btn-disabled-color: var(--tblr-x);\n --tblr-btn-disabled-border-color: var(--tblr-x);\n}\n\n.btn-ghost-x,\n.btn-ghost.btn-x {\n --tblr-btn-color: var(--tblr-x);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-x-fg);\n --tblr-btn-hover-bg: var(--tblr-x);\n --tblr-btn-hover-border-color: var(--tblr-x);\n --tblr-btn-active-color: var(--tblr-x-fg);\n --tblr-btn-active-bg: var(--tblr-x);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-x);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-facebook {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-facebook-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-facebook);\n --tblr-btn-hover-color: var(--tblr-facebook-fg);\n --tblr-btn-hover-bg: var(--tblr-facebook-darken);\n --tblr-btn-active-color: var(--tblr-facebook-fg);\n --tblr-btn-active-bg: var(--tblr-facebook-darken);\n --tblr-btn-disabled-bg: var(--tblr-facebook);\n --tblr-btn-disabled-color: var(--tblr-facebook-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-facebook,\n.btn-outline.btn-facebook {\n --tblr-btn-color: var(--tblr-facebook);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-facebook);\n --tblr-btn-hover-color: var(--tblr-facebook-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-facebook);\n --tblr-btn-active-color: var(--tblr-facebook-fg);\n --tblr-btn-active-bg: var(--tblr-facebook);\n --tblr-btn-active-border-color: var(--tblr-facebook);\n --tblr-btn-disabled-color: var(--tblr-facebook);\n --tblr-btn-disabled-border-color: var(--tblr-facebook);\n}\n\n.btn-ghost-facebook,\n.btn-ghost.btn-facebook {\n --tblr-btn-color: var(--tblr-facebook);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-facebook-fg);\n --tblr-btn-hover-bg: var(--tblr-facebook);\n --tblr-btn-hover-border-color: var(--tblr-facebook);\n --tblr-btn-active-color: var(--tblr-facebook-fg);\n --tblr-btn-active-bg: var(--tblr-facebook);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-facebook);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-twitter {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-twitter-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-twitter);\n --tblr-btn-hover-color: var(--tblr-twitter-fg);\n --tblr-btn-hover-bg: var(--tblr-twitter-darken);\n --tblr-btn-active-color: var(--tblr-twitter-fg);\n --tblr-btn-active-bg: var(--tblr-twitter-darken);\n --tblr-btn-disabled-bg: var(--tblr-twitter);\n --tblr-btn-disabled-color: var(--tblr-twitter-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-twitter,\n.btn-outline.btn-twitter {\n --tblr-btn-color: var(--tblr-twitter);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-twitter);\n --tblr-btn-hover-color: var(--tblr-twitter-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-twitter);\n --tblr-btn-active-color: var(--tblr-twitter-fg);\n --tblr-btn-active-bg: var(--tblr-twitter);\n --tblr-btn-active-border-color: var(--tblr-twitter);\n --tblr-btn-disabled-color: var(--tblr-twitter);\n --tblr-btn-disabled-border-color: var(--tblr-twitter);\n}\n\n.btn-ghost-twitter,\n.btn-ghost.btn-twitter {\n --tblr-btn-color: var(--tblr-twitter);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-twitter-fg);\n --tblr-btn-hover-bg: var(--tblr-twitter);\n --tblr-btn-hover-border-color: var(--tblr-twitter);\n --tblr-btn-active-color: var(--tblr-twitter-fg);\n --tblr-btn-active-bg: var(--tblr-twitter);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-twitter);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-linkedin {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-linkedin-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-linkedin);\n --tblr-btn-hover-color: var(--tblr-linkedin-fg);\n --tblr-btn-hover-bg: var(--tblr-linkedin-darken);\n --tblr-btn-active-color: var(--tblr-linkedin-fg);\n --tblr-btn-active-bg: var(--tblr-linkedin-darken);\n --tblr-btn-disabled-bg: var(--tblr-linkedin);\n --tblr-btn-disabled-color: var(--tblr-linkedin-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-linkedin,\n.btn-outline.btn-linkedin {\n --tblr-btn-color: var(--tblr-linkedin);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-linkedin);\n --tblr-btn-hover-color: var(--tblr-linkedin-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-linkedin);\n --tblr-btn-active-color: var(--tblr-linkedin-fg);\n --tblr-btn-active-bg: var(--tblr-linkedin);\n --tblr-btn-active-border-color: var(--tblr-linkedin);\n --tblr-btn-disabled-color: var(--tblr-linkedin);\n --tblr-btn-disabled-border-color: var(--tblr-linkedin);\n}\n\n.btn-ghost-linkedin,\n.btn-ghost.btn-linkedin {\n --tblr-btn-color: var(--tblr-linkedin);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-linkedin-fg);\n --tblr-btn-hover-bg: var(--tblr-linkedin);\n --tblr-btn-hover-border-color: var(--tblr-linkedin);\n --tblr-btn-active-color: var(--tblr-linkedin-fg);\n --tblr-btn-active-bg: var(--tblr-linkedin);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-linkedin);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-google {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-google-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-google);\n --tblr-btn-hover-color: var(--tblr-google-fg);\n --tblr-btn-hover-bg: var(--tblr-google-darken);\n --tblr-btn-active-color: var(--tblr-google-fg);\n --tblr-btn-active-bg: var(--tblr-google-darken);\n --tblr-btn-disabled-bg: var(--tblr-google);\n --tblr-btn-disabled-color: var(--tblr-google-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-google,\n.btn-outline.btn-google {\n --tblr-btn-color: var(--tblr-google);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-google);\n --tblr-btn-hover-color: var(--tblr-google-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-google);\n --tblr-btn-active-color: var(--tblr-google-fg);\n --tblr-btn-active-bg: var(--tblr-google);\n --tblr-btn-active-border-color: var(--tblr-google);\n --tblr-btn-disabled-color: var(--tblr-google);\n --tblr-btn-disabled-border-color: var(--tblr-google);\n}\n\n.btn-ghost-google,\n.btn-ghost.btn-google {\n --tblr-btn-color: var(--tblr-google);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-google-fg);\n --tblr-btn-hover-bg: var(--tblr-google);\n --tblr-btn-hover-border-color: var(--tblr-google);\n --tblr-btn-active-color: var(--tblr-google-fg);\n --tblr-btn-active-bg: var(--tblr-google);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-google);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-youtube {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-youtube-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-youtube);\n --tblr-btn-hover-color: var(--tblr-youtube-fg);\n --tblr-btn-hover-bg: var(--tblr-youtube-darken);\n --tblr-btn-active-color: var(--tblr-youtube-fg);\n --tblr-btn-active-bg: var(--tblr-youtube-darken);\n --tblr-btn-disabled-bg: var(--tblr-youtube);\n --tblr-btn-disabled-color: var(--tblr-youtube-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-youtube,\n.btn-outline.btn-youtube {\n --tblr-btn-color: var(--tblr-youtube);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-youtube);\n --tblr-btn-hover-color: var(--tblr-youtube-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-youtube);\n --tblr-btn-active-color: var(--tblr-youtube-fg);\n --tblr-btn-active-bg: var(--tblr-youtube);\n --tblr-btn-active-border-color: var(--tblr-youtube);\n --tblr-btn-disabled-color: var(--tblr-youtube);\n --tblr-btn-disabled-border-color: var(--tblr-youtube);\n}\n\n.btn-ghost-youtube,\n.btn-ghost.btn-youtube {\n --tblr-btn-color: var(--tblr-youtube);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-youtube-fg);\n --tblr-btn-hover-bg: var(--tblr-youtube);\n --tblr-btn-hover-border-color: var(--tblr-youtube);\n --tblr-btn-active-color: var(--tblr-youtube-fg);\n --tblr-btn-active-bg: var(--tblr-youtube);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-youtube);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-vimeo {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-vimeo-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-vimeo);\n --tblr-btn-hover-color: var(--tblr-vimeo-fg);\n --tblr-btn-hover-bg: var(--tblr-vimeo-darken);\n --tblr-btn-active-color: var(--tblr-vimeo-fg);\n --tblr-btn-active-bg: var(--tblr-vimeo-darken);\n --tblr-btn-disabled-bg: var(--tblr-vimeo);\n --tblr-btn-disabled-color: var(--tblr-vimeo-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-vimeo,\n.btn-outline.btn-vimeo {\n --tblr-btn-color: var(--tblr-vimeo);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-vimeo);\n --tblr-btn-hover-color: var(--tblr-vimeo-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-vimeo);\n --tblr-btn-active-color: var(--tblr-vimeo-fg);\n --tblr-btn-active-bg: var(--tblr-vimeo);\n --tblr-btn-active-border-color: var(--tblr-vimeo);\n --tblr-btn-disabled-color: var(--tblr-vimeo);\n --tblr-btn-disabled-border-color: var(--tblr-vimeo);\n}\n\n.btn-ghost-vimeo,\n.btn-ghost.btn-vimeo {\n --tblr-btn-color: var(--tblr-vimeo);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-vimeo-fg);\n --tblr-btn-hover-bg: var(--tblr-vimeo);\n --tblr-btn-hover-border-color: var(--tblr-vimeo);\n --tblr-btn-active-color: var(--tblr-vimeo-fg);\n --tblr-btn-active-bg: var(--tblr-vimeo);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-vimeo);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-dribbble {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-dribbble-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-dribbble);\n --tblr-btn-hover-color: var(--tblr-dribbble-fg);\n --tblr-btn-hover-bg: var(--tblr-dribbble-darken);\n --tblr-btn-active-color: var(--tblr-dribbble-fg);\n --tblr-btn-active-bg: var(--tblr-dribbble-darken);\n --tblr-btn-disabled-bg: var(--tblr-dribbble);\n --tblr-btn-disabled-color: var(--tblr-dribbble-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-dribbble,\n.btn-outline.btn-dribbble {\n --tblr-btn-color: var(--tblr-dribbble);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-dribbble);\n --tblr-btn-hover-color: var(--tblr-dribbble-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-dribbble);\n --tblr-btn-active-color: var(--tblr-dribbble-fg);\n --tblr-btn-active-bg: var(--tblr-dribbble);\n --tblr-btn-active-border-color: var(--tblr-dribbble);\n --tblr-btn-disabled-color: var(--tblr-dribbble);\n --tblr-btn-disabled-border-color: var(--tblr-dribbble);\n}\n\n.btn-ghost-dribbble,\n.btn-ghost.btn-dribbble {\n --tblr-btn-color: var(--tblr-dribbble);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-dribbble-fg);\n --tblr-btn-hover-bg: var(--tblr-dribbble);\n --tblr-btn-hover-border-color: var(--tblr-dribbble);\n --tblr-btn-active-color: var(--tblr-dribbble-fg);\n --tblr-btn-active-bg: var(--tblr-dribbble);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-dribbble);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-github {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-github-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-github);\n --tblr-btn-hover-color: var(--tblr-github-fg);\n --tblr-btn-hover-bg: var(--tblr-github-darken);\n --tblr-btn-active-color: var(--tblr-github-fg);\n --tblr-btn-active-bg: var(--tblr-github-darken);\n --tblr-btn-disabled-bg: var(--tblr-github);\n --tblr-btn-disabled-color: var(--tblr-github-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-github,\n.btn-outline.btn-github {\n --tblr-btn-color: var(--tblr-github);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-github);\n --tblr-btn-hover-color: var(--tblr-github-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-github);\n --tblr-btn-active-color: var(--tblr-github-fg);\n --tblr-btn-active-bg: var(--tblr-github);\n --tblr-btn-active-border-color: var(--tblr-github);\n --tblr-btn-disabled-color: var(--tblr-github);\n --tblr-btn-disabled-border-color: var(--tblr-github);\n}\n\n.btn-ghost-github,\n.btn-ghost.btn-github {\n --tblr-btn-color: var(--tblr-github);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-github-fg);\n --tblr-btn-hover-bg: var(--tblr-github);\n --tblr-btn-hover-border-color: var(--tblr-github);\n --tblr-btn-active-color: var(--tblr-github-fg);\n --tblr-btn-active-bg: var(--tblr-github);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-github);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-instagram {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-instagram-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-instagram);\n --tblr-btn-hover-color: var(--tblr-instagram-fg);\n --tblr-btn-hover-bg: var(--tblr-instagram-darken);\n --tblr-btn-active-color: var(--tblr-instagram-fg);\n --tblr-btn-active-bg: var(--tblr-instagram-darken);\n --tblr-btn-disabled-bg: var(--tblr-instagram);\n --tblr-btn-disabled-color: var(--tblr-instagram-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-instagram,\n.btn-outline.btn-instagram {\n --tblr-btn-color: var(--tblr-instagram);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-instagram);\n --tblr-btn-hover-color: var(--tblr-instagram-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-instagram);\n --tblr-btn-active-color: var(--tblr-instagram-fg);\n --tblr-btn-active-bg: var(--tblr-instagram);\n --tblr-btn-active-border-color: var(--tblr-instagram);\n --tblr-btn-disabled-color: var(--tblr-instagram);\n --tblr-btn-disabled-border-color: var(--tblr-instagram);\n}\n\n.btn-ghost-instagram,\n.btn-ghost.btn-instagram {\n --tblr-btn-color: var(--tblr-instagram);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-instagram-fg);\n --tblr-btn-hover-bg: var(--tblr-instagram);\n --tblr-btn-hover-border-color: var(--tblr-instagram);\n --tblr-btn-active-color: var(--tblr-instagram-fg);\n --tblr-btn-active-bg: var(--tblr-instagram);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-instagram);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-pinterest {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-pinterest-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-pinterest);\n --tblr-btn-hover-color: var(--tblr-pinterest-fg);\n --tblr-btn-hover-bg: var(--tblr-pinterest-darken);\n --tblr-btn-active-color: var(--tblr-pinterest-fg);\n --tblr-btn-active-bg: var(--tblr-pinterest-darken);\n --tblr-btn-disabled-bg: var(--tblr-pinterest);\n --tblr-btn-disabled-color: var(--tblr-pinterest-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-pinterest,\n.btn-outline.btn-pinterest {\n --tblr-btn-color: var(--tblr-pinterest);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-pinterest);\n --tblr-btn-hover-color: var(--tblr-pinterest-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-pinterest);\n --tblr-btn-active-color: var(--tblr-pinterest-fg);\n --tblr-btn-active-bg: var(--tblr-pinterest);\n --tblr-btn-active-border-color: var(--tblr-pinterest);\n --tblr-btn-disabled-color: var(--tblr-pinterest);\n --tblr-btn-disabled-border-color: var(--tblr-pinterest);\n}\n\n.btn-ghost-pinterest,\n.btn-ghost.btn-pinterest {\n --tblr-btn-color: var(--tblr-pinterest);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-pinterest-fg);\n --tblr-btn-hover-bg: var(--tblr-pinterest);\n --tblr-btn-hover-border-color: var(--tblr-pinterest);\n --tblr-btn-active-color: var(--tblr-pinterest-fg);\n --tblr-btn-active-bg: var(--tblr-pinterest);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-pinterest);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-vk {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-vk-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-vk);\n --tblr-btn-hover-color: var(--tblr-vk-fg);\n --tblr-btn-hover-bg: var(--tblr-vk-darken);\n --tblr-btn-active-color: var(--tblr-vk-fg);\n --tblr-btn-active-bg: var(--tblr-vk-darken);\n --tblr-btn-disabled-bg: var(--tblr-vk);\n --tblr-btn-disabled-color: var(--tblr-vk-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-vk,\n.btn-outline.btn-vk {\n --tblr-btn-color: var(--tblr-vk);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-vk);\n --tblr-btn-hover-color: var(--tblr-vk-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-vk);\n --tblr-btn-active-color: var(--tblr-vk-fg);\n --tblr-btn-active-bg: var(--tblr-vk);\n --tblr-btn-active-border-color: var(--tblr-vk);\n --tblr-btn-disabled-color: var(--tblr-vk);\n --tblr-btn-disabled-border-color: var(--tblr-vk);\n}\n\n.btn-ghost-vk,\n.btn-ghost.btn-vk {\n --tblr-btn-color: var(--tblr-vk);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-vk-fg);\n --tblr-btn-hover-bg: var(--tblr-vk);\n --tblr-btn-hover-border-color: var(--tblr-vk);\n --tblr-btn-active-color: var(--tblr-vk-fg);\n --tblr-btn-active-bg: var(--tblr-vk);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-vk);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-rss {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-rss-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-rss);\n --tblr-btn-hover-color: var(--tblr-rss-fg);\n --tblr-btn-hover-bg: var(--tblr-rss-darken);\n --tblr-btn-active-color: var(--tblr-rss-fg);\n --tblr-btn-active-bg: var(--tblr-rss-darken);\n --tblr-btn-disabled-bg: var(--tblr-rss);\n --tblr-btn-disabled-color: var(--tblr-rss-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-rss,\n.btn-outline.btn-rss {\n --tblr-btn-color: var(--tblr-rss);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-rss);\n --tblr-btn-hover-color: var(--tblr-rss-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-rss);\n --tblr-btn-active-color: var(--tblr-rss-fg);\n --tblr-btn-active-bg: var(--tblr-rss);\n --tblr-btn-active-border-color: var(--tblr-rss);\n --tblr-btn-disabled-color: var(--tblr-rss);\n --tblr-btn-disabled-border-color: var(--tblr-rss);\n}\n\n.btn-ghost-rss,\n.btn-ghost.btn-rss {\n --tblr-btn-color: var(--tblr-rss);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-rss-fg);\n --tblr-btn-hover-bg: var(--tblr-rss);\n --tblr-btn-hover-border-color: var(--tblr-rss);\n --tblr-btn-active-color: var(--tblr-rss-fg);\n --tblr-btn-active-bg: var(--tblr-rss);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-rss);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-flickr {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-flickr-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-flickr);\n --tblr-btn-hover-color: var(--tblr-flickr-fg);\n --tblr-btn-hover-bg: var(--tblr-flickr-darken);\n --tblr-btn-active-color: var(--tblr-flickr-fg);\n --tblr-btn-active-bg: var(--tblr-flickr-darken);\n --tblr-btn-disabled-bg: var(--tblr-flickr);\n --tblr-btn-disabled-color: var(--tblr-flickr-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-flickr,\n.btn-outline.btn-flickr {\n --tblr-btn-color: var(--tblr-flickr);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-flickr);\n --tblr-btn-hover-color: var(--tblr-flickr-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-flickr);\n --tblr-btn-active-color: var(--tblr-flickr-fg);\n --tblr-btn-active-bg: var(--tblr-flickr);\n --tblr-btn-active-border-color: var(--tblr-flickr);\n --tblr-btn-disabled-color: var(--tblr-flickr);\n --tblr-btn-disabled-border-color: var(--tblr-flickr);\n}\n\n.btn-ghost-flickr,\n.btn-ghost.btn-flickr {\n --tblr-btn-color: var(--tblr-flickr);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-flickr-fg);\n --tblr-btn-hover-bg: var(--tblr-flickr);\n --tblr-btn-hover-border-color: var(--tblr-flickr);\n --tblr-btn-active-color: var(--tblr-flickr-fg);\n --tblr-btn-active-bg: var(--tblr-flickr);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-flickr);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-bitbucket {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-bitbucket-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-bitbucket);\n --tblr-btn-hover-color: var(--tblr-bitbucket-fg);\n --tblr-btn-hover-bg: var(--tblr-bitbucket-darken);\n --tblr-btn-active-color: var(--tblr-bitbucket-fg);\n --tblr-btn-active-bg: var(--tblr-bitbucket-darken);\n --tblr-btn-disabled-bg: var(--tblr-bitbucket);\n --tblr-btn-disabled-color: var(--tblr-bitbucket-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-bitbucket,\n.btn-outline.btn-bitbucket {\n --tblr-btn-color: var(--tblr-bitbucket);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-bitbucket);\n --tblr-btn-hover-color: var(--tblr-bitbucket-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-bitbucket);\n --tblr-btn-active-color: var(--tblr-bitbucket-fg);\n --tblr-btn-active-bg: var(--tblr-bitbucket);\n --tblr-btn-active-border-color: var(--tblr-bitbucket);\n --tblr-btn-disabled-color: var(--tblr-bitbucket);\n --tblr-btn-disabled-border-color: var(--tblr-bitbucket);\n}\n\n.btn-ghost-bitbucket,\n.btn-ghost.btn-bitbucket {\n --tblr-btn-color: var(--tblr-bitbucket);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-bitbucket-fg);\n --tblr-btn-hover-bg: var(--tblr-bitbucket);\n --tblr-btn-hover-border-color: var(--tblr-bitbucket);\n --tblr-btn-active-color: var(--tblr-bitbucket-fg);\n --tblr-btn-active-bg: var(--tblr-bitbucket);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-bitbucket);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-tabler {\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-color: var(--tblr-tabler-fg, #ffffff);\n --tblr-btn-bg: var(--tblr-tabler);\n --tblr-btn-hover-color: var(--tblr-tabler-fg);\n --tblr-btn-hover-bg: var(--tblr-tabler-darken);\n --tblr-btn-active-color: var(--tblr-tabler-fg);\n --tblr-btn-active-bg: var(--tblr-tabler-darken);\n --tblr-btn-disabled-bg: var(--tblr-tabler);\n --tblr-btn-disabled-color: var(--tblr-tabler-fg);\n --tblr-btn-box-shadow: var(--tblr-shadow-input);\n}\n\n.btn-outline-tabler,\n.btn-outline.btn-tabler {\n --tblr-btn-color: var(--tblr-tabler);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: var(--tblr-tabler);\n --tblr-btn-hover-color: var(--tblr-tabler-fg);\n --tblr-btn-hover-border-color: transparent;\n --tblr-btn-hover-bg: var(--tblr-tabler);\n --tblr-btn-active-color: var(--tblr-tabler-fg);\n --tblr-btn-active-bg: var(--tblr-tabler);\n --tblr-btn-active-border-color: var(--tblr-tabler);\n --tblr-btn-disabled-color: var(--tblr-tabler);\n --tblr-btn-disabled-border-color: var(--tblr-tabler);\n}\n\n.btn-ghost-tabler,\n.btn-ghost.btn-tabler {\n --tblr-btn-color: var(--tblr-tabler);\n --tblr-btn-bg: transparent;\n --tblr-btn-border-color: transparent;\n --tblr-btn-hover-color: var(--tblr-tabler-fg);\n --tblr-btn-hover-bg: var(--tblr-tabler);\n --tblr-btn-hover-border-color: var(--tblr-tabler);\n --tblr-btn-active-color: var(--tblr-tabler-fg);\n --tblr-btn-active-bg: var(--tblr-tabler);\n --tblr-btn-active-border-color: transparent;\n --tblr-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --tblr-btn-disabled-color: var(--tblr-tabler);\n --tblr-btn-disabled-bg: transparent;\n --tblr-btn-disabled-border-color: transparent;\n --tblr-gradient: none;\n --tblr-btn-box-shadow: none;\n}\n\n.btn-sm,\n.btn-group-sm > .btn {\n --tblr-btn-line-height: 1rem;\n --tblr-btn-icon-size: 1rem;\n}\n\n.btn-lg,\n.btn-group-lg > .btn {\n --tblr-btn-line-height: 1.5rem;\n --tblr-btn-icon-size: 1.5rem;\n}\n\n.btn-xl,\n.btn-group-xl > .btn {\n --tblr-btn-line-height: 2rem;\n --tblr-btn-icon-size: 2rem;\n --tblr-btn-padding-y: 0.6875rem;\n --tblr-btn-padding-x: 1.75rem;\n --tblr-btn-font-size: 1.5rem;\n}\n\n.btn-pill {\n padding-inline-end: 1.5em;\n padding-inline-start: 1.5em;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .btn-pill {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.btn-pill[class*=btn-icon] {\n padding: 0.375rem 15px;\n}\n\n.btn-square {\n border-radius: 0;\n}\n\n.btn-icon,\n.btn-action {\n padding-inline-start: 0;\n padding-inline-end: 0;\n}\n.btn-icon .icon,\n.btn-action .icon {\n margin: calc(-1 * var(--tblr-btn-padding-x));\n}\n.btn-icon,\n.btn-action {\n min-width: calc(var(--tblr-btn-line-height) + var(--tblr-btn-padding-y) * 2 + var(--tblr-btn-border-width) * 2);\n}\n\n.btn-list {\n --tblr-list-gap: 0.5rem;\n display: flex;\n flex-wrap: wrap;\n gap: var(--tblr-list-gap);\n}\n\n.btn-list-center {\n justify-content: center;\n}\n\n.btn-floating {\n position: fixed;\n z-index: 1030;\n bottom: 1rem;\n inset-inline-start: 1rem;\n box-shadow: var(--tblr-shadow-dropdown);\n}\n@media print {\n .btn-floating {\n display: none;\n }\n}\n\n.btn-loading {\n position: relative;\n color: transparent !important;\n text-shadow: none !important;\n pointer-events: none;\n}\n.btn-loading > * {\n opacity: 0;\n}\n.btn-loading:after {\n content: \"\";\n display: inline-block;\n vertical-align: text-bottom;\n border: 2px var(--tblr-border-style) currentColor;\n border-inline-end-color: transparent;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .btn-loading:after {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.btn-loading:after {\n color: var(--tblr-btn-color);\n position: absolute;\n width: var(--tblr-btn-icon-size);\n height: var(--tblr-btn-icon-size);\n inset-inline-start: calc(50% - var(--tblr-btn-icon-size) / 2);\n top: calc(50% - var(--tblr-btn-icon-size) / 2);\n animation: spinner-border 0.75s linear infinite;\n}\n\n.btn-action {\n --tblr-border-color: transparent;\n color: var(--tblr-secondary);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .btn-action {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.btn-action {\n background: transparent;\n box-shadow: none;\n}\n.btn-action:after {\n content: none;\n}\n.btn-action:focus {\n outline: none;\n box-shadow: none;\n}\n.btn-action:hover, .btn-action.show {\n color: var(--tblr-body-color);\n background: var(--tblr-active-bg);\n border-color: transparent;\n}\n.btn-action.show {\n color: var(--tblr-primary);\n}\n@media print {\n .btn-action {\n display: none;\n }\n}\n\n.btn-actions {\n display: flex;\n}\n@media print {\n .btn-actions {\n display: none;\n }\n}\n\n.btn-animate-icon .icon {\n transition: transform 0.3s ease;\n}\n.btn-animate-icon:hover .icon, .btn-animate-icon:focus-visible .icon {\n transform: translateX(4px);\n}\n.btn-animate-icon.btn-animate-icon-rotate:hover .icon, .btn-animate-icon.btn-animate-icon-rotate:focus-visible .icon {\n transform: rotate(90deg);\n}\n.btn-animate-icon.btn-animate-icon-move-start:hover .icon, .btn-animate-icon.btn-animate-icon-move-start:focus-visible .icon {\n transform: translateX(-4px);\n}\n.btn-animate-icon.btn-animate-icon-pulse:hover .icon, .btn-animate-icon.btn-animate-icon-pulse:focus-visible .icon {\n transform: none;\n animation: pulse 0.9s;\n}\n.btn-animate-icon.btn-animate-icon-shake:hover .icon, .btn-animate-icon.btn-animate-icon-shake:focus-visible .icon {\n transform: none;\n animation: shake 0.9s;\n}\n.btn-animate-icon.btn-animate-icon-tada:hover .icon, .btn-animate-icon.btn-animate-icon-tada:focus-visible .icon {\n transform: none;\n animation: tada 0.9s;\n}\n\n.btn-group,\n.btn-group-vertical {\n box-shadow: var(--tblr-shadow-input);\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 5;\n}\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus {\n z-index: 1;\n}\n\n.calendar {\n display: block;\n font-size: 0.765625rem;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .calendar {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.calendar-nav {\n display: flex;\n align-items: center;\n}\n\n.calendar-title {\n flex: 1;\n text-align: center;\n}\n\n.calendar-body,\n.calendar-header {\n display: flex;\n flex-wrap: wrap;\n justify-content: start;\n padding: 0.5rem 0;\n}\n\n.calendar-header {\n color: var(--tblr-secondary);\n}\n\n.calendar-date {\n flex: 0 0 14.2857142857%;\n max-width: 14.2857142857%;\n padding: 0.2rem;\n text-align: center;\n border: 0;\n}\n.calendar-date.prev-month, .calendar-date.next-month {\n opacity: 0.25;\n}\n.calendar-date .date-item {\n position: relative;\n display: inline-block;\n width: 1.4rem;\n height: 1.4rem;\n line-height: 1.4rem;\n color: #66758c;\n text-align: center;\n text-decoration: none;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n background: 0 0;\n border: var(--tblr-border-width) var(--tblr-border-style) transparent;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .calendar-date .date-item {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.calendar-date .date-item {\n outline: 0;\n transition: background 0.3s, border 0.3s, box-shadow 0.32s, color 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .calendar-date .date-item {\n transition: none;\n }\n}\n.calendar-date .date-item:hover {\n color: var(--tblr-primary);\n text-decoration: none;\n background: #fefeff;\n border-color: var(--tblr-border-color);\n}\n.calendar-date .date-today {\n color: var(--tblr-primary);\n border-color: var(--tblr-border-color);\n}\n\n.calendar-range {\n position: relative;\n}\n.calendar-range:before {\n position: absolute;\n top: 50%;\n inset-inline-end: 0;\n inset-inline-start: 0;\n height: 1.4rem;\n content: \"\";\n background: color-mix(in srgb, var(--tblr-primary) 10%, transparent);\n transform: translateY(-50%);\n}\n.calendar-range.range-start .date-item, .calendar-range.range-end .date-item {\n color: #ffffff;\n background: var(--tblr-primary);\n border-color: var(--tblr-primary);\n}\n.calendar-range.range-start:before {\n inset-inline-start: 50%;\n}\n.calendar-range.range-end:before {\n inset-inline-end: 50%;\n}\n\n.carousel-indicators-vertical {\n inset-inline-start: auto;\n top: 0;\n margin: 0 1rem 0 0;\n flex-direction: column;\n}\n.carousel-indicators-vertical [data-bs-target],\n.carousel-indicators-vertical [data-target] {\n margin: 3px 0 3px;\n width: 3px;\n height: 30px;\n border: 0;\n border-inline-start: 10px var(--tblr-border-style) transparent;\n border-inline-end: 10px var(--tblr-border-style) transparent;\n}\n\n.carousel-indicators-dot [data-bs-target],\n.carousel-indicators-dot [data-target] {\n width: 0.5rem;\n height: 0.5rem;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .carousel-indicators-dot [data-bs-target],\n .carousel-indicators-dot [data-target] {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.carousel-indicators-dot [data-bs-target],\n.carousel-indicators-dot [data-target] {\n border: 10px var(--tblr-border-style) transparent;\n margin: 0;\n}\n\n.carousel-indicators-thumb [data-bs-target],\n.carousel-indicators-thumb [data-target] {\n width: 2rem;\n height: auto;\n background: no-repeat center/cover;\n border: 0;\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .carousel-indicators-thumb [data-bs-target],\n .carousel-indicators-thumb [data-target] {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.carousel-indicators-thumb [data-bs-target],\n.carousel-indicators-thumb [data-target] {\n box-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08);\n margin: 0 3px;\n opacity: 0.75;\n}\n@media (min-width: 992px) {\n .carousel-indicators-thumb [data-bs-target],\n .carousel-indicators-thumb [data-target] {\n width: 4rem;\n }\n}\n.carousel-indicators-thumb [data-bs-target]:before,\n.carousel-indicators-thumb [data-target]:before {\n content: \"\";\n padding-top: var(--tblr-aspect-ratio, 100%);\n display: block;\n}\n.carousel-indicators-thumb.carousel-indicators-vertical [data-bs-target],\n.carousel-indicators-thumb.carousel-indicators-vertical [data-target] {\n margin: 3px 0;\n}\n\n.carousel-caption-background {\n background: red;\n position: absolute;\n inset-inline-start: 0;\n inset-inline-end: 0;\n bottom: 0;\n height: 90%;\n background: linear-gradient(0deg, rgba(31, 41, 55, 0.9), rgba(31, 41, 55, 0));\n}\n\n@property --tblr-card-gradient-direction {\n syntax: \"\";\n inherits: true;\n initial-value: 180deg;\n}\n@keyframes gradient-animation {\n 0% {\n --tblr-card-gradient-direction: 180deg;\n }\n 100% {\n --tblr-card-gradient-direction: 540deg;\n }\n}\n.card {\n transition: transform 0.3s ease-out, opacity 0.3s ease-out, box-shadow 0.3s ease-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .card {\n transition: none;\n }\n}\n@media print {\n .card {\n border: none;\n box-shadow: none;\n }\n}\na.card {\n color: inherit;\n}\na.card:hover {\n text-decoration: none;\n box-shadow: var(--tblr-shadow-card-hover);\n}\n\n.card .card {\n box-shadow: none;\n}\n\n.card-borderless,\n.card-borderless .card-header,\n.card-borderless .card-footer {\n border-color: transparent;\n}\n\n.card-dashed {\n border: var(--tblr-border-width) dashed var(--tblr-border-color);\n}\n\n.card-transparent {\n background: transparent;\n border: var(--tblr-border-width) dashed var(--tblr-border-color);\n box-shadow: none;\n}\n\n.card-stamp {\n --tblr-stamp-size: 7rem;\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n width: calc(var(--tblr-stamp-size) * 1);\n height: calc(var(--tblr-stamp-size) * 1);\n max-height: 100%;\n border-start-end-radius: 6px;\n opacity: 0.2;\n overflow: hidden;\n pointer-events: none;\n}\n\n.card-stamp-lg {\n --tblr-stamp-size: 13rem;\n}\n\n.card-stamp-icon {\n background: var(--tblr-secondary);\n color: var(--tblr-card-bg, var(--tblr-bg-surface));\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .card-stamp-icon {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.card-stamp-icon {\n width: calc(var(--tblr-stamp-size) * 1);\n height: calc(var(--tblr-stamp-size) * 1);\n position: relative;\n top: calc(var(--tblr-stamp-size) * -0.25);\n inset-inline-end: calc(var(--tblr-stamp-size) * -0.25);\n font-size: calc(var(--tblr-stamp-size) * 0.75);\n transform: rotate(10deg);\n}\n.card-stamp-icon .icon {\n stroke-width: 2;\n width: calc(var(--tblr-stamp-size) * 0.75);\n height: calc(var(--tblr-stamp-size) * 0.75);\n}\n\n.card-img,\n.card-img-start {\n border-top-left-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));\n border-bottom-left-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));\n}\n\n.card-img,\n.card-img-end {\n border-top-right-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));\n border-bottom-right-radius: calc(var(--tblr-border-radius-lg) - (var(--tblr-border-width)));\n}\n\n.card-img-overlay {\n display: flex;\n flex-direction: column;\n justify-content: end;\n}\n\n.card-img-overlay-dark {\n background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);\n}\n\n.card-inactive {\n pointer-events: none;\n box-shadow: none;\n}\n.card-inactive .card-body {\n opacity: 0.64;\n}\n\n.card-active {\n --tblr-card-border-color: var(--tblr-primary);\n --tblr-card-bg: var(--tblr-active-bg);\n}\n\n.card-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 1.25rem 1.25rem;\n text-align: center;\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n flex: 1;\n color: inherit;\n font-weight: var(--tblr-font-weight-medium);\n transition: background 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .card-btn {\n transition: none;\n }\n}\n.card-btn:hover {\n text-decoration: none;\n background: color-mix(in srgb, var(--tblr-primary) 4%, transparent);\n}\n.card-btn + .card-btn {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n}\n\n/**\nStacked card\n */\n.card-stacked {\n --tblr-card-stacked-offset: 0.25rem;\n position: relative;\n}\n.card-stacked:after {\n position: absolute;\n top: calc(-1 * var(--tblr-card-stacked-offset));\n inset-inline-end: var(--tblr-card-stacked-offset);\n inset-inline-start: var(--tblr-card-stacked-offset);\n height: var(--tblr-card-stacked-offset);\n content: \"\";\n background: var(--tblr-card-bg, var(--tblr-bg-surface));\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-card-border-color);\n border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0;\n}\n@supports (corner-shape: squircle) {\n .card-stacked:after {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0 * 2.5) !important;\n }\n}\n\n.card-cover {\n position: relative;\n padding: 1.25rem 1.25rem;\n background: #666666 no-repeat center/cover;\n}\n.card-cover:before {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n bottom: 0;\n inset-inline-start: 0;\n content: \"\";\n background: rgba(31, 41, 55, 0.48);\n}\n.card-cover:first-child, .card-cover:first-child:before {\n border-radius: 6px 6px 0 0;\n}\n@supports (corner-shape: squircle) {\n .card-cover:first-child, .card-cover:first-child:before {\n corner-shape: squircle;\n border-radius: calc(6px 6px 0 0 * 2.5) !important;\n }\n}\n\n.card-cover-blurred:before {\n backdrop-filter: blur(2px);\n}\n\n.card-actions {\n margin: -0.5rem -0.5rem -0.5rem auto;\n padding-inline-start: 0.5rem;\n}\n.card-actions a {\n text-decoration: none;\n}\n\n.card-header {\n color: inherit;\n display: flex;\n align-items: center;\n background: transparent;\n}\n.card-header:first-child {\n border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0;\n}\n@supports (corner-shape: squircle) {\n .card-header:first-child {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0 * 2.5) !important;\n }\n}\n\n.card-header-light {\n border-bottom-color: transparent;\n background: var(--tblr-bg-surface-tertiary);\n}\n\n.card-header-tabs {\n background: var(--tblr-bg-surface-tertiary);\n flex: 1;\n margin: calc(var(--tblr-card-cap-padding-y) * -1) calc(var(--tblr-card-cap-padding-x) * -1) calc(var(--tblr-card-cap-padding-y) * -1);\n padding: calc(var(--tblr-card-cap-padding-y) * 0.5) calc(var(--tblr-card-cap-padding-x) * 0.5) 0;\n border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0;\n}\n@supports (corner-shape: squircle) {\n .card-header-tabs {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0 * 2.5) !important;\n }\n}\n\n.card-header-pills {\n flex: 1;\n margin-top: -0.5rem;\n margin-bottom: -0.5rem;\n}\n\n.card-rotate-left,\n.card-rotate-start {\n transform: rotate(-1.5deg);\n}\n\n.card-rotate-right,\n.card-rotate-end {\n transform: rotate(1.5deg);\n}\n\n.card-link {\n color: inherit;\n}\n.card-link:hover {\n color: inherit;\n text-decoration: none;\n box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.08);\n}\n\n.card-link-rotate:hover {\n transform: rotate(1.5deg);\n opacity: 1;\n}\n\n.card-link-pop:hover {\n transform: translateY(-2px);\n opacity: 1;\n}\n\n.card-footer {\n margin-top: auto;\n}\n.card-footer:last-child {\n border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius);\n}\n@supports (corner-shape: squircle) {\n .card-footer:last-child {\n corner-shape: squircle;\n border-radius: calc(0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius) * 2.5) !important;\n }\n}\n\n.card-footer-transparent {\n background: transparent;\n border-color: transparent;\n padding-top: 0;\n}\n\n.card-footer-borderless {\n border-top: none;\n}\n\n.card-progress {\n height: 0.25rem;\n}\n.card-progress:last-child {\n border-radius: 0 0 2px 2px;\n}\n@supports (corner-shape: squircle) {\n .card-progress:last-child {\n corner-shape: squircle;\n border-radius: calc(0 0 2px 2px * 2.5) !important;\n }\n}\n.card-progress:first-child {\n border-radius: 2px 2px 0 0;\n}\n@supports (corner-shape: squircle) {\n .card-progress:first-child {\n corner-shape: squircle;\n border-radius: calc(2px 2px 0 0 * 2.5) !important;\n }\n}\n\n.card-meta {\n color: var(--tblr-secondary);\n}\n\n.card-title {\n display: block;\n margin: 0 0 1rem;\n font-size: 1rem;\n font-weight: var(--tblr-font-weight-medium);\n color: var(--tblr-heading-color);\n line-height: 1.5rem;\n}\na.card-title:hover {\n color: inherit;\n}\n\n.card-header .card-title {\n margin: 0;\n}\n\n.card-subtitle {\n margin-bottom: 1.25rem;\n color: var(--tblr-secondary);\n font-weight: normal;\n}\n.card-header .card-subtitle {\n margin: 0;\n}\n.card-title .card-subtitle {\n margin: 0 0 0 0.25rem;\n font-size: 0.875rem;\n}\n\n.card-body {\n position: relative;\n}\n.card-body > :last-child {\n margin-bottom: 0;\n}\n.card-sm > .card-body {\n padding: 1rem;\n}\n@media (min-width: 768px) {\n .card-md > .card-body {\n padding: 2.5rem;\n }\n}\n@media (min-width: 768px) {\n .card-lg > .card-body {\n padding: 2rem;\n }\n}\n@media (min-width: 992px) {\n .card-lg > .card-body {\n padding: 4rem;\n }\n}\n@media print {\n .card-body {\n padding: 0;\n }\n}\n.card-body + .card-body {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n}\n\n.card-body-scrollable {\n overflow: auto;\n}\n\n/**\nCard optinos\n */\n.card-options {\n top: 1.5rem;\n inset-inline-end: 0.75rem;\n display: flex;\n margin-inline-start: auto;\n}\n\n.card-options-link {\n display: inline-block;\n min-width: 1rem;\n margin-inline-start: 0.25rem;\n color: var(--tblr-secondary);\n}\n\n/**\nCard status\n */\n.card-status-top {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n inset-inline-start: 0;\n height: 2px;\n border-radius: var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0;\n}\n@supports (corner-shape: squircle) {\n .card-status-top {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-card-border-radius) var(--tblr-card-border-radius) 0 0 * 2.5) !important;\n }\n}\n\n.card-status-start {\n position: absolute;\n inset-inline-end: auto;\n bottom: 0;\n width: 2px;\n height: 100%;\n border-radius: var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius);\n}\n@supports (corner-shape: squircle) {\n .card-status-start {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-card-border-radius) 0 0 var(--tblr-card-border-radius) * 2.5) !important;\n }\n}\n\n.card-status-bottom {\n position: absolute;\n top: initial;\n bottom: 0;\n width: 100%;\n height: 2px;\n border-radius: 0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius);\n}\n@supports (corner-shape: squircle) {\n .card-status-bottom {\n corner-shape: squircle;\n border-radius: calc(0 0 var(--tblr-card-border-radius) var(--tblr-card-border-radius) * 2.5) !important;\n }\n}\n\n/**\nCard table\n */\n.card-table {\n margin-bottom: 0 !important;\n}\n.card-table tr td:first-child,\n.card-table tr th:first-child {\n padding-left: 1.25rem;\n border-left: 0;\n border-top-left-radius: var(--tblr-card-border-radius);\n}\n.card-table tr td:last-child,\n.card-table tr th:last-child {\n padding-right: 1.25rem;\n border-right: 0;\n border-top-right-radius: var(--tblr-card-border-radius);\n padding-inline-start: 1.25rem;\n border-inline-start: 0;\n}\n.card-table tr td:last-child,\n.card-table tr th:last-child {\n padding-inline-end: 1.25rem;\n border-inline-end: 0;\n}\n.card-table thead:last-child tr:last-child > *:last-child,\n.card-table tbody:last-child tr:last-child > *:last-child,\n.card-table tfoot:last-child tr:last-child > *:last-child {\n border-end-end-radius: calc(var(--tblr-card-border-radius) - var(--tblr-card-border-width));\n}\n.card-table thead:last-child tr:last-child > *:first-child,\n.card-table tbody:last-child tr:last-child > *:first-child,\n.card-table tfoot:last-child tr:last-child > *:first-child {\n border-end-start-radius: calc(var(--tblr-card-border-radius) - var(--tblr-card-border-width));\n}\n.card-table thead tr:first-child,\n.card-table tbody tr:first-child,\n.card-table tfoot tr:first-child {\n border-top: 0;\n}\n.card-table thead tr:first-child td,\n.card-table thead tr:first-child th,\n.card-table tbody tr:first-child td,\n.card-table tbody tr:first-child th,\n.card-table tfoot tr:first-child td,\n.card-table tfoot tr:first-child th {\n border-top: 0;\n}\n.card-table tbody tr:last-child td {\n border-bottom: 0;\n}\n.card-table tfoot tr:last-child {\n border-bottom: 0;\n}\n.card-body + .card-table {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-table-border-color);\n}\n\n/*\nCard code\n */\n.card-code {\n padding: 0;\n}\n.card-code .highlight {\n margin: 0;\n border: 0;\n}\n.card-code pre {\n margin: 0 !important;\n border: 0 !important;\n}\n\n/*\nCard chart\n */\n.card-chart {\n position: relative;\n z-index: 1;\n height: 3.5rem;\n}\n\n/**\nCard avatar\n */\n.card-avatar {\n margin-inline-start: auto;\n margin-inline-end: auto;\n box-shadow: 0 0 0 0.25rem var(--tblr-card-bg, var(--tblr-bg-surface));\n margin-top: calc(-1 * var(--tblr-avatar-size) * 0.5);\n}\n\n/*\nCard list group\n */\n.card-body + .card-list-group {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n}\n.card-list-group .list-group-item {\n padding-inline-end: 1.25rem;\n padding-inline-start: 1.25rem;\n border-inline-end: 0;\n border-inline-start: 0;\n border-radius: 0;\n}\n.card-list-group .list-group-item:last-child {\n border-bottom: 0;\n}\n.card-list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-tabs .nav-tabs {\n position: relative;\n z-index: 1000;\n border-bottom: 0;\n}\n.card-tabs .nav-tabs .nav-link {\n background: var(--tblr-bg-surface-tertiary);\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n}\n.card-tabs .nav-tabs .nav-link.active, .card-tabs .nav-tabs .nav-link:active, .card-tabs .nav-tabs .nav-link:hover {\n border-color: var(--tblr-border-color-translucent);\n color: var(--tblr-body-color);\n}\n.card-tabs .nav-tabs .nav-link.active {\n color: light-dark(var(--tblr-gray-900), var(--tblr-white));\n background: var(--tblr-card-bg, var(--tblr-bg-surface));\n border-bottom-color: transparent;\n}\n.card-tabs .nav-tabs .nav-item:not(:first-child) .nav-link {\n border-start-start-radius: 0;\n}\n.card-tabs .nav-tabs .nav-item:not(:last-child) .nav-link {\n border-start-end-radius: 0;\n}\n.card-tabs .nav-tabs .nav-item + .nav-item {\n margin-inline-start: calc(-1 * var(--tblr-border-width));\n}\n.card-tabs .nav-tabs-bottom {\n margin-bottom: 0;\n}\n.card-tabs .nav-tabs-bottom .nav-link {\n margin-bottom: 0;\n}\n.card-tabs .nav-tabs-bottom .nav-link.active {\n border-top-color: transparent;\n}\n.card-tabs .nav-tabs-bottom .nav-item {\n margin-top: calc(-1 * var(--tblr-border-width));\n margin-bottom: 0;\n}\n.card-tabs .nav-tabs-bottom .nav-item .nav-link {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n border-radius: 0 0 var(--tblr-border-radius-lg) var(--tblr-border-radius-lg);\n}\n@supports (corner-shape: squircle) {\n .card-tabs .nav-tabs-bottom .nav-item .nav-link {\n corner-shape: squircle;\n border-radius: calc(0 0 var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) * 2.5) !important;\n }\n}\n.card-tabs .nav-tabs-bottom .nav-item:not(:first-child) .nav-link {\n border-end-start-radius: 0;\n}\n.card-tabs .nav-tabs-bottom .nav-item:not(:last-child) .nav-link {\n border-end-end-radius: 0;\n}\n.card-tabs .card {\n border-end-start-radius: 0;\n}\n.card-tabs .nav-tabs + .tab-content .card {\n border-end-start-radius: var(--tblr-card-border-radius);\n border-start-start-radius: 0;\n}\n\n/**\nCard note\n*/\n.card-note {\n --tblr-card-bg: #fff7dd;\n --tblr-card-border-color: #fff1c9;\n}\n\n/**\nCard gradient\n*/\n.card-gradient {\n --tblr-card-gradient-direction: 180deg;\n --tblr-card-gradient-opacity: 86%;\n --tblr-card-gradient: var(--tblr-primary), var(--tblr-primary);\n background: radial-gradient(ellipse at center, var(--tblr-card-bg) 0%, color-mix(in srgb, var(--tblr-card-bg) 0%, transparent) 80%) border-box, linear-gradient(var(--tblr-card-gradient-direction), color-mix(in srgb, var(--tblr-card-bg) var(--tblr-card-gradient-opacity), transparent) 0%, var(--tblr-card-bg) 40%) border-box, linear-gradient(calc(270deg + var(--tblr-card-gradient-direction)), var(--tblr-card-gradient)) border-box;\n}\n\n.card-gradient-blue {\n --tblr-card-gradient: var(--tblr-blue), var(--tblr-blue);\n}\n\n.card-gradient-azure {\n --tblr-card-gradient: var(--tblr-azure), var(--tblr-azure);\n}\n\n.card-gradient-indigo {\n --tblr-card-gradient: var(--tblr-indigo), var(--tblr-indigo);\n}\n\n.card-gradient-purple {\n --tblr-card-gradient: var(--tblr-purple), var(--tblr-purple);\n}\n\n.card-gradient-pink {\n --tblr-card-gradient: var(--tblr-pink), var(--tblr-pink);\n}\n\n.card-gradient-red {\n --tblr-card-gradient: var(--tblr-red), var(--tblr-red);\n}\n\n.card-gradient-orange {\n --tblr-card-gradient: var(--tblr-orange), var(--tblr-orange);\n}\n\n.card-gradient-yellow {\n --tblr-card-gradient: var(--tblr-yellow), var(--tblr-yellow);\n}\n\n.card-gradient-lime {\n --tblr-card-gradient: var(--tblr-lime), var(--tblr-lime);\n}\n\n.card-gradient-green {\n --tblr-card-gradient: var(--tblr-green), var(--tblr-green);\n}\n\n.card-gradient-teal {\n --tblr-card-gradient: var(--tblr-teal), var(--tblr-teal);\n}\n\n.card-gradient-cyan {\n --tblr-card-gradient: var(--tblr-cyan), var(--tblr-cyan);\n}\n\n.card-gradient-black {\n --tblr-card-gradient: var(--tblr-black), var(--tblr-black);\n}\n\n.card-gradient-white {\n --tblr-card-gradient: var(--tblr-white), var(--tblr-white);\n}\n\n.card-gradient-gray {\n --tblr-card-gradient: var(--tblr-gray), var(--tblr-gray);\n}\n\n.card-gradient-gray-dark {\n --tblr-card-gradient: var(--tblr-gray-dark), var(--tblr-gray-dark);\n}\n\n.card-gradient-primary {\n --tblr-card-gradient: var(--tblr-primary), var(--tblr-primary);\n}\n\n.card-gradient-secondary {\n --tblr-card-gradient: var(--tblr-secondary), var(--tblr-secondary);\n}\n\n.card-gradient-success {\n --tblr-card-gradient: var(--tblr-success), var(--tblr-success);\n}\n\n.card-gradient-info {\n --tblr-card-gradient: var(--tblr-info), var(--tblr-info);\n}\n\n.card-gradient-warning {\n --tblr-card-gradient: var(--tblr-warning), var(--tblr-warning);\n}\n\n.card-gradient-danger {\n --tblr-card-gradient: var(--tblr-danger), var(--tblr-danger);\n}\n\n.card-gradient-light {\n --tblr-card-gradient: var(--tblr-light), var(--tblr-light);\n}\n\n.card-gradient-dark {\n --tblr-card-gradient: var(--tblr-dark), var(--tblr-dark);\n}\n\n.card-gradient-muted {\n --tblr-card-gradient: var(--tblr-muted), var(--tblr-muted);\n}\n\n.card-gradient-rainbow {\n --tblr-card-gradient: #78c5d6, #459ba8, #79c267, #c5d647, #f5d63d, #f08b33, #e868a2, #be61a5;\n}\n\n.card-gradient-sun {\n --tblr-card-gradient: #fd1d1d, #fcb045;\n}\n\n.card-gradient-snow {\n --tblr-card-gradient: #333, #e9ecef;\n}\n\n.card-gradient-ocean {\n --tblr-card-gradient: #1cb5e0, #000851;\n}\n\n.card-gradient-mellow {\n --tblr-card-gradient: #f8ff00, #3ad59f;\n}\n\n.card-gradient-disco {\n --tblr-card-gradient: #fc466b, #3f5efb;\n}\n\n.card-gradient-psychedelic {\n --tblr-card-gradient: #fcc5e4, #fda34b, #ff7882, #c8699e, #7046aa, #0c1db8, #020f75;\n}\n\n.card-gradient-love {\n --tblr-card-gradient: #f235e6, #bc0707;\n}\n\n.card-gradient-gold {\n --tblr-card-gradient: #9d4100, #bf7122, #f59f00, #ffd700;\n}\n\n.card-gradient-animated {\n animation: gradient-animation 15s linear infinite;\n}\n\n.card-gradient-bottom {\n --tblr-card-gradient-direction: 0deg;\n}\n\n.card-gradient-end {\n --tblr-card-gradient-direction: 270deg;\n}\n\n.card-gradient-start {\n --tblr-card-gradient-direction: 90deg;\n}\n\n.btn-close {\n --tblr-btn-close-color: currentColor;\n --tblr-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236b7280'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e\");\n --tblr-btn-close-opacity: 0.4;\n --tblr-btn-close-hover-opacity: 0.75;\n --tblr-btn-close-focus-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n --tblr-btn-close-focus-opacity: 1;\n --tblr-btn-close-disabled-opacity: 0.25;\n --tblr-btn-close-size: 1em;\n width: var(--tblr-btn-close-size);\n height: var(--tblr-btn-close-size);\n padding: 0.25em 0.25em;\n color: var(--tblr-btn-close-color);\n mask: var(--tblr-btn-close-bg) no-repeat center/calc(var(--tblr-btn-close-size) * 0.75);\n background-color: var(--tblr-btn-close-color);\n border: 0;\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .btn-close {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.btn-close {\n opacity: var(--tblr-btn-close-opacity);\n cursor: pointer;\n display: block;\n}\n.btn-close:hover {\n color: var(--tblr-btn-close-color);\n text-decoration: none;\n opacity: var(--tblr-btn-close-hover-opacity);\n background-color: var(--tblr-btn-close-color);\n}\n.btn-close:focus {\n outline: 0;\n box-shadow: var(--tblr-btn-close-focus-shadow);\n opacity: var(--tblr-btn-close-focus-opacity);\n}\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--tblr-btn-close-disabled-opacity);\n}\n@media print {\n .btn-close {\n display: none;\n }\n}\n\n.dropdown-menu {\n --tblr-dropdown-item-gap: 0.5rem;\n --tblr-dropdown-item-icon-size: 1.25rem;\n --tblr-dropdown-item-icon-color: var(--tblr-tertiary);\n user-select: none;\n background-clip: border-box;\n}\n.dropdown-menu.card {\n padding: 0;\n min-width: 25rem;\n display: none;\n}\n.dropdown-menu.card.show {\n display: flex;\n}\n@media print {\n .dropdown-menu {\n display: none;\n }\n}\n\n.dropdown-item {\n min-width: 11rem;\n display: flex;\n align-items: center;\n margin: 0;\n line-height: 1.4285714286;\n gap: var(--tblr-dropdown-item-gap);\n}\n\n.dropdown-item-icon {\n width: var(--tblr-dropdown-item-icon-size) !important;\n height: var(--tblr-dropdown-item-icon-size) !important;\n color: var(--tblr-dropdown-item-icon-color);\n text-align: center;\n}\n\n.dropdown-item-indicator {\n height: 1.25rem;\n display: inline-flex;\n line-height: 1;\n vertical-align: bottom;\n align-items: center;\n}\n\n.dropdown-header {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n padding-bottom: 0.25rem;\n pointer-events: none;\n}\n\n.dropdown-menu-scrollable {\n height: auto;\n max-height: 13rem;\n overflow-x: hidden;\n}\n\n.dropdown-menu-column {\n min-width: 11rem;\n}\n.dropdown-menu-column .dropdown-item {\n min-width: 0;\n}\n\n.dropdown-menu-columns {\n display: flex;\n flex: 0 0.25rem;\n}\n\n.dropdown-menu-arrow:before {\n content: \"\";\n position: absolute;\n top: -0.25rem;\n inset-inline-start: 0.75rem;\n display: block;\n background: inherit;\n width: 14px;\n height: 14px;\n /*rtl:ignore*/\n transform: rotate(45deg);\n transform-origin: center;\n border: 1px solid;\n border-color: inherit;\n z-index: -1;\n clip: rect(0px, 9px, 9px, 0px);\n}\n.dropdown-menu-arrow.dropdown-menu-end:before {\n inset-inline-end: 0.75rem;\n inset-inline-start: auto;\n}\n\n.dropend > .dropdown-menu {\n margin-top: calc(-0.25rem - 1px);\n margin-inline-start: -0.25rem;\n}\n.dropend .dropdown-toggle:after {\n margin-inline-start: auto;\n}\n\n.dropdown-menu-card {\n padding: 0;\n min-width: 20rem;\n}\n.dropdown-menu-card > .card {\n margin: 0;\n border: 0;\n box-shadow: none;\n}\n\n.datagrid {\n --tblr-datagrid-padding: 1.5rem;\n --tblr-datagrid-item-width: 15rem;\n display: grid;\n grid-gap: var(--tblr-datagrid-padding);\n grid-template-columns: repeat(auto-fit, minmax(var(--tblr-datagrid-item-width), 1fr));\n}\n\n.datagrid-title {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n margin-bottom: 0.25rem;\n}\n\n.empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 1rem;\n text-align: center;\n}\n@media (min-width: 768px) {\n .empty {\n padding: 3rem;\n }\n}\n\n.empty-icon {\n margin: 0 0 1rem;\n width: 3rem;\n height: 3rem;\n line-height: 1;\n color: var(--tblr-secondary);\n}\n.empty-icon svg {\n width: 100%;\n height: 100%;\n}\n\n.empty-img {\n margin: 0 0 2rem;\n line-height: 1;\n}\n\n.empty-header {\n margin: 0 0 1rem;\n font-size: 4rem;\n font-weight: var(--tblr-font-weight-light);\n line-height: 1;\n color: var(--tblr-secondary);\n}\n\n.empty-title {\n font-size: 1.25rem;\n line-height: 1.75rem;\n font-weight: var(--tblr-font-weight-semibold);\n}\n\n.empty-title,\n.empty-subtitle {\n margin: 0 0 0.5rem;\n}\n\n.empty-action {\n margin-top: 1.5rem;\n}\n\n.empty-bordered {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .empty-bordered {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.row > * {\n min-width: 0;\n}\n\n.col-separator {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n}\n\n.container-slim {\n --tblr-gutter-x: calc(var(--tblr-page-padding) * 2);\n --tblr-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--tblr-gutter-x) * 0.5);\n padding-left: calc(var(--tblr-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n max-width: 16rem;\n}\n.container-tight {\n --tblr-gutter-x: calc(var(--tblr-page-padding) * 2);\n --tblr-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--tblr-gutter-x) * 0.5);\n padding-left: calc(var(--tblr-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n max-width: 32rem;\n}\n.container-narrow {\n --tblr-gutter-x: calc(var(--tblr-page-padding) * 2);\n --tblr-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--tblr-gutter-x) * 0.5);\n padding-left: calc(var(--tblr-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n max-width: 61.875rem;\n}\n\n.row-0 {\n margin-inline-end: 0;\n margin-inline-start: 0;\n}\n.row-0 > .col,\n.row-0 > [class*=col-] {\n padding-inline-end: 0;\n padding-inline-start: 0;\n}\n.row-0 .card {\n margin-bottom: 0;\n}\n\n.row-sm {\n margin-inline-end: -0.375rem;\n margin-inline-start: -0.375rem;\n}\n.row-sm > .col,\n.row-sm > [class*=col-] {\n padding-inline-end: 0.375rem;\n padding-inline-start: 0.375rem;\n}\n.row-sm .card {\n margin-bottom: 0.75rem;\n}\n\n.row-md {\n margin-inline-end: -1.5rem;\n margin-inline-start: -1.5rem;\n}\n.row-md > .col,\n.row-md > [class*=col-] {\n padding-inline-end: 1.5rem;\n padding-inline-start: 1.5rem;\n}\n.row-md .card {\n margin-bottom: 3rem;\n}\n\n.row-lg {\n margin-inline-end: -3rem;\n margin-inline-start: -3rem;\n}\n.row-lg > .col,\n.row-lg > [class*=col-] {\n padding-inline-end: 3rem;\n padding-inline-start: 3rem;\n}\n.row-lg .card {\n margin-bottom: 6rem;\n}\n\n.row-deck > .col,\n.row-deck > [class*=col-] {\n display: flex;\n align-items: stretch;\n}\n.row-deck > .col .card,\n.row-deck > [class*=col-] .card {\n flex: 1 1 auto;\n}\n\n.row-cards {\n --tblr-gutter-x: var(--tblr-page-padding);\n --tblr-gutter-y: var(--tblr-page-padding);\n min-width: 0;\n}\n.row-cards .row-cards {\n flex: 1;\n}\n\n.space-y {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.space-x {\n display: flex;\n gap: 1rem;\n}\n\n.space-y-0 {\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n\n.space-x-0 {\n display: flex;\n gap: 0;\n}\n\n.space-y-1 {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n}\n\n.space-x-1 {\n display: flex;\n gap: 0.25rem;\n}\n\n.space-y-2 {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.space-x-2 {\n display: flex;\n gap: 0.5rem;\n}\n\n.space-y-3 {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.space-x-3 {\n display: flex;\n gap: 1rem;\n}\n\n.space-y-4 {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n\n.space-x-4 {\n display: flex;\n gap: 1.5rem;\n}\n\n.space-y-5 {\n display: flex;\n flex-direction: column;\n gap: 2rem;\n}\n\n.space-x-5 {\n display: flex;\n gap: 2rem;\n}\n\n.space-y-6 {\n display: flex;\n flex-direction: column;\n gap: 2.5rem;\n}\n\n.space-x-6 {\n display: flex;\n gap: 2.5rem;\n}\n\n.divide-y > :not(template) ~ :not(template) {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-y > :not(template):not(:first-child) {\n padding-top: 1rem !important;\n}\n.divide-y > :not(template):not(:last-child) {\n padding-bottom: 1rem !important;\n}\n\n.divide-x > :not(template) ~ :not(template) {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-x > :not(template):not(:first-child) {\n padding-inline-start: 1rem !important;\n}\n.divide-x > :not(template):not(:last-child) {\n padding-inline-end: 1rem !important;\n}\n\n.divide-y-0 > :not(template) ~ :not(template) {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-y-0 > :not(template):not(:first-child) {\n padding-top: 0 !important;\n}\n.divide-y-0 > :not(template):not(:last-child) {\n padding-bottom: 0 !important;\n}\n\n.divide-x-0 > :not(template) ~ :not(template) {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-x-0 > :not(template):not(:first-child) {\n padding-inline-start: 0 !important;\n}\n.divide-x-0 > :not(template):not(:last-child) {\n padding-inline-end: 0 !important;\n}\n\n.divide-y-1 > :not(template) ~ :not(template) {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-y-1 > :not(template):not(:first-child) {\n padding-top: 0.25rem !important;\n}\n.divide-y-1 > :not(template):not(:last-child) {\n padding-bottom: 0.25rem !important;\n}\n\n.divide-x-1 > :not(template) ~ :not(template) {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-x-1 > :not(template):not(:first-child) {\n padding-inline-start: 0.25rem !important;\n}\n.divide-x-1 > :not(template):not(:last-child) {\n padding-inline-end: 0.25rem !important;\n}\n\n.divide-y-2 > :not(template) ~ :not(template) {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-y-2 > :not(template):not(:first-child) {\n padding-top: 0.5rem !important;\n}\n.divide-y-2 > :not(template):not(:last-child) {\n padding-bottom: 0.5rem !important;\n}\n\n.divide-x-2 > :not(template) ~ :not(template) {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-x-2 > :not(template):not(:first-child) {\n padding-inline-start: 0.5rem !important;\n}\n.divide-x-2 > :not(template):not(:last-child) {\n padding-inline-end: 0.5rem !important;\n}\n\n.divide-y-3 > :not(template) ~ :not(template) {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-y-3 > :not(template):not(:first-child) {\n padding-top: 1rem !important;\n}\n.divide-y-3 > :not(template):not(:last-child) {\n padding-bottom: 1rem !important;\n}\n\n.divide-x-3 > :not(template) ~ :not(template) {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-x-3 > :not(template):not(:first-child) {\n padding-inline-start: 1rem !important;\n}\n.divide-x-3 > :not(template):not(:last-child) {\n padding-inline-end: 1rem !important;\n}\n\n.divide-y-4 > :not(template) ~ :not(template) {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-y-4 > :not(template):not(:first-child) {\n padding-top: 1.5rem !important;\n}\n.divide-y-4 > :not(template):not(:last-child) {\n padding-bottom: 1.5rem !important;\n}\n\n.divide-x-4 > :not(template) ~ :not(template) {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-x-4 > :not(template):not(:first-child) {\n padding-inline-start: 1.5rem !important;\n}\n.divide-x-4 > :not(template):not(:last-child) {\n padding-inline-end: 1.5rem !important;\n}\n\n.divide-y-5 > :not(template) ~ :not(template) {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-y-5 > :not(template):not(:first-child) {\n padding-top: 2rem !important;\n}\n.divide-y-5 > :not(template):not(:last-child) {\n padding-bottom: 2rem !important;\n}\n\n.divide-x-5 > :not(template) ~ :not(template) {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-x-5 > :not(template):not(:first-child) {\n padding-inline-start: 2rem !important;\n}\n.divide-x-5 > :not(template):not(:last-child) {\n padding-inline-end: 2rem !important;\n}\n\n.divide-y-6 > :not(template) ~ :not(template) {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-y-6 > :not(template):not(:first-child) {\n padding-top: 2.5rem !important;\n}\n.divide-y-6 > :not(template):not(:last-child) {\n padding-bottom: 2.5rem !important;\n}\n\n.divide-x-6 > :not(template) ~ :not(template) {\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent) !important;\n}\n.divide-x-6 > :not(template):not(:first-child) {\n padding-inline-start: 2.5rem !important;\n}\n.divide-x-6 > :not(template):not(:last-child) {\n padding-inline-end: 2.5rem !important;\n}\n\n.divide-y-fill {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.divide-y-fill > :not(template) {\n flex: 1;\n display: flex;\n justify-content: center;\n flex-direction: column;\n}\n\n.icon {\n --tblr-icon-size: 1.25rem;\n width: var(--tblr-icon-size);\n height: var(--tblr-icon-size);\n font-size: var(--tblr-icon-size);\n vertical-align: bottom;\n stroke-width: 1.5;\n}\n.icon:hover {\n text-decoration: none;\n}\n\n.icon-inline {\n --tblr-icon-size: 1rem;\n vertical-align: -0.2rem;\n}\n\n.icon-filled {\n fill: currentColor;\n}\n\n.icon-sm {\n --tblr-icon-size: 1rem;\n stroke-width: 1.5;\n}\n\n.icon-md {\n --tblr-icon-size: 2.5rem;\n stroke-width: 1;\n}\n\n.icon-lg {\n --tblr-icon-size: 3.5rem;\n stroke-width: 1;\n}\n\n.icon-pulse {\n transition: all 0.15s ease 0s;\n animation: pulse 2s ease infinite;\n animation-fill-mode: both;\n}\n\n.icon-tada {\n transition: all 0.15s ease 0s;\n animation: tada 3s ease infinite;\n animation-fill-mode: both;\n}\n\n.icon-rotate {\n transition: all 0.15s ease 0s;\n animation: rotate-360 3s linear infinite;\n animation-fill-mode: both;\n}\n\n.img-responsive {\n --tblr-img-responsive-ratio: 75%;\n background: no-repeat center/cover;\n padding-top: var(--tblr-img-responsive-ratio);\n}\n\n.img-responsive-grid {\n padding-top: calc(var(--tblr-img-responsive-ratio) - var(--tblr-gutter-y) / 2);\n}\n\n.img-responsive-1x1 {\n --tblr-img-responsive-ratio: 100%;\n}\n\n.img-responsive-2x1 {\n --tblr-img-responsive-ratio: 50%;\n}\n\n.img-responsive-1x2 {\n --tblr-img-responsive-ratio: 200%;\n}\n\n.img-responsive-3x1 {\n --tblr-img-responsive-ratio: 33.3333333333%;\n}\n\n.img-responsive-1x3 {\n --tblr-img-responsive-ratio: 300%;\n}\n\n.img-responsive-4x1 {\n --tblr-img-responsive-ratio: 25%;\n}\n\n.img-responsive-1x4 {\n --tblr-img-responsive-ratio: 400%;\n}\n\n.img-responsive-4x3 {\n --tblr-img-responsive-ratio: 75%;\n}\n\n.img-responsive-3x4 {\n --tblr-img-responsive-ratio: 133.3333333333%;\n}\n\n.img-responsive-16x9 {\n --tblr-img-responsive-ratio: 56.25%;\n}\n\n.img-responsive-9x16 {\n --tblr-img-responsive-ratio: 177.7777777778%;\n}\n\n.img-responsive-21x9 {\n --tblr-img-responsive-ratio: 42.8571428571%;\n}\n\n.img-responsive-9x21 {\n --tblr-img-responsive-ratio: 233.3333333333%;\n}\n\n.img-bg {\n background: no-repeat center/cover;\n}\n\ntextarea[cols] {\n height: auto;\n}\n\n/**\nForm label\n */\n.col-form-label,\n.form-label {\n display: block;\n font-weight: var(--tblr-font-weight-medium);\n}\n.col-form-label.required:after,\n.form-label.required:after {\n content: \"*\";\n margin-inline-start: 0.25rem;\n color: #d63939;\n}\n\n.form-label-description {\n float: inline-end;\n font-weight: var(--tblr-font-weight-normal);\n color: var(--tblr-secondary);\n}\n\n/**\nForm hint\n */\n.form-hint {\n display: block;\n color: var(--tblr-secondary);\n}\n.form-hint:last-child {\n margin-bottom: 0;\n}\n.form-hint + .form-control {\n margin-top: 0.25rem;\n}\n.form-label + .form-hint {\n margin-top: -0.25rem;\n}\n.input-group + .form-hint, .form-control + .form-hint, .form-select + .form-hint {\n margin-top: 0.5rem;\n color: var(--tblr-secondary);\n}\n\n/**\nForm select\n */\n.form-select:-moz-focusring {\n color: var(--tblr-body-color);\n}\n\n/**\nForm control\n */\n.form-control:-webkit-autofill {\n box-shadow: 0 0 0 1000px var(--tblr-bg-surface-secondary) inset;\n color: var(--tblr-body-color);\n -webkit-text-fill-color: var(--tblr-body-color);\n}\n.form-control:disabled, .form-control.disabled {\n color: var(--tblr-secondary);\n user-select: none;\n}\n.form-control[size] {\n width: auto;\n}\n\n.form-control-light {\n background-color: var(--tblr-gray-100);\n border-color: transparent;\n}\n\n.form-control-dark {\n background-color: rgba(0, 0, 0, 0.1);\n color: #ffffff;\n border-color: transparent;\n}\n.form-control-dark:focus {\n background-color: rgba(0, 0, 0, 0.1);\n box-shadow: none;\n border-color: rgba(255, 255, 255, 0.24);\n}\n.form-control-dark::placeholder {\n color: rgba(255, 255, 255, 0.6);\n}\n\n.form-control-rounded {\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .form-control-rounded {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n\n.form-control-flush {\n padding: 0;\n background: none !important;\n border-color: transparent !important;\n resize: none;\n box-shadow: none !important;\n line-height: inherit;\n}\n\n.form-footer {\n margin-top: 2rem;\n}\n\n.form-fieldset {\n padding: 1rem;\n margin-bottom: 1rem;\n background: var(--tblr-bg-surface-secondary);\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-fieldset {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\nfieldset:empty {\n display: none;\n}\n\n/**\nForm help\n */\n.form-help {\n display: inline-flex;\n font-weight: var(--tblr-font-weight-semibold);\n align-items: center;\n justify-content: center;\n width: 1.125rem;\n height: 1.125rem;\n font-size: 0.75rem;\n color: var(--tblr-secondary);\n text-align: center;\n text-decoration: none;\n cursor: pointer;\n user-select: none;\n background: var(--tblr-gray-100);\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .form-help {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.form-help {\n transition: background-color 0.3s, color 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-help {\n transition: none;\n }\n}\n.form-help:hover, .form-help[aria-describedby] {\n color: #ffffff;\n background: var(--tblr-primary);\n}\n\n/**\nInput group\n */\n.input-group {\n box-shadow: var(--tblr-shadow-input);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .input-group {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.input-group .form-control,\n.input-group .btn {\n box-shadow: none;\n}\n\n.input-group-link {\n font-size: 0.75rem;\n}\n\n.input-group-flat:focus-within {\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .input-group-flat:focus-within {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.input-group-flat:focus-within .form-control,\n.input-group-flat:focus-within .input-group-text {\n border-color: rgb(130.5, 183, 232) !important;\n}\n.input-group-flat .form-control:focus {\n border-color: var(--tblr-border-color);\n box-shadow: none;\n}\n.input-group-flat .form-control:not(:last-child) {\n border-inline-end: 0;\n}\n.input-group-flat .form-control:not(:first-child) {\n border-inline-start: 0;\n}\n.input-group-flat .input-group-text {\n background: var(--tblr-bg-forms);\n z-index: 10;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .input-group-flat .input-group-text {\n transition: none;\n }\n}\n.input-group-flat .input-group-text:first-child {\n padding-inline-end: 0;\n border-inline-end: 0;\n}\n.input-group-flat .input-group-text:last-child {\n padding-inline-start: 0;\n border-inline-start: 0;\n}\n\n/**\nUpload files\n */\n.form-file-button {\n margin-inline-start: 0;\n border-inline-start: 0;\n}\n\n/**\nFloating inputs\n */\nlabel[for=floating-input] {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/**\nForms on mobile devices \n */\n@media (max-width: 575.98px) {\n .form-control,\n .form-select {\n font-size: 1rem;\n }\n}\n\n/**\nIcon input\n */\n.input-icon {\n position: relative;\n}\n.input-icon .form-control:not(:last-child),\n.input-icon .form-select:not(:last-child) {\n padding-inline-end: 2.5rem;\n}\n.input-icon .form-control:not(:first-child),\n.input-icon .form-select:not(:last-child) {\n padding-inline-start: 2.5rem;\n}\n\n.input-icon-addon {\n position: absolute;\n top: 0;\n bottom: 0;\n inset-inline-start: 0;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 2.5rem;\n height: calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));\n color: var(--tblr-icon-color);\n pointer-events: none;\n font-size: 1.2em;\n}\n.input-icon-addon:last-child {\n inset-inline-end: 0;\n inset-inline-start: auto;\n}\n\n/*\nColor Input\n */\n.form-colorinput {\n position: relative;\n display: inline-block;\n margin: 0;\n line-height: 1;\n cursor: pointer;\n}\n\n.form-colorinput-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.form-colorinput-color {\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n color: #ffffff;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-colorinput-color {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-colorinput-color {\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n}\n.form-colorinput-color:before {\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n background: no-repeat center center/1.25rem;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e\");\n opacity: 0;\n transition: opacity 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-colorinput-color:before {\n transition: none;\n }\n}\n.form-colorinput-input:checked ~ .form-colorinput-color:before {\n opacity: 1;\n}\n.form-colorinput-input:focus ~ .form-colorinput-color {\n border-color: var(--tblr-primary);\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.form-colorinput-light .form-colorinput-color:before {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e\");\n}\n\n/**\nImage check\n */\n.form-imagecheck {\n --tblr-form-imagecheck-radius: var(--tblr-border-radius);\n position: relative;\n margin: 0;\n cursor: pointer;\n}\n\n.form-imagecheck-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.form-imagecheck-figure {\n position: relative;\n display: block;\n margin: 0;\n user-select: none;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n border-radius: var(--tblr-form-imagecheck-radius);\n}\n@supports (corner-shape: squircle) {\n .form-imagecheck-figure {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-form-imagecheck-radius) * 2.5) !important;\n }\n}\n.form-imagecheck-input:focus ~ .form-imagecheck-figure {\n border-color: var(--tblr-primary);\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n.form-imagecheck-input:checked ~ .form-imagecheck-figure {\n border-color: var(--tblr-primary);\n}\n.form-imagecheck-figure:before {\n position: absolute;\n top: 0.25rem;\n inset-inline-start: 0.25rem;\n z-index: 1;\n display: block;\n width: 1.25rem;\n height: 1.25rem;\n color: #ffffff;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background: var(--tblr-bg-forms);\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-imagecheck-figure:before {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-imagecheck-figure:before {\n transition: opacity 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-imagecheck-figure:before {\n transition: none;\n }\n}\n.form-imagecheck-input:checked ~ .form-imagecheck-figure:before {\n background-color: var(--tblr-primary);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e\");\n background-repeat: repeat;\n background-position: center;\n background-size: 1.25rem;\n border-color: var(--tblr-border-color-translucent);\n}\n.form-imagecheck-input[type=radio] ~ .form-imagecheck-figure:before {\n border-radius: 50%;\n}\n@supports (corner-shape: squircle) {\n .form-imagecheck-input[type=radio] ~ .form-imagecheck-figure:before {\n corner-shape: squircle;\n border-radius: calc(50% * 2.5) !important;\n }\n}\n.form-imagecheck-input[type=radio]:checked ~ .form-imagecheck-figure:before {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e\");\n}\n\n.form-imagecheck-image {\n max-width: 100%;\n display: block;\n opacity: 0.64;\n transition: opacity 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-imagecheck-image {\n transition: none;\n }\n}\n.form-imagecheck-image:first-child {\n border-start-start-radius: calc(var(--tblr-form-imagecheck-radius) - 1px);\n border-start-end-radius: calc(var(--tblr-form-imagecheck-radius) - 1px);\n}\n.form-imagecheck-image:last-child {\n border-end-end-radius: calc(var(--tblr-form-imagecheck-radius) - 1px);\n border-end-start-radius: calc(var(--tblr-form-imagecheck-radius) - 1px);\n}\n.form-imagecheck:hover .form-imagecheck-image, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-image, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-image {\n opacity: 1;\n}\n\n.form-imagecheck-caption {\n padding: 0.25rem;\n font-size: 0.765625rem;\n color: var(--tblr-secondary);\n text-align: center;\n transition: color 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-imagecheck-caption {\n transition: none;\n }\n}\n.form-imagecheck:hover .form-imagecheck-caption, .form-imagecheck-input:focus ~ .form-imagecheck-figure .form-imagecheck-caption, .form-imagecheck-input:checked ~ .form-imagecheck-figure .form-imagecheck-caption {\n color: var(--tblr-body-color);\n}\n\n/*\nSelect group\n */\n.form-selectgroup {\n display: inline-flex;\n margin: 0;\n flex-wrap: wrap;\n gap: 0.5rem;\n}\n.form-selectgroup .form-selectgroup-item {\n margin: 0;\n}\n\n.form-selectgroup-vertical {\n flex-direction: column;\n}\n\n.form-selectgroup-item {\n display: block;\n position: relative;\n}\n\n.form-selectgroup-input {\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n z-index: -1;\n opacity: 0;\n}\n\n.form-selectgroup-label {\n position: relative;\n display: block;\n min-width: calc(1.25rem + 1.125rem + calc(var(--tblr-border-width) * 2));\n margin: 0;\n padding: 0.5625rem 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n color: var(--tblr-secondary);\n background: var(--tblr-bg-forms);\n text-align: center;\n cursor: pointer;\n user-select: none;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-selectgroup-label {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-selectgroup-label {\n box-shadow: var(--tblr-shadow-input);\n transition: border-color 0.3s, background 0.3s, color 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-selectgroup-label {\n transition: none;\n }\n}\n.form-selectgroup-label .icon:only-child {\n margin: 0 -0.25rem;\n}\n.form-selectgroup-label:hover {\n color: var(--tblr-body-color);\n}\n\n.form-selectgroup-check {\n display: inline-block;\n width: 1.25rem;\n height: 1.25rem;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n vertical-align: middle;\n box-shadow: var(--tblr-shadow-input);\n}\n.form-selectgroup-input[type=checkbox] + .form-selectgroup-label .form-selectgroup-check {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .form-selectgroup-input[type=checkbox] + .form-selectgroup-label .form-selectgroup-check {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.form-selectgroup-input[type=radio] + .form-selectgroup-label .form-selectgroup-check {\n border-radius: 50%;\n}\n@supports (corner-shape: squircle) {\n .form-selectgroup-input[type=radio] + .form-selectgroup-label .form-selectgroup-check {\n corner-shape: squircle;\n border-radius: calc(50% * 2.5) !important;\n }\n}\n.form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-check {\n background-color: var(--tblr-primary);\n background-repeat: repeat;\n background-position: center;\n background-size: 1.25rem;\n border-color: var(--tblr-border-color-translucent);\n}\n.form-selectgroup-input[type=checkbox]:checked + .form-selectgroup-label .form-selectgroup-check {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8.5l2.5 2.5l5.5 -5.5'/%3e%3c/svg%3e\");\n}\n.form-selectgroup-input[type=radio]:checked + .form-selectgroup-label .form-selectgroup-check {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3ccircle r='3' fill='%23ffffff' cx='8' cy='8' /%3e%3c/svg%3e\");\n}\n\n.form-selectgroup-check-floated {\n position: absolute;\n top: 0.5625rem;\n inset-inline-end: 0.5625rem;\n}\n\n.form-selectgroup-input:checked + .form-selectgroup-label {\n z-index: 1;\n color: var(--tblr-primary);\n background: color-mix(in srgb, var(--tblr-primary) 4%, transparent);\n border-color: var(--tblr-primary);\n}\n\n.form-selectgroup-input:focus + .form-selectgroup-label {\n z-index: 2;\n color: var(--tblr-primary);\n border-color: var(--tblr-primary);\n box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--tblr-primary) 25%, transparent);\n}\n\n/**\nAlternate version of form select group\n */\n.form-selectgroup-boxes .form-selectgroup-label {\n text-align: start;\n padding: 1.25rem 1.25rem;\n color: inherit;\n}\n.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label {\n color: inherit;\n}\n.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-title {\n color: var(--tblr-primary);\n}\n.form-selectgroup-boxes .form-selectgroup-input:checked + .form-selectgroup-label .form-selectgroup-label-content {\n opacity: 1;\n}\n\n/**\nSelect group\n */\n.form-selectgroup-pills {\n flex-wrap: wrap;\n align-items: start;\n}\n.form-selectgroup-pills .form-selectgroup-item {\n flex-grow: 0;\n}\n.form-selectgroup-pills .form-selectgroup-label {\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .form-selectgroup-pills .form-selectgroup-label {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n\n/**\nBootstrap color input\n */\n.form-control-color::-webkit-color-swatch {\n border: none;\n}\n\n/**\nRemove the cancel buttons in Chrome and Safari on macOS.\n */\n[type=search]::-webkit-search-cancel-button {\n -webkit-appearance: none;\n}\n\n/**\nForm control dark theme fix\n */\n.form-control::file-selector-button {\n background-color: var(--tblr-btn-color, var(--tblr-tertiary-bg));\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--tblr-btn-color, var(--tblr-secondary-bg));\n}\n\n/*\nForm check\n */\n.form-check {\n user-select: none;\n}\n.form-check.form-check-highlight .form-check-input:not(:checked) ~ .form-check-label {\n color: var(--tblr-secondary);\n}\n.form-check .form-check-label-off {\n color: var(--tblr-secondary);\n}\n.form-check .form-check-input:checked ~ .form-check-label-off {\n display: none;\n}\n.form-check .form-check-input:not(:checked) ~ .form-check-label-on {\n display: none;\n}\n\n.form-check-input {\n background-size: 1.25rem;\n margin-top: 0rem;\n box-shadow: var(--tblr-shadow-input);\n}\n.form-switch .form-check-input {\n transition: background-color 0.3s, background-position 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n\n.form-check-label {\n display: block;\n}\n.form-check-label.required:after {\n content: \"*\";\n margin-inline-start: 0.25rem;\n color: #d63939;\n}\n\n.form-check-description {\n display: block;\n color: var(--tblr-secondary);\n font-size: 0.75rem;\n margin-top: 0.25rem;\n}\n\n.form-check-single {\n margin: 0;\n}\n.form-check-single .form-check-input {\n margin: 0;\n}\n\n/*\nForm switch\n */\n.form-switch .form-check-input {\n height: 1.25rem;\n margin-top: 0rem;\n}\n\n.form-switch-lg {\n padding-inline-start: 3.5rem;\n min-height: 1.5rem;\n}\n.form-switch-lg .form-check-input {\n height: 1.5rem;\n width: 2.75rem;\n background-size: 1.5rem;\n margin-inline-start: -3.5rem;\n}\n.form-switch-lg .form-check-label {\n padding-top: 0.125rem;\n}\n\n.form-select.is-invalid-lite, .form-control.is-invalid-lite, .form-select.is-valid-lite, .form-control.is-valid-lite {\n border-color: var(--tblr-border-color) !important;\n}\n\n/**\nLegend\n */\n.legend {\n --tblr-legend-size: 0.75em;\n display: inline-block;\n background: var(--tblr-border-color);\n width: var(--tblr-legend-size);\n height: var(--tblr-legend-size);\n border-radius: var(--tblr-border-radius-sm);\n}\n@supports (corner-shape: squircle) {\n .legend {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-sm) * 2.5) !important;\n }\n}\n.legend {\n border: 1px solid var(--tblr-border-color-translucent);\n}\n\n.list-group {\n margin-inline-start: 0;\n margin-inline-end: 0;\n}\n\n.list-group-header {\n background: var(--tblr-bg-surface-tertiary);\n padding: 0.5rem 1.25rem;\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n line-height: 1;\n text-transform: uppercase;\n color: var(--tblr-gray-500);\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n}\n.list-group-flush > .list-group-header:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item {\n background-color: inherit;\n}\n\n.list-group-item.active {\n background-color: color-mix(in srgb, var(--tblr-secondary) 8%, transparent);\n border-inline-start-color: #066fd1;\n border-inline-start-width: 2px;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6b7280;\n background-color: color-mix(in srgb, var(--tblr-secondary) 8%, transparent);\n}\n\n.list-bordered .list-item {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n margin-top: -1px;\n}\n.list-bordered .list-item:first-child {\n border-top: none;\n}\n\n.list-group-hoverable .list-group-item:active, .list-group-hoverable .list-group-item:focus, .list-group-hoverable .list-group-item:hover {\n background-color: color-mix(in srgb, var(--tblr-secondary) 8%, transparent);\n}\n.list-group-hoverable .list-group-item-actions {\n opacity: 0;\n transition: opacity 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .list-group-hoverable .list-group-item-actions {\n transition: none;\n }\n}\n.list-group-hoverable .list-group-item:hover .list-group-item-actions,\n.list-group-hoverable .list-group-item-actions.show {\n opacity: 1;\n}\n\n.list-group-transparent {\n --tblr-list-group-border-radius: 0;\n margin: 0 -1.25rem;\n}\n.list-group-transparent .list-group-item {\n background: none;\n border: 0;\n}\n.list-group-transparent .list-group-item .icon {\n color: var(--tblr-secondary);\n}\n.list-group-transparent .list-group-item.active {\n font-weight: var(--tblr-font-weight-semibold);\n color: inherit;\n background: var(--tblr-active-bg);\n}\n.list-group-transparent .list-group-item.active .icon {\n color: inherit;\n}\n\n/**\nSeprated list\n*/\n.list-separated {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n/**\nInline list\n */\n.list-inline {\n margin: 0;\n}\n\n.list-inline-item:not(:last-child) {\n margin-inline-end: auto;\n margin-inline-end: 0.5rem;\n}\n\n.list-inline-dots .list-inline-item + .list-inline-item:before {\n content: \" · \";\n margin-inline-end: 0.5rem;\n}\n\n.loader {\n position: relative;\n display: block;\n width: 2.5rem;\n height: 2.5rem;\n color: #066fd1;\n vertical-align: middle;\n}\n.loader:after {\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n border: 1px var(--tblr-border-style);\n border-color: transparent;\n border-top-color: currentColor;\n border-inline-start-color: currentColor;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .loader:after {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.loader:after {\n animation: rotate-360 0.6s linear;\n animation-iteration-count: infinite;\n}\n\n/**\nDimmer\n*/\n.dimmer {\n position: relative;\n}\n.dimmer .loader {\n position: absolute;\n top: 50%;\n inset-inline-end: 0;\n inset-inline-start: 0;\n display: none;\n margin: 0 auto;\n transform: translateY(-50%);\n}\n.dimmer.active .loader {\n display: block;\n}\n.dimmer.active .dimmer-content {\n pointer-events: none;\n opacity: 0.1;\n}\n\n@keyframes animated-dots {\n 0% {\n transform: translateX(-100%);\n }\n}\n.animated-dots {\n display: inline-block;\n overflow: hidden;\n vertical-align: bottom;\n}\n.animated-dots:after {\n display: inline-block;\n content: \"...\";\n animation: animated-dots 1.2s steps(4, jump-none) infinite;\n}\n\n.modal-content > .btn-close,\n.modal-header > .btn-close {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n width: 3.5rem;\n height: 3.5rem;\n margin: 0;\n padding: 0;\n z-index: 10;\n}\n\n.modal-body {\n scrollbar-color: color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent) transparent;\n}\n.modal-body::-webkit-scrollbar {\n width: 1rem;\n height: 1rem;\n transition: background 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .modal-body::-webkit-scrollbar {\n transition: none;\n }\n}\n.modal-body::-webkit-scrollbar-thumb {\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n .modal-body::-webkit-scrollbar-thumb {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\n.modal-body::-webkit-scrollbar-thumb {\n border: 5px solid transparent;\n box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent);\n}\n.modal-body::-webkit-scrollbar-track {\n background: transparent;\n}\n.modal-body:hover::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%, transparent);\n}\n.modal-body::-webkit-scrollbar-corner {\n background: transparent;\n}\n.modal-body .modal-title {\n margin-bottom: 1rem;\n}\n.modal-body + .modal-body {\n border-top: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n}\n\n.modal-status {\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n inset-inline-end: 0;\n height: 2px;\n background: var(--tblr-secondary);\n border-radius: var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0;\n}\n@supports (corner-shape: squircle) {\n .modal-status {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-lg) var(--tblr-border-radius-lg) 0 0 * 2.5) !important;\n }\n}\n\n.modal-header {\n align-items: center;\n min-height: 3.5rem;\n background: transparent;\n padding: 0 3.5rem 0 1.5rem;\n}\n\n.modal-title {\n font-size: 1rem;\n font-weight: var(--tblr-font-weight-semibold);\n color: light-dark(var(--tblr-gray-900), var(--tblr-white));\n line-height: 1.4285714286;\n}\n\n.modal-footer {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.modal-blur {\n backdrop-filter: blur(4px);\n}\n\n.modal-full-width {\n max-width: none;\n margin: 0 0.5rem;\n}\n\n@media print {\n .modal {\n display: none !important;\n }\n}\n\n.nav {\n --tblr-nav-link-hover-bg: color-mix(in srgb, var(--tblr-nav-link-color) 4%, transparent);\n}\n\n.nav-vertical,\n.nav-vertical .nav {\n flex-direction: column;\n flex-wrap: nowrap;\n}\n.nav-vertical .nav {\n margin-inline-start: 1.25rem;\n border-inline-start: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n padding-inline-start: 0.5rem;\n}\n.nav-vertical .nav-link.active,\n.nav-vertical .nav-item.show .nav-link {\n font-weight: var(--tblr-font-weight-semibold);\n color: var(--tblr-nav-link-active-color);\n}\n.nav-vertical.nav-pills {\n margin: 0 -0.75rem;\n}\n\n.nav-bordered {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n}\n.nav-bordered .nav-item + .nav-item {\n margin-inline-start: 1.25rem;\n}\n.nav-bordered .nav-link {\n padding-inline-start: 0;\n padding-inline-end: 0;\n margin: 0 0 calc(-1 * var(--tblr-border-width));\n border: 0;\n border-bottom: 2px var(--tblr-border-style) transparent;\n}\n.nav-bordered .nav-link:hover {\n background-color: transparent;\n}\n.nav-bordered .nav-link.active,\n.nav-bordered .nav-item.show .nav-link {\n color: var(--tblr-primary);\n border-color: var(--tblr-primary);\n}\n\n.nav-underline .nav-link {\n border-radius: 0;\n}\n\n.nav-link {\n display: flex;\n align-items: center;\n transition: color 0.3s, background-color 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover, .nav-link:focus {\n background-color: var(--tblr-nav-link-hover-bg);\n}\n\n.nav-link-toggle {\n margin-inline-start: auto;\n padding: 0 0.25rem;\n transition: transform 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link-toggle {\n transition: none;\n }\n}\n.nav-link-toggle:after {\n content: \"\";\n display: inline-block;\n vertical-align: 0.255em;\n width: 0.3em;\n height: 0.3em;\n border-bottom: 1px var(--tblr-border-style);\n border-inline-start: 1px var(--tblr-border-style);\n margin-inline-end: 0.1em;\n margin-inline-start: 0.255em;\n transform: rotate(-45deg);\n}\n.nav-link-toggle:after {\n margin: 0;\n}\n.nav-link[aria-expanded=true] .nav-link-toggle {\n transform: rotate(180deg);\n}\n\n.nav-link-icon {\n width: 1.25rem;\n height: 1.25rem;\n margin-inline-end: 0.5rem;\n color: color-mix(in srgb, var(--tblr-nav-link-color) 50%, transparent);\n}\n.nav-link-icon svg {\n display: block;\n height: 100%;\n}\n.nav-link:hover .nav-link-icon {\n color: var(--tblr-nav-link-hover-icon-color);\n}\n\n.nav-fill .nav-item .nav-link {\n justify-content: center;\n}\n\n.stars {\n display: inline-flex;\n color: #9ca3af;\n font-size: 0.75rem;\n}\n.stars .star:not(:first-child) {\n margin-inline-start: 0.25rem;\n}\n\n.pagination {\n margin: 0;\n --tblr-pagination-gap: 0.25rem;\n user-select: none;\n gap: var(--tblr-pagination-gap);\n line-height: var(--tblr-body-line-height);\n}\n@media print {\n .pagination {\n display: none;\n }\n}\n\n.page-link {\n min-width: 2rem;\n border-radius: var(--tblr-pagination-border-radius);\n}\n@supports (corner-shape: squircle) {\n .page-link {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-pagination-border-radius) * 2.5) !important;\n }\n}\n\n.page-item:not(.active) .page-link:hover {\n background: var(--tblr-pagination-hover-bg);\n}\n\n.page-text {\n padding-inline-start: 0.5rem;\n padding-inline-end: 0.5rem;\n}\n\n.page-item {\n text-align: center;\n}\n.page-item.page-prev, .page-item.page-next {\n flex: 0 0 50%;\n text-align: start;\n}\n.page-item.page-next {\n margin-inline-start: auto;\n text-align: end;\n}\n\n.page-item-subtitle {\n margin-bottom: 2px;\n font-size: 12px;\n color: var(--tblr-secondary);\n text-transform: uppercase;\n}\n.page-item.disabled .page-item-subtitle {\n color: var(--tblr-disabled-color);\n}\n\n.page-item-title {\n font-size: 1rem;\n font-weight: var(--tblr-font-weight-normal);\n color: var(--tblr-body-color);\n}\n.page-link:hover .page-item-title {\n color: #066fd1;\n}\n.page-item.disabled .page-item-title {\n color: var(--tblr-disabled-color);\n}\n\n.pagination-outline {\n --tblr-pagination-border-color: var(--tblr-border-color);\n --tblr-pagination-disabled-border-color: var(--tblr-border-color);\n --tblr-pagination-border-width: 1px;\n}\n\n.pagination-circle {\n --tblr-pagination-border-radius: var(--tblr-border-radius-pill);\n}\n\n@media print {\n .popover {\n display: none;\n }\n}\n\n@keyframes progress-indeterminate {\n 0% {\n inset-inline-end: 100%;\n inset-inline-start: -35%;\n }\n 100%, 60% {\n inset-inline-end: -90%;\n inset-inline-start: 100%;\n }\n}\n/**\nProgress\n */\n.progress {\n position: relative;\n width: 100%;\n line-height: 0.5rem;\n appearance: none;\n}\n.progress::-webkit-progress-bar {\n background: var(--tblr-progress-bg);\n}\n.progress::-webkit-progress-value {\n background-color: var(--tblr-primary);\n}\n.progress::-moz-progress-bar {\n background-color: var(--tblr-primary);\n}\n.progress::-ms-fill {\n background-color: var(--tblr-primary);\n border: none;\n}\n\n.progress-sm {\n height: 0.25rem;\n}\n\n.progress-lg {\n height: 0.75rem;\n}\n\n.progress-xl {\n height: 1rem;\n}\n\n/**\nProgress bar\n */\n.progress-bar {\n height: 100%;\n transition: width 0.3s, background 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-indeterminate:after, .progress-bar-indeterminate:before {\n position: absolute;\n top: 0;\n bottom: 0;\n inset-inline-start: 0;\n content: \"\";\n background-color: inherit;\n will-change: left, right;\n}\n.progress-bar-indeterminate:before {\n animation: progress-indeterminate 1.5s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n}\n\n.progress-separated .progress-bar {\n box-shadow: 0 0 0 2px var(--tblr-card-bg, var(--tblr-bg-surface));\n}\n\n/**\nProgressbg\n */\n.progressbg {\n position: relative;\n padding: 0.25rem 0.5rem;\n display: flex;\n}\n\n.progressbg-text {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.progressbg-progress {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n bottom: 0;\n inset-inline-start: 0;\n z-index: 0;\n height: 100%;\n background: transparent;\n pointer-events: none;\n}\n\n.progressbg-value {\n font-weight: var(--tblr-font-weight-medium);\n margin-inline-start: auto;\n padding-inline-start: 2rem;\n}\n\n/**\nProgress steps\n */\n.progress-steps {\n display: flex;\n flex-wrap: nowrap;\n width: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n gap: 0.25rem;\n}\n\n.progress-steps-item {\n flex: 1 1 0;\n min-height: 0.25rem;\n margin-top: 0;\n color: inherit;\n text-align: center;\n cursor: default;\n background-color: var(--tblr-border-color);\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .progress-steps-item {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\na.progress-steps-item {\n cursor: pointer;\n}\n\n.ribbon {\n --tblr-ribbon-margin: 0.25rem;\n --tblr-ribbon-border-radius: var(--tblr-border-radius);\n position: absolute;\n top: 0.75rem;\n inset-inline-end: calc(-1 * var(--tblr-ribbon-margin));\n z-index: 1;\n padding: 0.25rem 0.75rem;\n font-size: 0.625rem;\n font-weight: var(--tblr-font-weight-semibold);\n line-height: 1;\n color: #ffffff;\n text-align: center;\n text-transform: uppercase;\n background: var(--tblr-primary);\n border-color: var(--tblr-primary);\n border-radius: var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);\n}\n@supports (corner-shape: squircle) {\n .ribbon {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-ribbon-border-radius) 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) * 2.5) !important;\n }\n}\n.ribbon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 2rem;\n min-width: 2rem;\n}\n.ribbon:before {\n position: absolute;\n inset-inline-end: 0;\n bottom: 100%;\n width: 0;\n height: 0;\n content: \"\";\n filter: brightness(70%);\n border: calc(var(--tblr-ribbon-margin) * 0.5) var(--tblr-border-style);\n border-color: inherit;\n border-top-color: transparent;\n border-inline-end-color: transparent;\n}\n.ribbon.bg-blue {\n border-color: var(--tblr-blue);\n}\n.ribbon.bg-blue-lt {\n border-color: color-mix(in srgb, var(--tblr-blue) 10%, transparent) !important;\n}\n.ribbon.bg-azure {\n border-color: var(--tblr-azure);\n}\n.ribbon.bg-azure-lt {\n border-color: color-mix(in srgb, var(--tblr-azure) 10%, transparent) !important;\n}\n.ribbon.bg-indigo {\n border-color: var(--tblr-indigo);\n}\n.ribbon.bg-indigo-lt {\n border-color: color-mix(in srgb, var(--tblr-indigo) 10%, transparent) !important;\n}\n.ribbon.bg-purple {\n border-color: var(--tblr-purple);\n}\n.ribbon.bg-purple-lt {\n border-color: color-mix(in srgb, var(--tblr-purple) 10%, transparent) !important;\n}\n.ribbon.bg-pink {\n border-color: var(--tblr-pink);\n}\n.ribbon.bg-pink-lt {\n border-color: color-mix(in srgb, var(--tblr-pink) 10%, transparent) !important;\n}\n.ribbon.bg-red {\n border-color: var(--tblr-red);\n}\n.ribbon.bg-red-lt {\n border-color: color-mix(in srgb, var(--tblr-red) 10%, transparent) !important;\n}\n.ribbon.bg-orange {\n border-color: var(--tblr-orange);\n}\n.ribbon.bg-orange-lt {\n border-color: color-mix(in srgb, var(--tblr-orange) 10%, transparent) !important;\n}\n.ribbon.bg-yellow {\n border-color: var(--tblr-yellow);\n}\n.ribbon.bg-yellow-lt {\n border-color: color-mix(in srgb, var(--tblr-yellow) 10%, transparent) !important;\n}\n.ribbon.bg-lime {\n border-color: var(--tblr-lime);\n}\n.ribbon.bg-lime-lt {\n border-color: color-mix(in srgb, var(--tblr-lime) 10%, transparent) !important;\n}\n.ribbon.bg-green {\n border-color: var(--tblr-green);\n}\n.ribbon.bg-green-lt {\n border-color: color-mix(in srgb, var(--tblr-green) 10%, transparent) !important;\n}\n.ribbon.bg-teal {\n border-color: var(--tblr-teal);\n}\n.ribbon.bg-teal-lt {\n border-color: color-mix(in srgb, var(--tblr-teal) 10%, transparent) !important;\n}\n.ribbon.bg-cyan {\n border-color: var(--tblr-cyan);\n}\n.ribbon.bg-cyan-lt {\n border-color: color-mix(in srgb, var(--tblr-cyan) 10%, transparent) !important;\n}\n.ribbon .icon {\n width: 1.25rem;\n height: 1.25rem;\n font-size: 1.25rem;\n}\n\n.ribbon-top {\n top: calc(-1 * var(--tblr-ribbon-margin));\n inset-inline-end: 0.75rem;\n width: 2rem;\n padding: 0.5rem 0;\n border-radius: 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);\n}\n@supports (corner-shape: squircle) {\n .ribbon-top {\n corner-shape: squircle;\n border-radius: calc(0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) * 2.5) !important;\n }\n}\n.ribbon-top:before {\n top: 0;\n inset-inline-end: 100%;\n bottom: auto;\n border-color: inherit;\n border-top-color: transparent;\n border-inline-start-color: transparent;\n}\n.ribbon-top.ribbon-start {\n inset-inline-end: auto;\n inset-inline-start: 0.75rem;\n}\n.ribbon-top.ribbon-start:before {\n top: 0;\n inset-inline-end: 100%;\n inset-inline-start: auto;\n}\n\n.ribbon-start {\n inset-inline-end: auto;\n inset-inline-start: calc(-1 * var(--tblr-ribbon-margin));\n border-radius: 0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius);\n}\n@supports (corner-shape: squircle) {\n .ribbon-start {\n corner-shape: squircle;\n border-radius: calc(0 var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) var(--tblr-ribbon-border-radius) * 2.5) !important;\n }\n}\n.ribbon-start:before {\n top: auto;\n bottom: 100%;\n inset-inline-start: 0;\n border-color: inherit;\n border-top-color: transparent;\n border-inline-start-color: transparent;\n}\n\n.ribbon-bottom {\n top: auto;\n bottom: 0.75rem;\n}\n\n.ribbon-bookmark {\n padding-inline-start: 0.25rem;\n border-radius: 0 0 var(--tblr-ribbon-border-radius) 0;\n}\n@supports (corner-shape: squircle) {\n .ribbon-bookmark {\n corner-shape: squircle;\n border-radius: calc(0 0 var(--tblr-ribbon-border-radius) 0 * 2.5) !important;\n }\n}\n.ribbon-bookmark:after {\n position: absolute;\n top: 0;\n inset-inline-end: 100%;\n display: block;\n width: 0;\n height: 0;\n content: \"\";\n border: 1rem var(--tblr-border-style);\n border-color: inherit;\n border-inline-end-width: 0;\n border-inline-start-color: transparent;\n border-inline-start-width: 0.5rem;\n}\n.ribbon-bookmark.ribbon-left {\n padding-inline-end: 0.5rem;\n}\n.ribbon-bookmark.ribbon-left:after {\n inset-inline-end: auto;\n inset-inline-start: 100%;\n border-inline-end-color: transparent;\n border-inline-end-width: 0.5rem;\n border-inline-start-width: 0;\n}\n.ribbon-bookmark.ribbon-top {\n padding-inline-end: 0;\n padding-bottom: 0.25rem;\n padding-inline-start: 0;\n border-radius: 0 var(--tblr-ribbon-border-radius) 0 0;\n}\n@supports (corner-shape: squircle) {\n .ribbon-bookmark.ribbon-top {\n corner-shape: squircle;\n border-radius: calc(0 var(--tblr-ribbon-border-radius) 0 0 * 2.5) !important;\n }\n}\n.ribbon-bookmark.ribbon-top:after {\n top: 100%;\n inset-inline-end: 0;\n inset-inline-start: 0;\n border-color: inherit;\n border-width: 1rem;\n border-top-width: 0;\n border-bottom-color: transparent;\n border-bottom-width: 0.5rem;\n}\n\n/**\nProse (formerly markdown)\n */\n.prose,\n.markdown {\n line-height: var(--tblr-line-height-lg);\n font-size: var(--tblr-font-size-h3);\n}\n.prose > :first-child,\n.markdown > :first-child {\n margin-top: 0;\n}\n.prose > :last-child,\n.prose > :last-child .highlight,\n.markdown > :last-child,\n.markdown > :last-child .highlight {\n margin-bottom: 0;\n}\n@media (min-width: 768px) {\n .prose > hr, .prose > .hr,\n .markdown > hr,\n .markdown > .hr {\n margin-top: 3em;\n margin-bottom: 3em;\n }\n}\n.prose > h1, .prose > .h1,\n.prose > h2,\n.prose > .h2,\n.prose > h3,\n.prose > .h3,\n.prose > h4,\n.prose > .h4,\n.prose > h5,\n.prose > .h5,\n.prose > h6,\n.prose > .h6,\n.markdown > h1,\n.markdown > .h1,\n.markdown > h2,\n.markdown > .h2,\n.markdown > h3,\n.markdown > .h3,\n.markdown > h4,\n.markdown > .h4,\n.markdown > h5,\n.markdown > .h5,\n.markdown > h6,\n.markdown > .h6 {\n font-weight: var(--tblr-font-weight-semibold);\n}\n.prose > h2, .prose > .h2,\n.prose > h3,\n.prose > .h3,\n.prose > h4,\n.prose > .h4,\n.prose > h5,\n.prose > .h5,\n.prose > h6,\n.prose > .h6,\n.markdown > h2,\n.markdown > .h2,\n.markdown > h3,\n.markdown > .h3,\n.markdown > h4,\n.markdown > .h4,\n.markdown > h5,\n.markdown > .h5,\n.markdown > h6,\n.markdown > .h6 {\n margin-top: 2.5rem;\n}\n.prose > table,\n.markdown > table {\n font-size: var(--tblr-body-font-size);\n}\n.prose > blockquote,\n.markdown > blockquote {\n font-size: 1rem;\n margin: 1.5rem 0;\n padding: 0.5rem 1.5rem;\n}\n.prose > img,\n.prose > p > img,\n.markdown > img,\n.markdown > p > img {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .prose > img,\n .prose > p > img,\n .markdown > img,\n .markdown > p > img {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.prose > img,\n.prose > p > img,\n.markdown > img,\n.markdown > p > img {\n border: 1px solid var(--tblr-border-color);\n}\n.prose pre,\n.markdown pre {\n max-height: 20rem;\n}\n\n.placeholder:not(.btn):not([class*=bg-]) {\n background-color: currentColor !important;\n}\n.placeholder:not(.avatar):not([class*=card-img-]) {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .placeholder:not(.avatar):not([class*=card-img-]) {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.nav-segmented {\n --tblr-nav-bg: var(--tblr-bg-surface-tertiary);\n --tblr-nav-padding: 2px;\n --tblr-nav-height: 2.5rem;\n --tblr-nav-gap: 0.25rem;\n --tblr-nav-active-bg: var(--tblr-bg-surface);\n --tblr-nav-font-size: inherit;\n --tblr-nav-radius: 6px;\n --tblr-nav-link-disabled-color: var(--tblr-disabled-color);\n --tblr-nav-link-gap: 0.25rem;\n --tblr-nav-link-padding-x: 0.75rem;\n --tblr-nav-link-icon-size: 1.25rem;\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--tblr-nav-gap);\n padding: var(--tblr-nav-padding);\n list-style: none;\n background: var(--tblr-nav-bg);\n border-radius: calc(var(--tblr-nav-radius) + var(--tblr-nav-padding));\n}\n@supports (corner-shape: squircle) {\n .nav-segmented {\n corner-shape: squircle;\n border-radius: calc(calc(var(--tblr-nav-radius) + var(--tblr-nav-padding)) * 2.5) !important;\n }\n}\n.nav-segmented {\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);\n}\n.nav-segmented .nav-link {\n display: inline-flex;\n gap: calc(0.25rem + var(--tblr-nav-link-gap));\n align-items: center;\n margin: 0;\n font-size: var(--tblr-nav-font-size);\n min-width: calc(var(--tblr-nav-height) - 2 * var(--tblr-nav-padding));\n height: calc(var(--tblr-nav-height) - 2 * var(--tblr-nav-padding));\n padding: 0 calc(var(--tblr-nav-link-padding-x) - 2px);\n border: 1px solid transparent;\n background: transparent;\n color: var(--tblr-secondary);\n text-align: center;\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n transition: background-color 0.3s, color 0.3s;\n border-radius: var(--tblr-nav-radius);\n}\n@supports (corner-shape: squircle) {\n .nav-segmented .nav-link {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-nav-radius) * 2.5) !important;\n }\n}\n.nav-segmented .nav-link {\n flex-grow: 1;\n justify-content: center;\n}\n.nav-segmented .nav-link:hover, .nav-segmented .nav-link.hover {\n background: rgba(0, 0, 0, 0.04);\n color: var(--tblr-body-color);\n}\n.nav-segmented .nav-link.disabled, .nav-segmented .nav-link:disabled {\n color: var(--tblr-nav-link-disabled-color);\n cursor: not-allowed;\n}\n.nav-segmented .nav-link-input:checked + .nav-link,\n.nav-segmented .nav-link.active {\n color: var(--tblr-body-color);\n background: var(--tblr-nav-active-bg);\n border-color: var(--tblr-border-color);\n}\n.nav-segmented .nav-link-input {\n display: none;\n}\n.nav-segmented .nav-link-icon {\n width: var(--tblr-nav-link-icon-size);\n height: var(--tblr-nav-link-icon-size);\n margin: 0 -0.25rem;\n color: inherit;\n}\n\n.nav-segmented-vertical {\n flex-direction: column;\n}\n.nav-segmented-vertical .nav-link {\n justify-content: start;\n}\n\n.nav-sm {\n --tblr-nav-height: 2rem;\n --tblr-nav-font-size: var(--tblr-font-size-h5);\n --tblr-nav-radius: 4px;\n --tblr-nav-link-padding-x: 0.5rem;\n --tblr-nav-link-gap: 0.25rem;\n --tblr-nav-link-icon-size: 1rem;\n}\n\n.nav-lg {\n --tblr-nav-height: 3rem;\n --tblr-nav-font-size: var(--tblr-font-size-h3);\n --tblr-nav-radius: 8px;\n --tblr-nav-link-padding-x: 1rem;\n --tblr-nav-link-gap: 0.5rem;\n --tblr-nav-link-icon-size: 1.5rem;\n}\n\n.steps {\n --tblr-steps-color: var(--tblr-primary);\n --tblr-steps-inactive-color: var(--tblr-border-color);\n --tblr-steps-dot-size: 0.5rem;\n --tblr-steps-border-width: 2px;\n display: flex;\n flex-wrap: nowrap;\n width: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.steps-blue {\n --tblr-steps-color: var(--tblr-blue);\n}\n.steps-blue-lt {\n --tblr-steps-color: var(--tblr-blue-lt);\n}\n\n.steps-azure {\n --tblr-steps-color: var(--tblr-azure);\n}\n.steps-azure-lt {\n --tblr-steps-color: var(--tblr-azure-lt);\n}\n\n.steps-indigo {\n --tblr-steps-color: var(--tblr-indigo);\n}\n.steps-indigo-lt {\n --tblr-steps-color: var(--tblr-indigo-lt);\n}\n\n.steps-purple {\n --tblr-steps-color: var(--tblr-purple);\n}\n.steps-purple-lt {\n --tblr-steps-color: var(--tblr-purple-lt);\n}\n\n.steps-pink {\n --tblr-steps-color: var(--tblr-pink);\n}\n.steps-pink-lt {\n --tblr-steps-color: var(--tblr-pink-lt);\n}\n\n.steps-red {\n --tblr-steps-color: var(--tblr-red);\n}\n.steps-red-lt {\n --tblr-steps-color: var(--tblr-red-lt);\n}\n\n.steps-orange {\n --tblr-steps-color: var(--tblr-orange);\n}\n.steps-orange-lt {\n --tblr-steps-color: var(--tblr-orange-lt);\n}\n\n.steps-yellow {\n --tblr-steps-color: var(--tblr-yellow);\n}\n.steps-yellow-lt {\n --tblr-steps-color: var(--tblr-yellow-lt);\n}\n\n.steps-lime {\n --tblr-steps-color: var(--tblr-lime);\n}\n.steps-lime-lt {\n --tblr-steps-color: var(--tblr-lime-lt);\n}\n\n.steps-green {\n --tblr-steps-color: var(--tblr-green);\n}\n.steps-green-lt {\n --tblr-steps-color: var(--tblr-green-lt);\n}\n\n.steps-teal {\n --tblr-steps-color: var(--tblr-teal);\n}\n.steps-teal-lt {\n --tblr-steps-color: var(--tblr-teal-lt);\n}\n\n.steps-cyan {\n --tblr-steps-color: var(--tblr-cyan);\n}\n.steps-cyan-lt {\n --tblr-steps-color: var(--tblr-cyan-lt);\n}\n\n.step-item {\n position: relative;\n flex: 1 1 0;\n min-height: 1rem;\n margin-top: 0;\n color: inherit;\n text-align: center;\n cursor: default;\n padding-top: calc(var(--tblr-steps-dot-size));\n}\na.step-item {\n cursor: pointer;\n}\na.step-item:hover {\n color: inherit;\n}\n\n.step-item:after, .step-item:before {\n background: var(--tblr-steps-color);\n}\n.step-item:not(:last-child):after {\n position: absolute;\n inset-inline-start: 50%;\n width: 100%;\n content: \"\";\n transform: translateY(-50%);\n}\n.step-item:after {\n top: calc(var(--tblr-steps-dot-size) * 0.5);\n height: var(--tblr-steps-border-width);\n}\n.step-item:before {\n content: \"\";\n position: absolute;\n top: 0;\n inset-inline-start: 50%;\n z-index: 1;\n box-sizing: content-box;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .step-item:before {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.step-item:before {\n transform: translateX(-50%);\n color: var(--tblr-white);\n width: var(--tblr-steps-dot-size);\n height: var(--tblr-steps-dot-size);\n}\n.step-item.active {\n font-weight: var(--tblr-font-weight-semibold);\n}\n.step-item.active:after {\n background: var(--tblr-steps-inactive-color);\n}\n.step-item.active ~ .step-item {\n color: var(--tblr-disabled-color);\n}\n.step-item.active ~ .step-item:after, .step-item.active ~ .step-item:before {\n background: var(--tblr-steps-inactive-color);\n}\n\n.steps-counter {\n --tblr-steps-dot-size: 1.5rem;\n counter-reset: steps;\n}\n.steps-counter .step-item {\n counter-increment: steps;\n}\n.steps-counter .step-item:before {\n content: counter(steps);\n}\n\n.steps-vertical {\n --tblr-steps-dot-offset: 6px;\n flex-direction: column;\n}\n.steps-vertical.steps-counter {\n --tblr-steps-dot-offset: -2px;\n}\n.steps-vertical .step-item {\n text-align: start;\n padding-top: 0;\n padding-inline-start: calc(var(--tblr-steps-dot-size) + 1rem);\n min-height: auto;\n}\n.steps-vertical .step-item:not(:first-child) {\n margin-top: 1rem;\n}\n.steps-vertical .step-item:before {\n top: var(--tblr-steps-dot-offset);\n inset-inline-start: 0;\n transform: translate(0, 0);\n}\n.steps-vertical .step-item:not(:last-child):after {\n position: absolute;\n content: \"\";\n transform: translateX(-50%);\n top: var(--tblr-steps-dot-offset);\n inset-inline-start: calc(var(--tblr-steps-dot-size) * 0.5);\n width: var(--tblr-steps-border-width);\n height: calc(100% + 1rem);\n}\n\n@keyframes status-pulsate-main {\n 40% {\n transform: scale(1.25, 1.25);\n }\n 60% {\n transform: scale(1.25, 1.25);\n }\n}\n@keyframes status-pulsate-secondary {\n 10% {\n transform: scale(1, 1);\n }\n 30% {\n transform: scale(3, 3);\n }\n 80% {\n transform: scale(3, 3);\n }\n 100% {\n transform: scale(1, 1);\n }\n}\n@keyframes status-pulsate-tertiary {\n 25% {\n transform: scale(1, 1);\n }\n 80% {\n transform: scale(3, 3);\n opacity: 0;\n }\n 100% {\n transform: scale(3, 3);\n opacity: 0;\n }\n}\n.status {\n --tblr-status-height: 1.5rem;\n --tblr-status-color: #6b7280;\n --tblr-status-color-rgb: 107, 114, 128;\n display: inline-flex;\n align-items: center;\n height: var(--tblr-status-height);\n padding: 0.25rem 0.75rem;\n gap: 0.5rem;\n color: var(--tblr-status-color);\n background: color-mix(in srgb, var(--tblr-status-color) 10%, transparent);\n font-size: 0.875rem;\n text-transform: none;\n letter-spacing: normal;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .status {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.status {\n font-weight: var(--tblr-font-weight-medium);\n line-height: 1;\n margin: 0;\n}\n.status .status-dot {\n background: var(--tblr-status-color);\n}\n.status .icon {\n font-size: 1.25rem;\n}\n\n.status-lite {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color) !important;\n background: transparent !important;\n color: var(--tblr-body-color) !important;\n}\n\n.status-primary {\n --tblr-status-color: var(--tblr-primary);\n --tblr-status-color-rgb: var(--tblr-primary-rgb);\n}\n\n.status-secondary {\n --tblr-status-color: var(--tblr-secondary);\n --tblr-status-color-rgb: var(--tblr-secondary-rgb);\n}\n\n.status-success {\n --tblr-status-color: var(--tblr-success);\n --tblr-status-color-rgb: var(--tblr-success-rgb);\n}\n\n.status-info {\n --tblr-status-color: var(--tblr-info);\n --tblr-status-color-rgb: var(--tblr-info-rgb);\n}\n\n.status-warning {\n --tblr-status-color: var(--tblr-warning);\n --tblr-status-color-rgb: var(--tblr-warning-rgb);\n}\n\n.status-danger {\n --tblr-status-color: var(--tblr-danger);\n --tblr-status-color-rgb: var(--tblr-danger-rgb);\n}\n\n.status-light {\n --tblr-status-color: var(--tblr-light);\n --tblr-status-color-rgb: var(--tblr-light-rgb);\n}\n\n.status-dark {\n --tblr-status-color: var(--tblr-dark);\n --tblr-status-color-rgb: var(--tblr-dark-rgb);\n}\n\n.status-muted {\n --tblr-status-color: var(--tblr-muted);\n --tblr-status-color-rgb: var(--tblr-muted-rgb);\n}\n\n.status-blue {\n --tblr-status-color: var(--tblr-blue);\n --tblr-status-color-rgb: var(--tblr-blue-rgb);\n}\n\n.status-azure {\n --tblr-status-color: var(--tblr-azure);\n --tblr-status-color-rgb: var(--tblr-azure-rgb);\n}\n\n.status-indigo {\n --tblr-status-color: var(--tblr-indigo);\n --tblr-status-color-rgb: var(--tblr-indigo-rgb);\n}\n\n.status-purple {\n --tblr-status-color: var(--tblr-purple);\n --tblr-status-color-rgb: var(--tblr-purple-rgb);\n}\n\n.status-pink {\n --tblr-status-color: var(--tblr-pink);\n --tblr-status-color-rgb: var(--tblr-pink-rgb);\n}\n\n.status-red {\n --tblr-status-color: var(--tblr-red);\n --tblr-status-color-rgb: var(--tblr-red-rgb);\n}\n\n.status-orange {\n --tblr-status-color: var(--tblr-orange);\n --tblr-status-color-rgb: var(--tblr-orange-rgb);\n}\n\n.status-yellow {\n --tblr-status-color: var(--tblr-yellow);\n --tblr-status-color-rgb: var(--tblr-yellow-rgb);\n}\n\n.status-lime {\n --tblr-status-color: var(--tblr-lime);\n --tblr-status-color-rgb: var(--tblr-lime-rgb);\n}\n\n.status-green {\n --tblr-status-color: var(--tblr-green);\n --tblr-status-color-rgb: var(--tblr-green-rgb);\n}\n\n.status-teal {\n --tblr-status-color: var(--tblr-teal);\n --tblr-status-color-rgb: var(--tblr-teal-rgb);\n}\n\n.status-cyan {\n --tblr-status-color: var(--tblr-cyan);\n --tblr-status-color-rgb: var(--tblr-cyan-rgb);\n}\n\n.status-x {\n --tblr-status-color: var(--tblr-x);\n --tblr-status-color-rgb: var(--tblr-x-rgb);\n}\n\n.status-facebook {\n --tblr-status-color: var(--tblr-facebook);\n --tblr-status-color-rgb: var(--tblr-facebook-rgb);\n}\n\n.status-twitter {\n --tblr-status-color: var(--tblr-twitter);\n --tblr-status-color-rgb: var(--tblr-twitter-rgb);\n}\n\n.status-linkedin {\n --tblr-status-color: var(--tblr-linkedin);\n --tblr-status-color-rgb: var(--tblr-linkedin-rgb);\n}\n\n.status-google {\n --tblr-status-color: var(--tblr-google);\n --tblr-status-color-rgb: var(--tblr-google-rgb);\n}\n\n.status-youtube {\n --tblr-status-color: var(--tblr-youtube);\n --tblr-status-color-rgb: var(--tblr-youtube-rgb);\n}\n\n.status-vimeo {\n --tblr-status-color: var(--tblr-vimeo);\n --tblr-status-color-rgb: var(--tblr-vimeo-rgb);\n}\n\n.status-dribbble {\n --tblr-status-color: var(--tblr-dribbble);\n --tblr-status-color-rgb: var(--tblr-dribbble-rgb);\n}\n\n.status-github {\n --tblr-status-color: var(--tblr-github);\n --tblr-status-color-rgb: var(--tblr-github-rgb);\n}\n\n.status-instagram {\n --tblr-status-color: var(--tblr-instagram);\n --tblr-status-color-rgb: var(--tblr-instagram-rgb);\n}\n\n.status-pinterest {\n --tblr-status-color: var(--tblr-pinterest);\n --tblr-status-color-rgb: var(--tblr-pinterest-rgb);\n}\n\n.status-vk {\n --tblr-status-color: var(--tblr-vk);\n --tblr-status-color-rgb: var(--tblr-vk-rgb);\n}\n\n.status-rss {\n --tblr-status-color: var(--tblr-rss);\n --tblr-status-color-rgb: var(--tblr-rss-rgb);\n}\n\n.status-flickr {\n --tblr-status-color: var(--tblr-flickr);\n --tblr-status-color-rgb: var(--tblr-flickr-rgb);\n}\n\n.status-bitbucket {\n --tblr-status-color: var(--tblr-bitbucket);\n --tblr-status-color-rgb: var(--tblr-bitbucket-rgb);\n}\n\n.status-tabler {\n --tblr-status-color: var(--tblr-tabler);\n --tblr-status-color-rgb: var(--tblr-tabler-rgb);\n}\n\n.status-dot {\n --tblr-status-dot-color: var(--tblr-status-color, #6b7280);\n --tblr-status-size: 0.5rem;\n position: relative;\n display: inline-block;\n width: var(--tblr-status-size);\n height: var(--tblr-status-size);\n background: var(--tblr-status-dot-color);\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .status-dot {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n\n.status-dot-animated:before {\n content: \"\";\n position: absolute;\n inset: 0;\n z-index: 0;\n background: inherit;\n border-radius: inherit;\n opacity: 0.6;\n animation: 1s linear 2s backwards infinite status-pulsate-tertiary;\n}\n\n.status-indicator {\n --tblr-status-indicator-size: 2.5rem;\n --tblr-status-indicator-color: var(--tblr-status-color, #6b7280);\n display: block;\n position: relative;\n width: var(--tblr-status-indicator-size);\n height: var(--tblr-status-indicator-size);\n}\n\n.status-indicator-circle {\n --tblr-status-circle-size: 0.75rem;\n position: absolute;\n inset-inline-start: 50%;\n top: 50%;\n margin: calc(var(--tblr-status-circle-size) / -2) 0 0 calc(var(--tblr-status-circle-size) / -2);\n width: var(--tblr-status-circle-size);\n height: var(--tblr-status-circle-size);\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .status-indicator-circle {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.status-indicator-circle {\n background: var(--tblr-status-color);\n}\n.status-indicator-circle:nth-child(1) {\n z-index: 3;\n}\n.status-indicator-circle:nth-child(2) {\n z-index: 2;\n opacity: 0.1;\n}\n.status-indicator-circle:nth-child(3) {\n z-index: 1;\n opacity: 0.3;\n}\n\n.status-indicator-animated .status-indicator-circle:nth-child(1) {\n animation: 2s linear 1s infinite backwards status-pulsate-main;\n}\n.status-indicator-animated .status-indicator-circle:nth-child(2) {\n animation: 2s linear 1s infinite backwards status-pulsate-secondary;\n}\n.status-indicator-animated .status-indicator-circle:nth-child(3) {\n animation: 2s linear 1s infinite backwards status-pulsate-tertiary;\n}\n\n.switch-icon {\n display: inline-block;\n line-height: 1;\n border: 0;\n padding: 0;\n background: transparent;\n width: 1.25rem;\n height: 1.25rem;\n vertical-align: bottom;\n position: relative;\n cursor: pointer;\n}\n.switch-icon.disabled {\n pointer-events: none;\n opacity: 0.4;\n}\n.switch-icon:focus {\n outline: none;\n}\n.switch-icon svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n.switch-icon .switch-icon-a,\n.switch-icon .switch-icon-b {\n display: block;\n width: 100%;\n height: 100%;\n}\n.switch-icon .switch-icon-a {\n opacity: 1;\n}\n.switch-icon .switch-icon-b {\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n opacity: 0;\n}\n.switch-icon.active .switch-icon-a {\n opacity: 0;\n}\n.switch-icon.active .switch-icon-b {\n opacity: 1;\n}\n\n.switch-icon-fade .switch-icon-a,\n.switch-icon-fade .switch-icon-b {\n transition: opacity 0.5s;\n}\n@media (prefers-reduced-motion: reduce) {\n .switch-icon-fade .switch-icon-a,\n .switch-icon-fade .switch-icon-b {\n transition: none;\n }\n}\n\n.switch-icon-scale .switch-icon-a,\n.switch-icon-scale .switch-icon-b {\n transition: opacity 0.5s, transform 0s 0.5s;\n}\n@media (prefers-reduced-motion: reduce) {\n .switch-icon-scale .switch-icon-a,\n .switch-icon-scale .switch-icon-b {\n transition: none;\n }\n}\n.switch-icon-scale .switch-icon-b {\n transform: scale(1.5);\n}\n.switch-icon-scale.active .switch-icon-a,\n.switch-icon-scale.active .switch-icon-b {\n transition: opacity 0s, transform 0.5s;\n}\n@media (prefers-reduced-motion: reduce) {\n .switch-icon-scale.active .switch-icon-a,\n .switch-icon-scale.active .switch-icon-b {\n transition: none;\n }\n}\n.switch-icon-scale.active .switch-icon-b {\n transform: scale(1);\n}\n\n.switch-icon-flip {\n perspective: 10em;\n}\n.switch-icon-flip .switch-icon-a,\n.switch-icon-flip .switch-icon-b {\n backface-visibility: hidden;\n transform-style: preserve-3d;\n transition: opacity 0s 0.2s, transform 0.4s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .switch-icon-flip .switch-icon-a,\n .switch-icon-flip .switch-icon-b {\n transition: none;\n }\n}\n.switch-icon-flip .switch-icon-a {\n opacity: 1;\n transform: rotateY(0deg);\n}\n.switch-icon-flip .switch-icon-b {\n opacity: 1;\n transform: rotateY(-180deg);\n}\n.switch-icon-flip.active .switch-icon-a {\n opacity: 1;\n transform: rotateY(180deg);\n}\n.switch-icon-flip.active .switch-icon-b {\n opacity: 1;\n transform: rotateY(0deg);\n}\n\n.switch-icon-slide-up,\n.switch-icon-slide-left,\n.switch-icon-slide-start,\n.switch-icon-slide-right,\n.switch-icon-slide-end,\n.switch-icon-slide-down {\n overflow: hidden;\n}\n.switch-icon-slide-up .switch-icon-a,\n.switch-icon-slide-up .switch-icon-b,\n.switch-icon-slide-left .switch-icon-a,\n.switch-icon-slide-left .switch-icon-b,\n.switch-icon-slide-start .switch-icon-a,\n.switch-icon-slide-start .switch-icon-b,\n.switch-icon-slide-right .switch-icon-a,\n.switch-icon-slide-right .switch-icon-b,\n.switch-icon-slide-end .switch-icon-a,\n.switch-icon-slide-end .switch-icon-b,\n.switch-icon-slide-down .switch-icon-a,\n.switch-icon-slide-down .switch-icon-b {\n transition: opacity 0.3s, transform 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .switch-icon-slide-up .switch-icon-a,\n .switch-icon-slide-up .switch-icon-b,\n .switch-icon-slide-left .switch-icon-a,\n .switch-icon-slide-left .switch-icon-b,\n .switch-icon-slide-start .switch-icon-a,\n .switch-icon-slide-start .switch-icon-b,\n .switch-icon-slide-right .switch-icon-a,\n .switch-icon-slide-right .switch-icon-b,\n .switch-icon-slide-end .switch-icon-a,\n .switch-icon-slide-end .switch-icon-b,\n .switch-icon-slide-down .switch-icon-a,\n .switch-icon-slide-down .switch-icon-b {\n transition: none;\n }\n}\n.switch-icon-slide-up .switch-icon-a,\n.switch-icon-slide-left .switch-icon-a,\n.switch-icon-slide-start .switch-icon-a,\n.switch-icon-slide-right .switch-icon-a,\n.switch-icon-slide-end .switch-icon-a,\n.switch-icon-slide-down .switch-icon-a {\n transform: translateY(0);\n}\n.switch-icon-slide-up .switch-icon-b,\n.switch-icon-slide-left .switch-icon-b,\n.switch-icon-slide-start .switch-icon-b,\n.switch-icon-slide-right .switch-icon-b,\n.switch-icon-slide-end .switch-icon-b,\n.switch-icon-slide-down .switch-icon-b {\n transform: translateY(100%);\n}\n.switch-icon-slide-up.active .switch-icon-a,\n.switch-icon-slide-left.active .switch-icon-a,\n.switch-icon-slide-start.active .switch-icon-a,\n.switch-icon-slide-right.active .switch-icon-a,\n.switch-icon-slide-end.active .switch-icon-a,\n.switch-icon-slide-down.active .switch-icon-a {\n transform: translateY(-100%);\n}\n.switch-icon-slide-up.active .switch-icon-b,\n.switch-icon-slide-left.active .switch-icon-b,\n.switch-icon-slide-start.active .switch-icon-b,\n.switch-icon-slide-right.active .switch-icon-b,\n.switch-icon-slide-end.active .switch-icon-b,\n.switch-icon-slide-down.active .switch-icon-b {\n transform: translateY(0);\n}\n\n.switch-icon-slide-left .switch-icon-a,\n.switch-icon-slide-start .switch-icon-a {\n transform: translateX(0);\n}\n.switch-icon-slide-left .switch-icon-b,\n.switch-icon-slide-start .switch-icon-b {\n transform: translateX(100%);\n}\n.switch-icon-slide-left.active .switch-icon-a,\n.switch-icon-slide-start.active .switch-icon-a {\n transform: translateX(-100%);\n}\n.switch-icon-slide-left.active .switch-icon-b,\n.switch-icon-slide-start.active .switch-icon-b {\n transform: translateX(0);\n}\n\n.switch-icon-slide-right .switch-icon-a,\n.switch-icon-slide-end .switch-icon-a {\n transform: translateX(0);\n}\n.switch-icon-slide-right .switch-icon-b,\n.switch-icon-slide-end .switch-icon-b {\n transform: translateX(-100%);\n}\n.switch-icon-slide-right.active .switch-icon-a,\n.switch-icon-slide-end.active .switch-icon-a {\n transform: translateX(100%);\n}\n.switch-icon-slide-right.active .switch-icon-b,\n.switch-icon-slide-end.active .switch-icon-b {\n transform: translateX(0);\n}\n\n.switch-icon-slide-down .switch-icon-a {\n transform: translateY(0);\n}\n.switch-icon-slide-down .switch-icon-b {\n transform: translateY(-100%);\n}\n.switch-icon-slide-down.active .switch-icon-a {\n transform: translateY(100%);\n}\n.switch-icon-slide-down.active .switch-icon-b {\n transform: translateY(0);\n}\n\n.table, .prose > table,\n.markdown > table {\n font: inherit;\n}\n.table thead th, .prose > table thead th,\n.markdown > table thead th {\n background: var(--tblr-bg-surface-tertiary);\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n white-space: nowrap;\n}\n@media print {\n .table thead th, .prose > table thead th,\n .markdown > table thead th {\n background: transparent;\n }\n}\n\n.table-responsive .table, .table-responsive .prose > table,\n.table-responsive .markdown > table {\n margin-bottom: 0;\n}\n\n.table-transparent thead th {\n background: transparent;\n}\n\n.table-nowrap > :not(caption) > * > * {\n white-space: nowrap;\n}\n\n.table-vcenter > :not(caption) > * > * {\n vertical-align: middle;\n}\n\n.table-center > :not(caption) > * > * {\n text-align: center;\n}\n\n.td-truncate {\n max-width: 1px;\n width: 100%;\n}\n\n.table-mobile {\n display: block;\n}\n.table-mobile thead {\n display: none;\n}\n.table-mobile tbody,\n.table-mobile tr {\n display: flex;\n flex-direction: column;\n}\n.table-mobile td {\n display: block;\n padding: 0.75rem 0.75rem !important;\n border: none;\n color: var(--tblr-body-color) !important;\n}\n.table-mobile td[data-label]:before {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n content: attr(data-label);\n display: block;\n}\n.table-mobile tr {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n}\n.table-mobile .btn {\n display: block;\n}\n@media (max-width: 575.98px) {\n .table-mobile-sm {\n display: block;\n }\n .table-mobile-sm thead {\n display: none;\n }\n .table-mobile-sm tbody,\n .table-mobile-sm tr {\n display: flex;\n flex-direction: column;\n }\n .table-mobile-sm td {\n display: block;\n padding: 0.75rem 0.75rem !important;\n border: none;\n color: var(--tblr-body-color) !important;\n }\n .table-mobile-sm td[data-label]:before {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n content: attr(data-label);\n display: block;\n }\n .table-mobile-sm tr {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n }\n .table-mobile-sm .btn {\n display: block;\n }\n}\n@media (max-width: 767.98px) {\n .table-mobile-md {\n display: block;\n }\n .table-mobile-md thead {\n display: none;\n }\n .table-mobile-md tbody,\n .table-mobile-md tr {\n display: flex;\n flex-direction: column;\n }\n .table-mobile-md td {\n display: block;\n padding: 0.75rem 0.75rem !important;\n border: none;\n color: var(--tblr-body-color) !important;\n }\n .table-mobile-md td[data-label]:before {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n content: attr(data-label);\n display: block;\n }\n .table-mobile-md tr {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n }\n .table-mobile-md .btn {\n display: block;\n }\n}\n@media (max-width: 991.98px) {\n .table-mobile-lg {\n display: block;\n }\n .table-mobile-lg thead {\n display: none;\n }\n .table-mobile-lg tbody,\n .table-mobile-lg tr {\n display: flex;\n flex-direction: column;\n }\n .table-mobile-lg td {\n display: block;\n padding: 0.75rem 0.75rem !important;\n border: none;\n color: var(--tblr-body-color) !important;\n }\n .table-mobile-lg td[data-label]:before {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n content: attr(data-label);\n display: block;\n }\n .table-mobile-lg tr {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n }\n .table-mobile-lg .btn {\n display: block;\n }\n}\n@media (max-width: 1199.98px) {\n .table-mobile-xl {\n display: block;\n }\n .table-mobile-xl thead {\n display: none;\n }\n .table-mobile-xl tbody,\n .table-mobile-xl tr {\n display: flex;\n flex-direction: column;\n }\n .table-mobile-xl td {\n display: block;\n padding: 0.75rem 0.75rem !important;\n border: none;\n color: var(--tblr-body-color) !important;\n }\n .table-mobile-xl td[data-label]:before {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n content: attr(data-label);\n display: block;\n }\n .table-mobile-xl tr {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n }\n .table-mobile-xl .btn {\n display: block;\n }\n}\n@media (max-width: 1399.98px) {\n .table-mobile-xxl {\n display: block;\n }\n .table-mobile-xxl thead {\n display: none;\n }\n .table-mobile-xxl tbody,\n .table-mobile-xxl tr {\n display: flex;\n flex-direction: column;\n }\n .table-mobile-xxl td {\n display: block;\n padding: 0.75rem 0.75rem !important;\n border: none;\n color: var(--tblr-body-color) !important;\n }\n .table-mobile-xxl td[data-label]:before {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n content: attr(data-label);\n display: block;\n }\n .table-mobile-xxl tr {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n }\n .table-mobile-xxl .btn {\n display: block;\n }\n}\n\n/**\nTable sort\n */\n.table-sort {\n font: inherit;\n color: inherit;\n text-transform: inherit;\n letter-spacing: inherit;\n border: 0;\n background: inherit;\n display: block;\n width: 100%;\n text-align: inherit;\n margin: -0.5rem -0.75rem;\n padding: 0.5rem 0.75rem;\n transition: color 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n .table-sort {\n transition: none;\n }\n}\n.table-sort:hover, .table-sort.asc, .table-sort.desc {\n color: var(--tblr-body-color);\n}\n.table-sort:after {\n content: \"\";\n display: inline-flex;\n width: 1rem;\n height: 1rem;\n vertical-align: bottom;\n mask-image: url(\"data:image/svg+xml,\");\n background: currentColor;\n margin-inline-start: 0.25rem;\n}\n.table-sort.asc:after {\n mask-image: url(\"data:image/svg+xml,\");\n}\n.table-sort.desc:after {\n mask-image: url(\"data:image/svg+xml,\");\n}\n\n.table-borderless thead th {\n background: transparent;\n}\n\n.table-selectable tbody tr .on-checked {\n display: none;\n}\n.table-selectable tbody tr .on-unchecked {\n display: initial;\n}\n.table-selectable tbody tr:has(.table-selectable-check:checked) {\n background-color: var(--tblr-active-bg);\n}\n.table-selectable tbody tr:has(.table-selectable-check:checked) .on-checked {\n display: initial;\n}\n.table-selectable tbody tr:has(.table-selectable-check:checked) .on-unchecked {\n display: none;\n}\n\n.tag {\n --tblr-tag-height: 1.5rem;\n border: 1px solid var(--tblr-border-color);\n display: inline-flex;\n align-items: center;\n height: var(--tblr-tag-height);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .tag {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.tag {\n padding: 0 0.5rem;\n background: var(--tblr-bg-surface);\n box-shadow: var(--tblr-shadow-input);\n gap: 0.5rem;\n}\n.tag .btn-close {\n margin-inline-end: -0.25rem;\n margin-inline-start: -0.125rem;\n padding: 0;\n width: 1rem;\n height: 1rem;\n font-size: 0.5rem;\n}\n\n.tag-badge {\n --tblr-badge-font-size: 0.625rem;\n --tblr-badge-padding-x: 0.25rem;\n --tblr-badge-padding-y: 0.125rem;\n margin-inline-end: -0.25rem;\n}\n\n.tag-avatar,\n.tag-flag,\n.tag-payment,\n.tag-icon,\n.tag-check {\n margin-inline-start: -0.25rem;\n}\n\n.tag-icon {\n color: var(--tblr-secondary);\n margin-inline-end: -0.125rem;\n width: 1rem;\n height: 1rem;\n}\n\n.tag-check {\n width: 1rem;\n height: 1rem;\n background-size: 1rem;\n}\n\n.tags-list {\n --tblr-list-gap: 0.5rem;\n display: flex;\n flex-wrap: wrap;\n gap: var(--tblr-list-gap);\n}\n\n.toast {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color-translucent);\n box-shadow: rgba(31, 41, 55, 0.04) 0 2px 4px 0;\n}\n.toast .toast-header {\n user-select: none;\n}\n.toast button[data-bs-dismiss=toast],\n.toast button[data-dismiss=toast] {\n outline: none;\n}\n@media print {\n .toast {\n display: none;\n }\n}\n\n.toast-primary {\n --tblr-toast-color: #066fd1;\n}\n\n.toast-secondary {\n --tblr-toast-color: #6b7280;\n}\n\n.toast-success {\n --tblr-toast-color: #2fb344;\n}\n\n.toast-info {\n --tblr-toast-color: #4299e1;\n}\n\n.toast-warning {\n --tblr-toast-color: #f59f00;\n}\n\n.toast-danger {\n --tblr-toast-color: #d63939;\n}\n\n.toast-light {\n --tblr-toast-color: #f9fafb;\n}\n\n.toast-dark {\n --tblr-toast-color: #1f2937;\n}\n\n.toast-muted {\n --tblr-toast-color: #6b7280;\n}\n\n.toast-blue {\n --tblr-toast-color: #066fd1;\n}\n\n.toast-azure {\n --tblr-toast-color: #4299e1;\n}\n\n.toast-indigo {\n --tblr-toast-color: #4263eb;\n}\n\n.toast-purple {\n --tblr-toast-color: #ae3ec9;\n}\n\n.toast-pink {\n --tblr-toast-color: #d6336c;\n}\n\n.toast-red {\n --tblr-toast-color: #d63939;\n}\n\n.toast-orange {\n --tblr-toast-color: #f76707;\n}\n\n.toast-yellow {\n --tblr-toast-color: #f59f00;\n}\n\n.toast-lime {\n --tblr-toast-color: #74b816;\n}\n\n.toast-green {\n --tblr-toast-color: #2fb344;\n}\n\n.toast-teal {\n --tblr-toast-color: #0ca678;\n}\n\n.toast-cyan {\n --tblr-toast-color: #17a2b8;\n}\n\n.toolbar {\n display: flex;\n flex-wrap: nowrap;\n flex-shrink: 0;\n margin: 0 -0.5rem;\n}\n.toolbar > * {\n margin: 0 0.5rem;\n}\n@media print {\n .toolbar {\n display: none;\n }\n}\n\n.tracking {\n --tblr-tracking-height: 1.5rem;\n --tblr-tracking-gap-width: 0.125rem;\n --tblr-tracking-block-border-radius: var(--tblr-border-radius);\n display: flex;\n gap: var(--tblr-tracking-gap-width);\n}\n\n.tracking-squares {\n --tblr-tracking-block-border-radius: var(--tblr-border-radius-sm);\n}\n.tracking-squares .tracking-block {\n height: auto;\n}\n.tracking-squares .tracking-block:before {\n content: \"\";\n display: block;\n padding-top: 100%;\n}\n\n.tracking-block {\n flex: 1;\n border-radius: var(--tblr-tracking-block-border-radius);\n}\n@supports (corner-shape: squircle) {\n .tracking-block {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-tracking-block-border-radius) * 2.5) !important;\n }\n}\n.tracking-block {\n height: var(--tblr-tracking-height);\n min-width: 0.25rem;\n background: var(--tblr-border-color);\n}\n\n.timeline {\n --tblr-timeline-icon-size: 2.5rem;\n position: relative;\n list-style: none;\n padding: 0;\n}\n\n.timeline-event {\n position: relative;\n}\n.timeline-event:not(:last-child) {\n margin-bottom: var(--tblr-page-padding);\n}\n.timeline-event:not(:last-child):before {\n content: \"\";\n position: absolute;\n top: var(--tblr-timeline-icon-size);\n inset-inline-start: calc(var(--tblr-timeline-icon-size) / 2);\n bottom: calc(-1 * var(--tblr-page-padding));\n width: var(--tblr-border-width);\n background-color: var(--tblr-border-color);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .timeline-event:not(:last-child):before {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.timeline-event-icon {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--tblr-timeline-icon-size, 2.5rem);\n height: var(--tblr-timeline-icon-size, 2.5rem);\n background: var(--tblr-bg-surface-secondary);\n color: var(--tblr-secondary);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .timeline-event-icon {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.timeline-event-icon {\n z-index: 5;\n}\n\n.timeline-event-card {\n margin-inline-start: calc(var(--tblr-timeline-icon-size, 2.5rem) + var(--tblr-page-padding));\n}\n\n.timeline-simple .timeline-event-icon {\n display: none;\n}\n.timeline-simple .timeline-event-card {\n margin-inline-start: 0;\n}\n\n/**\nHorizontal rules\n */\n/**\nHr text\n */\n.hr-text {\n display: flex;\n align-items: center;\n margin: 2rem 0;\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n height: 1px;\n}\n.hr-text:after, .hr-text:before {\n flex: 1 1 auto;\n height: 1px;\n background-color: var(--tblr-border-color);\n}\n.hr-text:before {\n content: \"\";\n margin-inline-end: 0.5rem;\n}\n.hr-text:after {\n content: \"\";\n margin-inline-start: 0.5rem;\n}\n.hr-text > *:first-child {\n padding-inline-end: 0.5rem;\n padding-inline-start: 0;\n color: var(--tblr-secondary);\n}\n.hr-text.hr-text-left:before, .hr-text.hr-text-start:before {\n content: none;\n}\n.hr-text.hr-text-left > *:first-child, .hr-text.hr-text-start > *:first-child {\n padding-inline-end: 0.5rem;\n padding-inline-start: 0.5rem;\n}\n.hr-text.hr-text-right:before, .hr-text.hr-text-end:before {\n content: \"\";\n}\n.hr-text.hr-text-right:after, .hr-text.hr-text-end:after {\n content: none;\n}\n.hr-text.hr-text-right > *:first-child, .hr-text.hr-text-end > *:first-child {\n padding-inline-end: 0;\n padding-inline-start: 0.5rem;\n}\n.card > .hr-text {\n margin: 0;\n}\n\n.hr-text-spaceless {\n margin: -0.5rem 0;\n}\n\n.lead {\n color: var(--tblr-secondary);\n font-size: inherit;\n}\n\na {\n text-decoration-skip-ink: auto;\n color: color-mix(in srgb, transparent, var(--tblr-link-color) var(--tblr-link-opacity, 100%));\n}\na:hover {\n color: color-mix(in srgb, transparent, var(--tblr-link-hover-color) var(--tblr-link-opacity, 100%));\n}\n\nh1 a,\nh2 a,\nh3 a,\nh4 a,\nh5 a,\nh6 a,\n.h1 a,\n.h2 a,\n.h3 a,\n.h4 a,\n.h5 a,\n.h6 a {\n color: inherit;\n}\nh1 a:hover,\nh2 a:hover,\nh3 a:hover,\nh4 a:hover,\nh5 a:hover,\nh6 a:hover,\n.h1 a:hover,\n.h2 a:hover,\n.h3 a:hover,\n.h4 a:hover,\n.h5 a:hover,\n.h6 a:hover {\n color: inherit;\n}\n\nh1,\n.h1 {\n font-size: var(--tblr-font-size-h1);\n line-height: var(--tblr-line-height-h1);\n}\n\nh2,\n.h2 {\n font-size: var(--tblr-font-size-h2);\n line-height: var(--tblr-line-height-h2);\n}\n\nh3,\n.h3 {\n font-size: var(--tblr-font-size-h3);\n line-height: var(--tblr-line-height-h3);\n}\n\nh4,\n.h4 {\n font-size: var(--tblr-font-size-h4);\n line-height: var(--tblr-line-height-h4);\n}\n\nh5,\n.h5 {\n font-size: var(--tblr-font-size-h5);\n line-height: var(--tblr-line-height-h5);\n}\n\nh6,\n.h6 {\n font-size: var(--tblr-font-size-h6);\n line-height: var(--tblr-line-height-h6);\n}\n\n.fs-base {\n font-size: var(--tblr-body-font-size);\n}\n\nstrong,\n.strong,\nb {\n font-weight: var(--tblr-font-weight-semibold);\n}\n\nblockquote {\n padding: 1rem 1rem 1rem;\n border-inline-start: 2px var(--tblr-border-style) var(--tblr-border-color);\n}\nblockquote p {\n margin-bottom: 1rem;\n}\nblockquote cite {\n display: block;\n text-align: end;\n}\nblockquote cite:before {\n content: \"— \";\n}\n\nul,\nol {\n padding-inline-start: 1.5rem;\n}\n\nhr, .hr {\n margin: 2rem 0;\n}\n\ndl dd:last-child {\n margin-bottom: 0;\n}\n\npre {\n --tblr-scrollbar-color: var(--tblr-light);\n padding: 1rem;\n background: var(--tblr-bg-surface-dark);\n color: var(--tblr-light);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n pre {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\npre {\n line-height: 1.4285714286;\n}\npre {\n scrollbar-color: color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent) transparent;\n}\npre::-webkit-scrollbar {\n width: 1rem;\n height: 1rem;\n transition: background 0.3s;\n}\n@media (prefers-reduced-motion: reduce) {\n pre::-webkit-scrollbar {\n transition: none;\n }\n}\npre::-webkit-scrollbar-thumb {\n border-radius: 1rem;\n}\n@supports (corner-shape: squircle) {\n pre::-webkit-scrollbar-thumb {\n corner-shape: squircle;\n border-radius: calc(1rem * 2.5) !important;\n }\n}\npre::-webkit-scrollbar-thumb {\n border: 5px solid transparent;\n box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 20%, transparent);\n}\npre::-webkit-scrollbar-track {\n background: transparent;\n}\npre:hover::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 1rem color-mix(in srgb, var(--tblr-scrollbar-color, var(--tblr-body-color)) 40%, transparent);\n}\npre::-webkit-scrollbar-corner {\n background: transparent;\n}\npre code {\n background: transparent;\n padding: 0;\n}\n\ncode {\n background: var(--tblr-code-bg);\n padding: 2px 4px;\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n code {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\nabbr {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\nkbd,\n.kbd {\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n display: inline-block;\n box-sizing: border-box;\n max-width: 100%;\n font-size: var(--tblr-font-size-h5);\n font-weight: var(--tblr-font-weight-medium);\n line-height: 1;\n vertical-align: baseline;\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n kbd,\n .kbd {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\nimg {\n max-width: 100%;\n height: auto;\n}\n\n.list-unstyled {\n margin-inline-start: 0;\n}\n\n/**\nSelection\n */\n::selection,\n.text-selected {\n background-color: color-mix(in srgb, var(--tblr-primary) 10%, transparent);\n}\n\n.text-selected {\n display: inline-block;\n}\n\n/**\nLinks\n */\n[class^=link-].disabled,\n[class*=\" link-\"].disabled {\n color: var(--tblr-disabled-color) !important;\n pointer-events: none;\n}\n\na:hover:has(.icon) {\n text-decoration: none;\n}\n\n.link-hoverable {\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .link-hoverable {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.link-hoverable {\n transition: background-color 0.15s ease-in-out;\n}\n.link-hoverable:hover {\n text-decoration: none;\n color: var(--tblr-primary);\n background: color-mix(in srgb, var(--tblr-secondary) 4%, transparent);\n}\n\n/**\nSubheader\n */\n.subheader {\n font-size: 0.75rem;\n font-weight: var(--tblr-font-weight-medium);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n line-height: 1rem;\n color: var(--tblr-secondary);\n}\n\n/**\nMentions\n */\n.mention {\n display: inline-block;\n box-shadow: var(--tblr-shadow-border);\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .mention {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.mention {\n line-height: 1.3333333333em;\n font-size: 0.8571428571em;\n color: var(--tblr-body-color);\n background: var(--tblr-bg-surface-tertiary);\n padding: 0.1666666667em 0.6666666667em;\n font-weight: var(--tblr-font-weight-medium);\n}\na.mention {\n cursor: pointer;\n}\na.mention:hover, a.mention.hover {\n background: var(--tblr-bg-surface-secondary);\n text-decoration: underline;\n}\n\n.mention-avatar,\n.mention-app,\n.mention-color {\n width: 1.1666666667em;\n height: 1.1666666667em;\n border-radius: var(--tblr-border-radius-pill);\n}\n@supports (corner-shape: squircle) {\n .mention-avatar,\n .mention-app,\n .mention-color {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-pill) * 2.5) !important;\n }\n}\n.mention-avatar,\n.mention-app,\n.mention-color {\n margin: -0.1666666667em 0.3333333333em 0 -0.3333333333em;\n display: inline-flex;\n background: no-repeat center center/cover;\n box-shadow: var(--tblr-shadow-border);\n vertical-align: middle;\n text-align: center;\n}\n\n.mention-app {\n box-shadow: none;\n background: none;\n border-radius: 0;\n}\n\n.mention-count {\n color: var(--tblr-secondary);\n margin-inline-start: 0.6666666667em;\n}\n\n.text-incorrect {\n background: color-mix(in srgb, var(--tblr-red) 4%, transparent);\n background: color-mix(in srgb, var(--tblr-red) 4%, transparent);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-decoration-color: var(--tblr-red);\n}\n\n.text-correct {\n background: color-mix(in srgb, var(--tblr-green) 4%, transparent);\n background: color-mix(in srgb, var(--tblr-green) 4%, transparent);\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-decoration-color: var(--tblr-green);\n}\n\n.steps {\n --tblr-steps-padding: 2rem;\n --tblr-steps-item-size: 1.5rem;\n margin-inline-start: 1rem;\n padding-inline-start: var(--tblr-steps-padding);\n counter-reset: step;\n border-inline-start: 1px solid var(--tblr-border-color);\n margin-bottom: 2rem;\n}\n.steps h3, .steps .h3 {\n counter-increment: step;\n}\n.steps h3:not(:first-child), .steps .h3:not(:first-child) {\n margin-top: 2.5rem !important;\n}\n.steps h3:before, .steps .h3:before {\n content: counter(step);\n display: inline-block;\n position: absolute;\n margin-top: 1px;\n margin-inline-start: calc(-1 * var(--tblr-steps-padding) - var(--tblr-steps-item-size) / 2);\n width: var(--tblr-steps-item-size);\n height: var(--tblr-steps-item-size);\n text-align: center;\n color: var(--tblr-body-color);\n border: 1px solid var(--tblr-border-color);\n background: var(--tblr-bg-surface);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .steps h3:before, .steps .h3:before {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.steps h3:before, .steps .h3:before {\n line-height: calc(var(--tblr-steps-item-size) - 2px);\n font-size: var(--tblr-font-size-h4);\n font-weight: var(--tblr-font-weight-semibold);\n}\n.steps > :last-child {\n margin-bottom: 0;\n}\n\n.callout {\n margin-bottom: 1.5rem;\n border: 1px solid var(--tblr-primary-200);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .callout {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n.callout {\n padding: 0.5rem 1rem;\n background: var(--tblr-primary-lt);\n}\n.callout > :last-child {\n margin-bottom: 0;\n}\n\n.chart {\n display: block;\n min-height: 10rem;\n}\n.chart text {\n font-family: inherit;\n}\n\n.chart-sm {\n height: 2.5rem;\n}\n\n.chart-lg {\n height: 15rem;\n}\n\n.chart-square {\n height: 5.75rem;\n}\n\n/**\nChart sparkline\n */\n.chart-sparkline {\n position: relative;\n width: 4rem;\n height: 2.5rem;\n line-height: 1;\n min-height: 0 !important;\n}\n\n.chart-sparkline-sm {\n height: 1.5rem;\n}\n\n.chart-sparkline-square {\n width: 2.5rem;\n}\n\n.chart-sparkline-wide {\n width: 6rem;\n}\n\n.chart-sparkline-label {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n bottom: 0;\n inset-inline-start: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.625rem;\n}\n.chart-sparkline-label .icon {\n width: 1rem;\n height: 1rem;\n font-size: 1rem;\n}\n\n@media print {\n .offcanvas {\n display: none;\n }\n}\n\n.offcanvas-header {\n border-bottom: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-border-color);\n}\n\n.offcanvas-footer {\n padding: 1.5rem 1.5rem;\n}\n\n.offcanvas-title {\n font-size: 1rem;\n font-weight: var(--tblr-font-weight-medium);\n line-height: 1.5rem;\n}\n\n.offcanvas-narrow {\n width: 20rem;\n}\n\n.chat-bubbles {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.chat-bubble {\n background: var(--tblr-bg-surface-secondary);\n border-radius: var(--tblr-border-radius-lg);\n}\n@supports (corner-shape: squircle) {\n .chat-bubble {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius-lg) * 2.5) !important;\n }\n}\n.chat-bubble {\n padding: 1rem;\n position: relative;\n}\n\n.chat-bubble-me {\n background-color: var(--tblr-primary-lt);\n box-shadow: none;\n}\n\n.chat-bubble-title {\n margin-bottom: 0.25rem;\n}\n\n.chat-bubble-author {\n font-weight: 600;\n}\n\n.chat-bubble-date {\n color: var(--tblr-secondary);\n}\n\n.chat-bubble-body > *:last-child {\n margin-bottom: 0;\n}\n\n.signature {\n --tblr-signature-padding: var(--tblr-spacer-1);\n --tblr-signature-border-radius: var(--tblr-border-radius);\n border: var(--tblr-border-width) solid var(--tblr-border-color);\n padding: var(--tblr-signature-padding);\n border-radius: var(--tblr-border-radius);\n}\n@supports (corner-shape: squircle) {\n .signature {\n corner-shape: squircle;\n border-radius: calc(var(--tblr-border-radius) * 2.5) !important;\n }\n}\n\n.signature-canvas {\n border: var(--tblr-border-width) dashed var(--tblr-border-color);\n border-radius: calc(var(--tblr-signature-border-radius) - var(--tblr-signature-padding));\n}\n@supports (corner-shape: squircle) {\n .signature-canvas {\n corner-shape: squircle;\n border-radius: calc(calc(var(--tblr-signature-border-radius) - var(--tblr-signature-padding)) * 2.5) !important;\n }\n}\n.signature-canvas {\n display: block;\n cursor: crosshair;\n width: 100%;\n}\n\n.bg-pattern-diagonal {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: repeating-linear-gradient(-45deg, var(--tblr-pattern-fill) 0 1px, transparent 0 50%);\n background-clip: padding-box;\n background-size: var(--tblr-pattern-size) var(--tblr-pattern-size);\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-diagonal-2 {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: repeating-linear-gradient(45deg, var(--tblr-pattern-fill) 0 1px, transparent 0 50%);\n background-clip: padding-box;\n background-size: var(--tblr-pattern-size) var(--tblr-pattern-size);\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-dots {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: 5px;\n --tblr-pattern-dot: .5px;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 20%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: radial-gradient(circle, var(--tblr-pattern-fill) var(--tblr-pattern-dot), transparent var(--tblr-pattern-dot)), radial-gradient(circle, var(--tblr-pattern-fill) var(--tblr-pattern-dot), transparent var(--tblr-pattern-dot));\n background-position: 0 0, calc(var(--tblr-pattern-size) / 2) calc(var(--tblr-pattern-size) / 2);\n background-size: var(--tblr-pattern-size) var(--tblr-pattern-size);\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-rectangles {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 3%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-size: .5rem;\n background-image: repeating-linear-gradient(45deg, var(--tblr-pattern-fill) 25%, transparent 25%, transparent 75%, var(--tblr-pattern-fill) 75%, var(--tblr-pattern-fill)), repeating-linear-gradient(45deg, var(--tblr-pattern-fill) 25%, transparent 25%, transparent 75%, var(--tblr-pattern-fill) 75%, var(--tblr-pattern-fill));\n background-position: -1px -1px, calc(var(--tblr-pattern-size) - 1px) calc(var(--tblr-pattern-size) - 1px);\n background-size: calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2);\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-lines {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 6%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-size: .5rem;\n background-size: var(--tblr-pattern-size) var(--tblr-pattern-size);\n background-image: repeating-linear-gradient(0deg, var(--tblr-pattern-fill), var(--tblr-pattern-fill) 1px, transparent 1px, transparent);\n background-position: -1px -1px;\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-lines-vertical {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 6%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-size: .5rem;\n background-size: var(--tblr-pattern-size) var(--tblr-pattern-size);\n background-image: repeating-linear-gradient(90deg, var(--tblr-pattern-fill), var(--tblr-pattern-fill) 1px, transparent 1px, transparent);\n background-position: -1px -1px;\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-grid {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 6%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-size: .5rem;\n background-image: linear-gradient(to right, var(--tblr-pattern-fill) 1px, transparent 1px), linear-gradient(to bottom, var(--tblr-pattern-fill) 1px, transparent 1px);\n background-size: calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2);\n background-position: -1px -1px, -1px -1px;\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-grid-diagonal {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-size: .5rem;\n background-image: linear-gradient(45deg, transparent 49%, var(--tblr-pattern-fill) 49%, var(--tblr-pattern-fill) 51%, transparent 51%), linear-gradient(-45deg, transparent 49%, var(--tblr-pattern-fill) 49%, var(--tblr-pattern-fill) 51%, transparent 51%);\n background-size: calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2);\n background-position: center center;\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-blueprint {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-line: color-mix(in oklch, var(--tblr-pattern-color) 6%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: linear-gradient(var(--tblr-pattern-line) 2px, transparent 2px), linear-gradient(90deg, var(--tblr-pattern-line) 2px, transparent 2px), linear-gradient(var(--tblr-pattern-line) 1px, transparent 1px), linear-gradient(90deg, var(--tblr-pattern-line) 1px, transparent 1px);\n background-size: calc(var(--tblr-pattern-size) * 10) calc(var(--tblr-pattern-size) * 10), calc(var(--tblr-pattern-size) * 10) calc(var(--tblr-pattern-size) * 10), calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2), calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2);\n background-position: -3px -3px, -3px -3px, -2px -2px, -2px -2px;\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-cross-dots {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: radial-gradient(var(--tblr-pattern-fill) 1px, transparent 1px), radial-gradient(var(--tblr-pattern-fill) 1px, transparent 1px);\n background-size: calc(var(--tblr-pattern-size) * 2) calc(var(--tblr-pattern-size) * 2);\n background-position: 0 0, var(--tblr-pattern-size) var(--tblr-pattern-size);\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-circles {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: radial-gradient(circle at center top, transparent 9%, var(--tblr-pattern-fill) 10%, var(--tblr-pattern-fill) 15%, transparent 16%), radial-gradient(circle at center bottom, transparent 9%, var(--tblr-pattern-fill) 10%, var(--tblr-pattern-fill) 15%, transparent 16%), radial-gradient(circle at right center, transparent 9%, var(--tblr-pattern-fill) 10%, var(--tblr-pattern-fill) 15%, transparent 16%), radial-gradient(circle at left center, transparent 9%, var(--tblr-pattern-fill) 10%, var(--tblr-pattern-fill) 15%, transparent 16%);\n background-position: 0 0;\n background-size: calc(var(--tblr-pattern-size) * 3) calc(var(--tblr-pattern-size) * 3);\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-diagonal-stripes {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: repeating-linear-gradient(45deg, transparent, transparent var(--tblr-pattern-size), var(--tblr-pattern-fill) var(--tblr-pattern-size), var(--tblr-pattern-fill) calc(2 * var(--tblr-pattern-size)));\n background-repeat: no-repeat;\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-diagonal-stripes-2 {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: repeating-linear-gradient(-45deg, transparent, transparent var(--tblr-pattern-size), var(--tblr-pattern-fill) var(--tblr-pattern-size), var(--tblr-pattern-fill) calc(2 * var(--tblr-pattern-size)));\n background-repeat: no-repeat;\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-zigzag {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background: linear-gradient(135deg, var(--tblr-pattern-fill) 25%, transparent 25%) calc(-1 * var(--tblr-pattern-size)) 0, linear-gradient(225deg, var(--tblr-pattern-fill) 25%, transparent 25%) calc(-1 * var(--tblr-pattern-size)) 0, linear-gradient(315deg, var(--tblr-pattern-fill) 25%, transparent 25%), linear-gradient(45deg, var(--tblr-pattern-fill) 25%, transparent 25%);\n background-size: calc(2 * var(--tblr-pattern-size)) calc(2 * var(--tblr-pattern-size));\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-vertical-stripes {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: repeating-linear-gradient(90deg, transparent, transparent var(--tblr-pattern-size), var(--tblr-pattern-fill) var(--tblr-pattern-size), var(--tblr-pattern-fill) calc(2 * var(--tblr-pattern-size)));\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-horizontal-stripes {\n --tblr-pattern-color: var(--tblr-body-color);\n --tblr-pattern-size: .5rem;\n --tblr-pattern-fill: color-mix(in oklch, var(--tblr-pattern-color) 5%, transparent);\n --tblr-pattern-border: color-mix(in oklch, var(--tblr-pattern-color) 10%, transparent);\n background-image: repeating-linear-gradient(0deg, transparent, transparent var(--tblr-pattern-size), var(--tblr-pattern-fill) var(--tblr-pattern-size), var(--tblr-pattern-fill) calc(2 * var(--tblr-pattern-size)));\n background-position: -1px -1px;\n background-clip: padding-box;\n border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-pattern-border);\n}\n\n.bg-pattern-primary {\n --tblr-pattern-color: #066fd1;\n}\n\n.bg-pattern-secondary {\n --tblr-pattern-color: #6b7280;\n}\n\n.bg-pattern-success {\n --tblr-pattern-color: #2fb344;\n}\n\n.bg-pattern-info {\n --tblr-pattern-color: #4299e1;\n}\n\n.bg-pattern-warning {\n --tblr-pattern-color: #f59f00;\n}\n\n.bg-pattern-danger {\n --tblr-pattern-color: #d63939;\n}\n\n.bg-pattern-light {\n --tblr-pattern-color: #f9fafb;\n}\n\n.bg-pattern-dark {\n --tblr-pattern-color: #1f2937;\n}\n\n.bg-pattern-muted {\n --tblr-pattern-color: #6b7280;\n}\n\n.bg-pattern-blue {\n --tblr-pattern-color: #066fd1;\n}\n\n.bg-pattern-azure {\n --tblr-pattern-color: #4299e1;\n}\n\n.bg-pattern-indigo {\n --tblr-pattern-color: #4263eb;\n}\n\n.bg-pattern-purple {\n --tblr-pattern-color: #ae3ec9;\n}\n\n.bg-pattern-pink {\n --tblr-pattern-color: #d6336c;\n}\n\n.bg-pattern-red {\n --tblr-pattern-color: #d63939;\n}\n\n.bg-pattern-orange {\n --tblr-pattern-color: #f76707;\n}\n\n.bg-pattern-yellow {\n --tblr-pattern-color: #f59f00;\n}\n\n.bg-pattern-lime {\n --tblr-pattern-color: #74b816;\n}\n\n.bg-pattern-green {\n --tblr-pattern-color: #2fb344;\n}\n\n.bg-pattern-teal {\n --tblr-pattern-color: #0ca678;\n}\n\n.bg-pattern-cyan {\n --tblr-pattern-color: #17a2b8;\n}\n\n.bg-pattern-sm {\n --tblr-pattern-size: 0.25rem;\n}\n\n.bg-pattern-md {\n --tblr-pattern-size: 0.5rem;\n}\n\n.bg-pattern-lg {\n --tblr-pattern-size: 0.75rem;\n}\n\n.bg-pattern-xl {\n --tblr-pattern-size: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.vr {\n display: inline-block;\n align-self: stretch;\n width: var(--tblr-border-width);\n min-height: 1em;\n background-color: currentcolor;\n opacity: 11.9%;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n bottom: 0;\n inset-inline-start: 0;\n z-index: 1;\n content: \"\";\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n.visually-hidden:not(caption),\n.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n}\n.visually-hidden *,\n.visually-hidden-focusable:not(:focus):not(:focus-within) * {\n overflow: hidden !important;\n}\n\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n inset-inline-end: 0;\n inset-inline-start: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n inset-inline-end: 0;\n bottom: 0;\n inset-inline-start: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xxl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--tblr-aspect-ratio);\n content: \"\";\n}\n.ratio > * {\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --tblr-aspect-ratio: 100%;\n}\n\n.ratio-2x1 {\n --tblr-aspect-ratio: 50%;\n}\n\n.ratio-1x2 {\n --tblr-aspect-ratio: 200%;\n}\n\n.ratio-3x1 {\n --tblr-aspect-ratio: 33.3333333333%;\n}\n\n.ratio-1x3 {\n --tblr-aspect-ratio: 300%;\n}\n\n.ratio-4x1 {\n --tblr-aspect-ratio: 25%;\n}\n\n.ratio-1x4 {\n --tblr-aspect-ratio: 400%;\n}\n\n.ratio-4x3 {\n --tblr-aspect-ratio: 75%;\n}\n\n.ratio-3x4 {\n --tblr-aspect-ratio: 133.3333333333%;\n}\n\n.ratio-16x9 {\n --tblr-aspect-ratio: 56.25%;\n}\n\n.ratio-9x16 {\n --tblr-aspect-ratio: 177.7777777778%;\n}\n\n.ratio-21x9 {\n --tblr-aspect-ratio: 42.8571428571%;\n}\n\n.ratio-9x21 {\n --tblr-aspect-ratio: 233.3333333333%;\n}\n\n.focus-ring:focus {\n outline: 0;\n box-shadow: var(--tblr-focus-ring-x, 0) var(--tblr-focus-ring-y, 0) var(--tblr-focus-ring-blur, 0) var(--tblr-focus-ring-width) var(--tblr-focus-ring-color);\n}\n\n.bg-white-overlay {\n color: #ffffff;\n background-color: rgba(249, 250, 251, 0.24);\n}\n\n.bg-dark-overlay {\n color: #ffffff;\n background-color: rgba(31, 41, 55, 0.24);\n}\n\n.bg-cover {\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n}\n\n.bg-primary {\n background-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-primary-lt {\n color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-primary-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-primary {\n border-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-primary {\n --tblr-gradient-from: var(--tblr-primary);\n}\n\n.bg-gradient-to-primary {\n --tblr-gradient-to: var(--tblr-primary);\n}\n\n.bg-gradient-via-primary {\n --tblr-gradient-via: var(--tblr-primary);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-primary {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-primary-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-primary {\n color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-primary:hover, .link-primary:focus {\n color: RGBA(4.8, 88.8, 167.2, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(4.8, 88.8, 167.2, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-secondary {\n background-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-secondary-lt {\n color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-secondary-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-secondary {\n border-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-secondary {\n --tblr-gradient-from: var(--tblr-secondary);\n}\n\n.bg-gradient-to-secondary {\n --tblr-gradient-to: var(--tblr-secondary);\n}\n\n.bg-gradient-via-secondary {\n --tblr-gradient-via: var(--tblr-secondary);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-secondary {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-secondary-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-secondary {\n color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-secondary:hover, .link-secondary:focus {\n color: RGBA(85.6, 91.2, 102.4, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(85.6, 91.2, 102.4, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-success {\n background-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-success-lt {\n color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-success-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-success {\n border-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-success {\n --tblr-gradient-from: var(--tblr-success);\n}\n\n.bg-gradient-to-success {\n --tblr-gradient-to: var(--tblr-success);\n}\n\n.bg-gradient-via-success {\n --tblr-gradient-via: var(--tblr-success);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-success {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-success-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-success {\n color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-success:hover, .link-success:focus {\n color: RGBA(37.6, 143.2, 54.4, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(37.6, 143.2, 54.4, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-info {\n background-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-info-lt {\n color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-info-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-info {\n border-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-info {\n --tblr-gradient-from: var(--tblr-info);\n}\n\n.bg-gradient-to-info {\n --tblr-gradient-to: var(--tblr-info);\n}\n\n.bg-gradient-via-info {\n --tblr-gradient-via: var(--tblr-info);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-info {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-info-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-info {\n color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-info:hover, .link-info:focus {\n color: RGBA(52.8, 122.4, 180, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(52.8, 122.4, 180, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-warning {\n background-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-warning-lt {\n color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-warning-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-warning {\n border-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-warning {\n --tblr-gradient-from: var(--tblr-warning);\n}\n\n.bg-gradient-to-warning {\n --tblr-gradient-to: var(--tblr-warning);\n}\n\n.bg-gradient-via-warning {\n --tblr-gradient-via: var(--tblr-warning);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-warning {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-warning-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-warning {\n color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-warning:hover, .link-warning:focus {\n color: RGBA(196, 127.2, 0, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(196, 127.2, 0, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-danger {\n background-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-danger-lt {\n color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-danger-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-danger {\n border-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-danger {\n --tblr-gradient-from: var(--tblr-danger);\n}\n\n.bg-gradient-to-danger {\n --tblr-gradient-to: var(--tblr-danger);\n}\n\n.bg-gradient-via-danger {\n --tblr-gradient-via: var(--tblr-danger);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-danger {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-danger-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-danger {\n color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-danger:hover, .link-danger:focus {\n color: RGBA(171.2, 45.6, 45.6, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(171.2, 45.6, 45.6, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-light {\n background-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-light-lt {\n color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-light-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-light {\n border-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-light {\n --tblr-gradient-from: var(--tblr-light);\n}\n\n.bg-gradient-to-light {\n --tblr-gradient-to: var(--tblr-light);\n}\n\n.bg-gradient-via-light {\n --tblr-gradient-via: var(--tblr-light);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-light {\n color: #000000 !important;\n background-color: RGBA(var(--tblr-light-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-light {\n color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-light:hover, .link-light:focus {\n color: RGBA(250.2, 251, 251.8, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(250.2, 251, 251.8, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-dark {\n background-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-dark-lt {\n color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-dark-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-dark {\n border-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-dark {\n --tblr-gradient-from: var(--tblr-dark);\n}\n\n.bg-gradient-to-dark {\n --tblr-gradient-to: var(--tblr-dark);\n}\n\n.bg-gradient-via-dark {\n --tblr-gradient-via: var(--tblr-dark);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-dark {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-dark-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-dark {\n color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-dark:hover, .link-dark:focus {\n color: RGBA(24.8, 32.8, 44, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(24.8, 32.8, 44, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-muted {\n background-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-muted-lt {\n color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-muted-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-muted {\n border-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-muted {\n --tblr-gradient-from: var(--tblr-muted);\n}\n\n.bg-gradient-to-muted {\n --tblr-gradient-to: var(--tblr-muted);\n}\n\n.bg-gradient-via-muted {\n --tblr-gradient-via: var(--tblr-muted);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-muted {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-muted-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-muted {\n color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-muted:hover, .link-muted:focus {\n color: RGBA(85.6, 91.2, 102.4, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(85.6, 91.2, 102.4, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-blue {\n background-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-blue-lt {\n color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-blue-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-blue {\n border-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-blue {\n --tblr-gradient-from: var(--tblr-blue);\n}\n\n.bg-gradient-to-blue {\n --tblr-gradient-to: var(--tblr-blue);\n}\n\n.bg-gradient-via-blue {\n --tblr-gradient-via: var(--tblr-blue);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-blue {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-blue-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-blue {\n color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-blue:hover, .link-blue:focus {\n color: RGBA(4.8, 88.8, 167.2, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(4.8, 88.8, 167.2, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-azure {\n background-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-azure-lt {\n color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-azure-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-azure {\n border-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-azure {\n --tblr-gradient-from: var(--tblr-azure);\n}\n\n.bg-gradient-to-azure {\n --tblr-gradient-to: var(--tblr-azure);\n}\n\n.bg-gradient-via-azure {\n --tblr-gradient-via: var(--tblr-azure);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-azure {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-azure-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-azure {\n color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-azure:hover, .link-azure:focus {\n color: RGBA(52.8, 122.4, 180, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(52.8, 122.4, 180, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-indigo {\n background-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-indigo-lt {\n color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-indigo-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-indigo {\n border-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-indigo {\n --tblr-gradient-from: var(--tblr-indigo);\n}\n\n.bg-gradient-to-indigo {\n --tblr-gradient-to: var(--tblr-indigo);\n}\n\n.bg-gradient-via-indigo {\n --tblr-gradient-via: var(--tblr-indigo);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-indigo {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-indigo-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-indigo {\n color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-indigo:hover, .link-indigo:focus {\n color: RGBA(52.8, 79.2, 188, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(52.8, 79.2, 188, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-purple {\n background-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-purple-lt {\n color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-purple-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-purple {\n border-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-purple {\n --tblr-gradient-from: var(--tblr-purple);\n}\n\n.bg-gradient-to-purple {\n --tblr-gradient-to: var(--tblr-purple);\n}\n\n.bg-gradient-via-purple {\n --tblr-gradient-via: var(--tblr-purple);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-purple {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-purple-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-purple {\n color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-purple:hover, .link-purple:focus {\n color: RGBA(139.2, 49.6, 160.8, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(139.2, 49.6, 160.8, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-pink {\n background-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-pink-lt {\n color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-pink-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-pink {\n border-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-pink {\n --tblr-gradient-from: var(--tblr-pink);\n}\n\n.bg-gradient-to-pink {\n --tblr-gradient-to: var(--tblr-pink);\n}\n\n.bg-gradient-via-pink {\n --tblr-gradient-via: var(--tblr-pink);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-pink {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-pink-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-pink {\n color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-pink:hover, .link-pink:focus {\n color: RGBA(171.2, 40.8, 86.4, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(171.2, 40.8, 86.4, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-red {\n background-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-red-lt {\n color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-red-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-red {\n border-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-red {\n --tblr-gradient-from: var(--tblr-red);\n}\n\n.bg-gradient-to-red {\n --tblr-gradient-to: var(--tblr-red);\n}\n\n.bg-gradient-via-red {\n --tblr-gradient-via: var(--tblr-red);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-red {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-red-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-red {\n color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-red:hover, .link-red:focus {\n color: RGBA(171.2, 45.6, 45.6, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(171.2, 45.6, 45.6, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-orange {\n background-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-orange-lt {\n color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-orange-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-orange {\n border-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-orange {\n --tblr-gradient-from: var(--tblr-orange);\n}\n\n.bg-gradient-to-orange {\n --tblr-gradient-to: var(--tblr-orange);\n}\n\n.bg-gradient-via-orange {\n --tblr-gradient-via: var(--tblr-orange);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-orange {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-orange-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-orange {\n color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-orange:hover, .link-orange:focus {\n color: RGBA(197.6, 82.4, 5.6, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(197.6, 82.4, 5.6, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-yellow {\n background-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-yellow-lt {\n color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-yellow-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-yellow {\n border-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-yellow {\n --tblr-gradient-from: var(--tblr-yellow);\n}\n\n.bg-gradient-to-yellow {\n --tblr-gradient-to: var(--tblr-yellow);\n}\n\n.bg-gradient-via-yellow {\n --tblr-gradient-via: var(--tblr-yellow);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-yellow {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-yellow-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-yellow {\n color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-yellow:hover, .link-yellow:focus {\n color: RGBA(196, 127.2, 0, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(196, 127.2, 0, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-lime {\n background-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-lime-lt {\n color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-lime-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-lime {\n border-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-lime {\n --tblr-gradient-from: var(--tblr-lime);\n}\n\n.bg-gradient-to-lime {\n --tblr-gradient-to: var(--tblr-lime);\n}\n\n.bg-gradient-via-lime {\n --tblr-gradient-via: var(--tblr-lime);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-lime {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-lime-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-lime {\n color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-lime:hover, .link-lime:focus {\n color: RGBA(92.8, 147.2, 17.6, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(92.8, 147.2, 17.6, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-green {\n background-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-green-lt {\n color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-green-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-green {\n border-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-green {\n --tblr-gradient-from: var(--tblr-green);\n}\n\n.bg-gradient-to-green {\n --tblr-gradient-to: var(--tblr-green);\n}\n\n.bg-gradient-via-green {\n --tblr-gradient-via: var(--tblr-green);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-green {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-green-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-green {\n color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-green:hover, .link-green:focus {\n color: RGBA(37.6, 143.2, 54.4, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(37.6, 143.2, 54.4, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-teal {\n background-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-teal-lt {\n color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-teal-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-teal {\n border-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-teal {\n --tblr-gradient-from: var(--tblr-teal);\n}\n\n.bg-gradient-to-teal {\n --tblr-gradient-to: var(--tblr-teal);\n}\n\n.bg-gradient-via-teal {\n --tblr-gradient-via: var(--tblr-teal);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-teal {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-teal-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-teal {\n color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-teal:hover, .link-teal:focus {\n color: RGBA(9.6, 132.8, 96, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(9.6, 132.8, 96, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-cyan {\n background-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-cyan-lt {\n color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-cyan-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-cyan {\n border-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-cyan {\n --tblr-gradient-from: var(--tblr-cyan);\n}\n\n.bg-gradient-to-cyan {\n --tblr-gradient-to: var(--tblr-cyan);\n}\n\n.bg-gradient-via-cyan {\n --tblr-gradient-via: var(--tblr-cyan);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-cyan {\n color: #ffffff !important;\n background-color: RGBA(var(--tblr-cyan-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-cyan {\n color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-cyan:hover, .link-cyan:focus {\n color: RGBA(18.4, 129.6, 147.2, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(18.4, 129.6, 147.2, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.bg-white {\n background-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-white-lt {\n color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-text-opacity, 1) * 100%), transparent) !important;\n background-color: color-mix(in srgb, var(--tblr-white-lt) calc(var(--tblr-bg-opacity, 1) * 100%), transparent) !important;\n}\n\n.border-white {\n border-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-border-opacity, 1) * 100%), transparent) !important;\n}\n\n.bg-gradient-from-white {\n --tblr-gradient-from: var(--tblr-white);\n}\n\n.bg-gradient-to-white {\n --tblr-gradient-to: var(--tblr-white);\n}\n\n.bg-gradient-via-white {\n --tblr-gradient-via: var(--tblr-white);\n --tblr-gradient-stops: var(--tblr-gradient-from, transparent), var(--tblr-gradient-via, transparent), var(--tblr-gradient-to, transparent);\n}\n\n.text-bg-white {\n color: #000000 !important;\n background-color: RGBA(var(--tblr-white-rgb), var(--tblr-bg-opacity, 1)) !important;\n}\n\n.link-white {\n color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-link-opacity, 1) * 100%), transparent) !important;\n text-decoration-color: color-mix(in srgb, var(--tblr-white) calc(var(--tblr-link-underline-opacity, 1) * 100%), transparent) !important;\n}\n.link-white:hover, .link-white:focus {\n color: RGBA(255, 255, 255, var(--tblr-link-opacity, 1)) !important;\n text-decoration-color: RGBA(255, 255, 255, var(--tblr-link-underline-opacity, 1)) !important;\n}\n\n.text-primary {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-primary) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-primary-fg {\n color: var(--tblr-primary-fg) !important;\n}\n\n.text-secondary {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-secondary) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-secondary-fg {\n color: var(--tblr-secondary-fg) !important;\n}\n\n.text-success {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-success) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-success-fg {\n color: var(--tblr-success-fg) !important;\n}\n\n.text-info {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-info) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-info-fg {\n color: var(--tblr-info-fg) !important;\n}\n\n.text-warning {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-warning) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-warning-fg {\n color: var(--tblr-warning-fg) !important;\n}\n\n.text-danger {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-danger) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-danger-fg {\n color: var(--tblr-danger-fg) !important;\n}\n\n.text-light {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-light) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-light-fg {\n color: var(--tblr-light-fg) !important;\n}\n\n.text-dark {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-dark) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-dark-fg {\n color: var(--tblr-dark-fg) !important;\n}\n\n.text-muted {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-muted) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-muted-fg {\n color: var(--tblr-muted-fg) !important;\n}\n\n.text-blue {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-blue) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-blue-fg {\n color: var(--tblr-blue-fg) !important;\n}\n\n.text-azure {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-azure) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-azure-fg {\n color: var(--tblr-azure-fg) !important;\n}\n\n.text-indigo {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-indigo) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-indigo-fg {\n color: var(--tblr-indigo-fg) !important;\n}\n\n.text-purple {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-purple) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-purple-fg {\n color: var(--tblr-purple-fg) !important;\n}\n\n.text-pink {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-pink) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-pink-fg {\n color: var(--tblr-pink-fg) !important;\n}\n\n.text-red {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-red) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-red-fg {\n color: var(--tblr-red-fg) !important;\n}\n\n.text-orange {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-orange) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-orange-fg {\n color: var(--tblr-orange-fg) !important;\n}\n\n.text-yellow {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-yellow) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-yellow-fg {\n color: var(--tblr-yellow-fg) !important;\n}\n\n.text-lime {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-lime) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-lime-fg {\n color: var(--tblr-lime-fg) !important;\n}\n\n.text-green {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-green) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-green-fg {\n color: var(--tblr-green-fg) !important;\n}\n\n.text-teal {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-teal) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-teal-fg {\n color: var(--tblr-teal-fg) !important;\n}\n\n.text-cyan {\n --tblr-text-opacity: 1;\n color: color-mix(in srgb, var(--tblr-cyan) calc(var(--tblr-text-opacity) * 100%), transparent) !important;\n}\n\n.text-cyan-fg {\n color: var(--tblr-cyan-fg) !important;\n}\n\n.bg-gray-50 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-50) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-50-fg {\n color: var(--tblr-gray-50-fg) !important;\n}\n\n.bg-gray-100 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-100) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-100-fg {\n color: var(--tblr-gray-100-fg) !important;\n}\n\n.bg-gray-200 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-200) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-200-fg {\n color: var(--tblr-gray-200-fg) !important;\n}\n\n.bg-gray-300 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-300) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-300-fg {\n color: var(--tblr-gray-300-fg) !important;\n}\n\n.bg-gray-400 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-400) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-400-fg {\n color: var(--tblr-gray-400-fg) !important;\n}\n\n.bg-gray-500 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-500) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-500-fg {\n color: var(--tblr-gray-500-fg) !important;\n}\n\n.bg-gray-600 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-600) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-600-fg {\n color: var(--tblr-gray-600-fg) !important;\n}\n\n.bg-gray-700 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-700) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-700-fg {\n color: var(--tblr-gray-700-fg) !important;\n}\n\n.bg-gray-800 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-800) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-800-fg {\n color: var(--tblr-gray-800-fg) !important;\n}\n\n.bg-gray-900 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-900) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-900-fg {\n color: var(--tblr-gray-900-fg) !important;\n}\n\n.bg-gray-950 {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-gray-950) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-gray-950-fg {\n color: var(--tblr-gray-950-fg) !important;\n}\n\n.bg-x {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-x) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-x-fg {\n color: var(--tblr-x-fg) !important;\n}\n\n.bg-facebook {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-facebook) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-facebook-fg {\n color: var(--tblr-facebook-fg) !important;\n}\n\n.bg-twitter {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-twitter) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-twitter-fg {\n color: var(--tblr-twitter-fg) !important;\n}\n\n.bg-linkedin {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-linkedin) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-linkedin-fg {\n color: var(--tblr-linkedin-fg) !important;\n}\n\n.bg-google {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-google) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-google-fg {\n color: var(--tblr-google-fg) !important;\n}\n\n.bg-youtube {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-youtube) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-youtube-fg {\n color: var(--tblr-youtube-fg) !important;\n}\n\n.bg-vimeo {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-vimeo) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-vimeo-fg {\n color: var(--tblr-vimeo-fg) !important;\n}\n\n.bg-dribbble {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-dribbble) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-dribbble-fg {\n color: var(--tblr-dribbble-fg) !important;\n}\n\n.bg-github {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-github) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-github-fg {\n color: var(--tblr-github-fg) !important;\n}\n\n.bg-instagram {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-instagram) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-instagram-fg {\n color: var(--tblr-instagram-fg) !important;\n}\n\n.bg-pinterest {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-pinterest) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-pinterest-fg {\n color: var(--tblr-pinterest-fg) !important;\n}\n\n.bg-vk {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-vk) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-vk-fg {\n color: var(--tblr-vk-fg) !important;\n}\n\n.bg-rss {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-rss) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-rss-fg {\n color: var(--tblr-rss-fg) !important;\n}\n\n.bg-flickr {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-flickr) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-flickr-fg {\n color: var(--tblr-flickr-fg) !important;\n}\n\n.bg-bitbucket {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-bitbucket) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-bitbucket-fg {\n color: var(--tblr-bitbucket-fg) !important;\n}\n\n.bg-tabler {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-tabler) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.text-tabler-fg {\n color: var(--tblr-tabler-fg) !important;\n}\n\n.bg-inverted {\n --tblr-bg-opacity: 1;\n background-color: color-mix(in srgb, var(--tblr-bg-surface-inverted) calc(var(--tblr-bg-opacity) * 100%), transparent) !important;\n}\n\n.bg-surface {\n background-color: var(--tblr-bg-surface) !important;\n}\n\n.bg-surface-secondary {\n background-color: var(--tblr-bg-surface-secondary) !important;\n}\n\n.bg-surface-tertiary {\n background-color: var(--tblr-bg-surface-tertiary) !important;\n}\n\n.bg-surface-backdrop {\n background-color: color-mix(in srgb, light-dark(var(--tblr-gray-800), var(--tblr-black)) 32%, transparent) !important;\n}\n\n/*\nScrollable\n*/\n.scrollable {\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n.scrollable.hover {\n overflow-y: hidden;\n}\n.scrollable.hover > * {\n margin-top: -1px;\n}\n.scrollable.hover:hover, .scrollable.hover:focus, .scrollable.hover:active {\n overflow: visible;\n overflow-y: auto;\n}\n.touch .scrollable {\n overflow-y: auto !important;\n}\n\n.scroll-x,\n.scroll-y {\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n}\n\n.scroll-y {\n overflow-y: auto;\n}\n\n.scroll-x {\n overflow-x: auto;\n}\n\n.no-scroll {\n overflow: hidden;\n}\n\n.w-0 {\n width: 0 !important;\n}\n\n.h-0 {\n height: 0 !important;\n}\n\n.w-1 {\n width: 0.25rem !important;\n}\n\n.h-1 {\n height: 0.25rem !important;\n}\n\n.w-2 {\n width: 0.5rem !important;\n}\n\n.h-2 {\n height: 0.5rem !important;\n}\n\n.w-3 {\n width: 1rem !important;\n}\n\n.h-3 {\n height: 1rem !important;\n}\n\n.w-4 {\n width: 1.5rem !important;\n}\n\n.h-4 {\n height: 1.5rem !important;\n}\n\n.w-5 {\n width: 2rem !important;\n}\n\n.h-5 {\n height: 2rem !important;\n}\n\n.w-6 {\n width: 2.5rem !important;\n}\n\n.h-6 {\n height: 2.5rem !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.w-px {\n width: 1px !important;\n}\n\n.h-px {\n height: 1px !important;\n}\n\n.w-full {\n width: 100% !important;\n}\n\n.h-full {\n height: 100% !important;\n}\n\n.opacity-0 {\n opacity: calc(0 / 100) !important;\n}\n\n.opacity-5 {\n opacity: calc(5 / 100) !important;\n}\n\n.opacity-10 {\n opacity: calc(10 / 100) !important;\n}\n\n.opacity-15 {\n opacity: calc(15 / 100) !important;\n}\n\n.opacity-20 {\n opacity: calc(20 / 100) !important;\n}\n\n.opacity-25 {\n opacity: calc(25 / 100) !important;\n}\n\n.opacity-30 {\n opacity: calc(30 / 100) !important;\n}\n\n.opacity-35 {\n opacity: calc(35 / 100) !important;\n}\n\n.opacity-40 {\n opacity: calc(40 / 100) !important;\n}\n\n.opacity-45 {\n opacity: calc(45 / 100) !important;\n}\n\n.opacity-50 {\n opacity: calc(50 / 100) !important;\n}\n\n.opacity-55 {\n opacity: calc(55 / 100) !important;\n}\n\n.opacity-60 {\n opacity: calc(60 / 100) !important;\n}\n\n.opacity-65 {\n opacity: calc(65 / 100) !important;\n}\n\n.opacity-70 {\n opacity: calc(70 / 100) !important;\n}\n\n.opacity-75 {\n opacity: calc(75 / 100) !important;\n}\n\n.opacity-80 {\n opacity: calc(80 / 100) !important;\n}\n\n.opacity-85 {\n opacity: calc(85 / 100) !important;\n}\n\n.opacity-90 {\n opacity: calc(90 / 100) !important;\n}\n\n.opacity-95 {\n opacity: calc(95 / 100) !important;\n}\n\n.opacity-100 {\n opacity: calc(100 / 100) !important;\n}\n\n.hover-shadow-sm:hover {\n box-shadow: 0 1px 3px 0 rgba(18, 18, 23, 0.1), 0 1px 2px 0 rgba(18, 18, 23, 0.06) !important;\n}\n\n.hover-shadow:hover {\n box-shadow: 0px 2px 4px -1px rgba(18, 18, 23, 0.06), 0px 4px 6px -1px rgba(18, 18, 23, 0.08) !important;\n}\n\n.hover-shadow-lg:hover {\n box-shadow: 0px 4px 6px -2px rgba(18, 18, 23, 0.05), 0px 10px 15px -3px rgba(18, 18, 23, 0.08) !important;\n}\n\n.hover-shadow-none:hover {\n box-shadow: none !important;\n}\n\n/**\nAntialiasing\n */\n.antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.subpixel-antialiased {\n -webkit-font-smoothing: auto;\n -moz-osx-font-smoothing: auto;\n}\n\n.hover-rotate-start, .hover-rotate-end, .hover-scale, .hover-elevate-down, .hover-elevate-up {\n transition: transform 0.3s ease;\n}\n.hover-rotate-start:hover, .hover-rotate-end:hover, .hover-scale:hover, .hover-elevate-down:hover, .hover-elevate-up:hover {\n will-change: transform;\n}\n\n.hover-elevate-up:hover {\n transform: translateY(-4px);\n}\n\n.hover-elevate-down:hover {\n transform: translateY(4px);\n}\n\n.hover-scale:hover {\n transform: scale(1.1);\n}\n\n.hover-rotate-end:hover {\n transform: rotate(4deg);\n}\n\n.hover-rotate-start:hover {\n transform: rotate(-4deg);\n}\n"]} \ No newline at end of file diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Black.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-Black.ttf new file mode 100644 index 0000000..bcbc433 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Black.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Black.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-Black.woff2 new file mode 100644 index 0000000..2f37083 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Black.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Bold.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-Bold.ttf new file mode 100644 index 0000000..66bbef3 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Bold.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Bold.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-Bold.woff2 new file mode 100644 index 0000000..bdfdd80 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Bold.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Light.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-Light.ttf new file mode 100644 index 0000000..558ae8e Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Light.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Light.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-Light.woff2 new file mode 100644 index 0000000..a0484ad Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Light.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Medium.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-Medium.ttf new file mode 100644 index 0000000..e35a96e Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Medium.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Medium.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-Medium.woff2 new file mode 100644 index 0000000..b009343 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Medium.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Regular.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-Regular.ttf new file mode 100644 index 0000000..18f4acb Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Regular.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Regular.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-Regular.woff2 new file mode 100644 index 0000000..2db5c17 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Regular.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-SemiBold.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-SemiBold.ttf new file mode 100644 index 0000000..9359fc4 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-SemiBold.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-SemiBold.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-SemiBold.woff2 new file mode 100644 index 0000000..68b5488 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-SemiBold.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Thin.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-Thin.ttf new file mode 100644 index 0000000..1a9a7f3 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Thin.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Thin.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-Thin.woff2 new file mode 100644 index 0000000..6322d94 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Thin.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-UltraBlack.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-UltraBlack.ttf new file mode 100644 index 0000000..1242c25 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-UltraBlack.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-UltraBlack.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-UltraBlack.woff2 new file mode 100644 index 0000000..a307f49 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-UltraBlack.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-UltraLight.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-UltraLight.ttf new file mode 100644 index 0000000..d9a26d0 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-UltraLight.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-UltraLight.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-UltraLight.woff2 new file mode 100644 index 0000000..3c59f41 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-UltraLight.woff2 differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Variable.ttf b/storage/public/dist/fonts/geist-mono/GeistMono-Variable.ttf new file mode 100644 index 0000000..4a2553b Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Variable.ttf differ diff --git a/storage/public/dist/fonts/geist-mono/GeistMono-Variable.woff2 b/storage/public/dist/fonts/geist-mono/GeistMono-Variable.woff2 new file mode 100644 index 0000000..4692e48 Binary files /dev/null and b/storage/public/dist/fonts/geist-mono/GeistMono-Variable.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Black.ttf b/storage/public/dist/fonts/geist-sans/Geist-Black.ttf new file mode 100644 index 0000000..7f9021f Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Black.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Black.woff2 b/storage/public/dist/fonts/geist-sans/Geist-Black.woff2 new file mode 100644 index 0000000..d3385da Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Black.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Bold.ttf b/storage/public/dist/fonts/geist-sans/Geist-Bold.ttf new file mode 100644 index 0000000..fd1c67c Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Bold.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Bold.woff2 b/storage/public/dist/fonts/geist-sans/Geist-Bold.woff2 new file mode 100644 index 0000000..0132bc6 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Bold.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Light.ttf b/storage/public/dist/fonts/geist-sans/Geist-Light.ttf new file mode 100644 index 0000000..8182af1 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Light.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Light.woff2 b/storage/public/dist/fonts/geist-sans/Geist-Light.woff2 new file mode 100644 index 0000000..38e0304 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Light.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Medium.ttf b/storage/public/dist/fonts/geist-sans/Geist-Medium.ttf new file mode 100644 index 0000000..23146cf Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Medium.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Medium.woff2 b/storage/public/dist/fonts/geist-sans/Geist-Medium.woff2 new file mode 100644 index 0000000..66c8ab4 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Medium.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Regular.ttf b/storage/public/dist/fonts/geist-sans/Geist-Regular.ttf new file mode 100644 index 0000000..07f9e4f Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Regular.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Regular.woff2 b/storage/public/dist/fonts/geist-sans/Geist-Regular.woff2 new file mode 100644 index 0000000..dda2a42 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Regular.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-SemiBold.ttf b/storage/public/dist/fonts/geist-sans/Geist-SemiBold.ttf new file mode 100644 index 0000000..c72c4b5 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-SemiBold.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-SemiBold.woff2 b/storage/public/dist/fonts/geist-sans/Geist-SemiBold.woff2 new file mode 100644 index 0000000..af8f686 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-SemiBold.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Thin.ttf b/storage/public/dist/fonts/geist-sans/Geist-Thin.ttf new file mode 100644 index 0000000..84c4816 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Thin.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Thin.woff2 b/storage/public/dist/fonts/geist-sans/Geist-Thin.woff2 new file mode 100644 index 0000000..f52087b Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Thin.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-UltraBlack.ttf b/storage/public/dist/fonts/geist-sans/Geist-UltraBlack.ttf new file mode 100644 index 0000000..61b864b Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-UltraBlack.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-UltraBlack.woff2 b/storage/public/dist/fonts/geist-sans/Geist-UltraBlack.woff2 new file mode 100644 index 0000000..f539b93 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-UltraBlack.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-UltraLight.ttf b/storage/public/dist/fonts/geist-sans/Geist-UltraLight.ttf new file mode 100644 index 0000000..42ea988 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-UltraLight.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-UltraLight.woff2 b/storage/public/dist/fonts/geist-sans/Geist-UltraLight.woff2 new file mode 100644 index 0000000..bbfc21d Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-UltraLight.woff2 differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Variable.ttf b/storage/public/dist/fonts/geist-sans/Geist-Variable.ttf new file mode 100644 index 0000000..341dfd6 Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Variable.ttf differ diff --git a/storage/public/dist/fonts/geist-sans/Geist-Variable.woff2 b/storage/public/dist/fonts/geist-sans/Geist-Variable.woff2 new file mode 100644 index 0000000..d1a0cbc Binary files /dev/null and b/storage/public/dist/fonts/geist-sans/Geist-Variable.woff2 differ diff --git a/storage/public/dist/img/flags/ad.svg b/storage/public/dist/img/flags/ad.svg new file mode 100644 index 0000000..7c1ddd5 --- /dev/null +++ b/storage/public/dist/img/flags/ad.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ae.svg b/storage/public/dist/img/flags/ae.svg new file mode 100644 index 0000000..27522b6 --- /dev/null +++ b/storage/public/dist/img/flags/ae.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/af.svg b/storage/public/dist/img/flags/af.svg new file mode 100644 index 0000000..7a92e09 --- /dev/null +++ b/storage/public/dist/img/flags/af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/afrun.svg b/storage/public/dist/img/flags/afrun.svg new file mode 100644 index 0000000..a06429d --- /dev/null +++ b/storage/public/dist/img/flags/afrun.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ag.svg b/storage/public/dist/img/flags/ag.svg new file mode 100644 index 0000000..f21ccaa --- /dev/null +++ b/storage/public/dist/img/flags/ag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ai.svg b/storage/public/dist/img/flags/ai.svg new file mode 100644 index 0000000..b3b05fa --- /dev/null +++ b/storage/public/dist/img/flags/ai.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/al.svg b/storage/public/dist/img/flags/al.svg new file mode 100644 index 0000000..0ca81b2 --- /dev/null +++ b/storage/public/dist/img/flags/al.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/am.svg b/storage/public/dist/img/flags/am.svg new file mode 100644 index 0000000..3f51f3b --- /dev/null +++ b/storage/public/dist/img/flags/am.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ao.svg b/storage/public/dist/img/flags/ao.svg new file mode 100644 index 0000000..5ea5b8c --- /dev/null +++ b/storage/public/dist/img/flags/ao.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/aq.svg b/storage/public/dist/img/flags/aq.svg new file mode 100644 index 0000000..007014c --- /dev/null +++ b/storage/public/dist/img/flags/aq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ar.svg b/storage/public/dist/img/flags/ar.svg new file mode 100644 index 0000000..91fd50e --- /dev/null +++ b/storage/public/dist/img/flags/ar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/as.svg b/storage/public/dist/img/flags/as.svg new file mode 100644 index 0000000..5e84cbe --- /dev/null +++ b/storage/public/dist/img/flags/as.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/at.svg b/storage/public/dist/img/flags/at.svg new file mode 100644 index 0000000..1b0a74c --- /dev/null +++ b/storage/public/dist/img/flags/at.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/au.svg b/storage/public/dist/img/flags/au.svg new file mode 100644 index 0000000..5fde1e1 --- /dev/null +++ b/storage/public/dist/img/flags/au.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/aw.svg b/storage/public/dist/img/flags/aw.svg new file mode 100644 index 0000000..487f076 --- /dev/null +++ b/storage/public/dist/img/flags/aw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ax.svg b/storage/public/dist/img/flags/ax.svg new file mode 100644 index 0000000..5106cd7 --- /dev/null +++ b/storage/public/dist/img/flags/ax.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/az.svg b/storage/public/dist/img/flags/az.svg new file mode 100644 index 0000000..0146afe --- /dev/null +++ b/storage/public/dist/img/flags/az.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ba.svg b/storage/public/dist/img/flags/ba.svg new file mode 100644 index 0000000..00e7ffe --- /dev/null +++ b/storage/public/dist/img/flags/ba.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bb.svg b/storage/public/dist/img/flags/bb.svg new file mode 100644 index 0000000..a040f82 --- /dev/null +++ b/storage/public/dist/img/flags/bb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bd.svg b/storage/public/dist/img/flags/bd.svg new file mode 100644 index 0000000..18c306c --- /dev/null +++ b/storage/public/dist/img/flags/bd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/be.svg b/storage/public/dist/img/flags/be.svg new file mode 100644 index 0000000..d75b999 --- /dev/null +++ b/storage/public/dist/img/flags/be.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bf.svg b/storage/public/dist/img/flags/bf.svg new file mode 100644 index 0000000..1416a0f --- /dev/null +++ b/storage/public/dist/img/flags/bf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bg.svg b/storage/public/dist/img/flags/bg.svg new file mode 100644 index 0000000..0225570 --- /dev/null +++ b/storage/public/dist/img/flags/bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bh.svg b/storage/public/dist/img/flags/bh.svg new file mode 100644 index 0000000..7c11b73 --- /dev/null +++ b/storage/public/dist/img/flags/bh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bi.svg b/storage/public/dist/img/flags/bi.svg new file mode 100644 index 0000000..2ca6bb4 --- /dev/null +++ b/storage/public/dist/img/flags/bi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bj.svg b/storage/public/dist/img/flags/bj.svg new file mode 100644 index 0000000..8b401d4 --- /dev/null +++ b/storage/public/dist/img/flags/bj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bl.svg b/storage/public/dist/img/flags/bl.svg new file mode 100644 index 0000000..6881b7c --- /dev/null +++ b/storage/public/dist/img/flags/bl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bm.svg b/storage/public/dist/img/flags/bm.svg new file mode 100644 index 0000000..0b6b5fe --- /dev/null +++ b/storage/public/dist/img/flags/bm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bn.svg b/storage/public/dist/img/flags/bn.svg new file mode 100644 index 0000000..759193b --- /dev/null +++ b/storage/public/dist/img/flags/bn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bo.svg b/storage/public/dist/img/flags/bo.svg new file mode 100644 index 0000000..8b86bc3 --- /dev/null +++ b/storage/public/dist/img/flags/bo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bq-bo.svg b/storage/public/dist/img/flags/bq-bo.svg new file mode 100644 index 0000000..5133ed0 --- /dev/null +++ b/storage/public/dist/img/flags/bq-bo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bq-sa.svg b/storage/public/dist/img/flags/bq-sa.svg new file mode 100644 index 0000000..4820e08 --- /dev/null +++ b/storage/public/dist/img/flags/bq-sa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bq-se.svg b/storage/public/dist/img/flags/bq-se.svg new file mode 100644 index 0000000..6d6a8f3 --- /dev/null +++ b/storage/public/dist/img/flags/bq-se.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/br.svg b/storage/public/dist/img/flags/br.svg new file mode 100644 index 0000000..d0b4597 --- /dev/null +++ b/storage/public/dist/img/flags/br.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bs.svg b/storage/public/dist/img/flags/bs.svg new file mode 100644 index 0000000..3040c9e --- /dev/null +++ b/storage/public/dist/img/flags/bs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bt.svg b/storage/public/dist/img/flags/bt.svg new file mode 100644 index 0000000..5597c66 --- /dev/null +++ b/storage/public/dist/img/flags/bt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bv.svg b/storage/public/dist/img/flags/bv.svg new file mode 100644 index 0000000..6d4faf9 --- /dev/null +++ b/storage/public/dist/img/flags/bv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bw.svg b/storage/public/dist/img/flags/bw.svg new file mode 100644 index 0000000..14c7fda --- /dev/null +++ b/storage/public/dist/img/flags/bw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/by.svg b/storage/public/dist/img/flags/by.svg new file mode 100644 index 0000000..9185d24 --- /dev/null +++ b/storage/public/dist/img/flags/by.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/bz.svg b/storage/public/dist/img/flags/bz.svg new file mode 100644 index 0000000..78710e2 --- /dev/null +++ b/storage/public/dist/img/flags/bz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ca.svg b/storage/public/dist/img/flags/ca.svg new file mode 100644 index 0000000..d7a2e11 --- /dev/null +++ b/storage/public/dist/img/flags/ca.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cc.svg b/storage/public/dist/img/flags/cc.svg new file mode 100644 index 0000000..81acff5 --- /dev/null +++ b/storage/public/dist/img/flags/cc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cd.svg b/storage/public/dist/img/flags/cd.svg new file mode 100644 index 0000000..6852016 --- /dev/null +++ b/storage/public/dist/img/flags/cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cf.svg b/storage/public/dist/img/flags/cf.svg new file mode 100644 index 0000000..f2af88b --- /dev/null +++ b/storage/public/dist/img/flags/cf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cg.svg b/storage/public/dist/img/flags/cg.svg new file mode 100644 index 0000000..437b393 --- /dev/null +++ b/storage/public/dist/img/flags/cg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ch.svg b/storage/public/dist/img/flags/ch.svg new file mode 100644 index 0000000..269bed5 --- /dev/null +++ b/storage/public/dist/img/flags/ch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ci.svg b/storage/public/dist/img/flags/ci.svg new file mode 100644 index 0000000..c19bdfc --- /dev/null +++ b/storage/public/dist/img/flags/ci.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ck.svg b/storage/public/dist/img/flags/ck.svg new file mode 100644 index 0000000..80504f5 --- /dev/null +++ b/storage/public/dist/img/flags/ck.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cl.svg b/storage/public/dist/img/flags/cl.svg new file mode 100644 index 0000000..4cce97c --- /dev/null +++ b/storage/public/dist/img/flags/cl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cm.svg b/storage/public/dist/img/flags/cm.svg new file mode 100644 index 0000000..94cdc2a --- /dev/null +++ b/storage/public/dist/img/flags/cm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cn.svg b/storage/public/dist/img/flags/cn.svg new file mode 100644 index 0000000..6948df7 --- /dev/null +++ b/storage/public/dist/img/flags/cn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/co.svg b/storage/public/dist/img/flags/co.svg new file mode 100644 index 0000000..f46bb73 --- /dev/null +++ b/storage/public/dist/img/flags/co.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cr.svg b/storage/public/dist/img/flags/cr.svg new file mode 100644 index 0000000..80ec0ad --- /dev/null +++ b/storage/public/dist/img/flags/cr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cu.svg b/storage/public/dist/img/flags/cu.svg new file mode 100644 index 0000000..25e7551 --- /dev/null +++ b/storage/public/dist/img/flags/cu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cv.svg b/storage/public/dist/img/flags/cv.svg new file mode 100644 index 0000000..45c39ad --- /dev/null +++ b/storage/public/dist/img/flags/cv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cw.svg b/storage/public/dist/img/flags/cw.svg new file mode 100644 index 0000000..9c9a173 --- /dev/null +++ b/storage/public/dist/img/flags/cw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cx.svg b/storage/public/dist/img/flags/cx.svg new file mode 100644 index 0000000..5506a42 --- /dev/null +++ b/storage/public/dist/img/flags/cx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cy.svg b/storage/public/dist/img/flags/cy.svg new file mode 100644 index 0000000..1216d72 --- /dev/null +++ b/storage/public/dist/img/flags/cy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/cz.svg b/storage/public/dist/img/flags/cz.svg new file mode 100644 index 0000000..7af9050 --- /dev/null +++ b/storage/public/dist/img/flags/cz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/de.svg b/storage/public/dist/img/flags/de.svg new file mode 100644 index 0000000..52c3eed --- /dev/null +++ b/storage/public/dist/img/flags/de.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/dj.svg b/storage/public/dist/img/flags/dj.svg new file mode 100644 index 0000000..c220f37 --- /dev/null +++ b/storage/public/dist/img/flags/dj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/dk.svg b/storage/public/dist/img/flags/dk.svg new file mode 100644 index 0000000..0f8da4c --- /dev/null +++ b/storage/public/dist/img/flags/dk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/dm.svg b/storage/public/dist/img/flags/dm.svg new file mode 100644 index 0000000..ffb6ec5 --- /dev/null +++ b/storage/public/dist/img/flags/dm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/do.svg b/storage/public/dist/img/flags/do.svg new file mode 100644 index 0000000..dff0276 --- /dev/null +++ b/storage/public/dist/img/flags/do.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/dz.svg b/storage/public/dist/img/flags/dz.svg new file mode 100644 index 0000000..a739267 --- /dev/null +++ b/storage/public/dist/img/flags/dz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ec.svg b/storage/public/dist/img/flags/ec.svg new file mode 100644 index 0000000..8473f72 --- /dev/null +++ b/storage/public/dist/img/flags/ec.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ee.svg b/storage/public/dist/img/flags/ee.svg new file mode 100644 index 0000000..511d5df --- /dev/null +++ b/storage/public/dist/img/flags/ee.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/eg.svg b/storage/public/dist/img/flags/eg.svg new file mode 100644 index 0000000..bcddb32 --- /dev/null +++ b/storage/public/dist/img/flags/eg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/eh.svg b/storage/public/dist/img/flags/eh.svg new file mode 100644 index 0000000..2cdf9de --- /dev/null +++ b/storage/public/dist/img/flags/eh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/er.svg b/storage/public/dist/img/flags/er.svg new file mode 100644 index 0000000..52fb4d0 --- /dev/null +++ b/storage/public/dist/img/flags/er.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/es.svg b/storage/public/dist/img/flags/es.svg new file mode 100644 index 0000000..b893aee --- /dev/null +++ b/storage/public/dist/img/flags/es.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/et.svg b/storage/public/dist/img/flags/et.svg new file mode 100644 index 0000000..5eb0c7e --- /dev/null +++ b/storage/public/dist/img/flags/et.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/eu.svg b/storage/public/dist/img/flags/eu.svg new file mode 100644 index 0000000..b5eaf00 --- /dev/null +++ b/storage/public/dist/img/flags/eu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/fi.svg b/storage/public/dist/img/flags/fi.svg new file mode 100644 index 0000000..14619f0 --- /dev/null +++ b/storage/public/dist/img/flags/fi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/fj.svg b/storage/public/dist/img/flags/fj.svg new file mode 100644 index 0000000..e3a4c9e --- /dev/null +++ b/storage/public/dist/img/flags/fj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/fk.svg b/storage/public/dist/img/flags/fk.svg new file mode 100644 index 0000000..16bc814 --- /dev/null +++ b/storage/public/dist/img/flags/fk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/fm.svg b/storage/public/dist/img/flags/fm.svg new file mode 100644 index 0000000..b9a52e8 --- /dev/null +++ b/storage/public/dist/img/flags/fm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/fo.svg b/storage/public/dist/img/flags/fo.svg new file mode 100644 index 0000000..c92eab9 --- /dev/null +++ b/storage/public/dist/img/flags/fo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/fr.svg b/storage/public/dist/img/flags/fr.svg new file mode 100644 index 0000000..12ff2a0 --- /dev/null +++ b/storage/public/dist/img/flags/fr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ga.svg b/storage/public/dist/img/flags/ga.svg new file mode 100644 index 0000000..b4bdba2 --- /dev/null +++ b/storage/public/dist/img/flags/ga.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gb-eng.svg b/storage/public/dist/img/flags/gb-eng.svg new file mode 100644 index 0000000..22b3eca --- /dev/null +++ b/storage/public/dist/img/flags/gb-eng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gb-nir.svg b/storage/public/dist/img/flags/gb-nir.svg new file mode 100644 index 0000000..728be23 --- /dev/null +++ b/storage/public/dist/img/flags/gb-nir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gb-sct.svg b/storage/public/dist/img/flags/gb-sct.svg new file mode 100644 index 0000000..0f16004 --- /dev/null +++ b/storage/public/dist/img/flags/gb-sct.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gb-wls.svg b/storage/public/dist/img/flags/gb-wls.svg new file mode 100644 index 0000000..4fc4318 --- /dev/null +++ b/storage/public/dist/img/flags/gb-wls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gb.svg b/storage/public/dist/img/flags/gb.svg new file mode 100644 index 0000000..728be23 --- /dev/null +++ b/storage/public/dist/img/flags/gb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gd.svg b/storage/public/dist/img/flags/gd.svg new file mode 100644 index 0000000..dbb78dc --- /dev/null +++ b/storage/public/dist/img/flags/gd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ge.svg b/storage/public/dist/img/flags/ge.svg new file mode 100644 index 0000000..9854e3f --- /dev/null +++ b/storage/public/dist/img/flags/ge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gf.svg b/storage/public/dist/img/flags/gf.svg new file mode 100644 index 0000000..13ede47 --- /dev/null +++ b/storage/public/dist/img/flags/gf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gg.svg b/storage/public/dist/img/flags/gg.svg new file mode 100644 index 0000000..4eb5122 --- /dev/null +++ b/storage/public/dist/img/flags/gg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gh.svg b/storage/public/dist/img/flags/gh.svg new file mode 100644 index 0000000..a1b7eaa --- /dev/null +++ b/storage/public/dist/img/flags/gh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gi.svg b/storage/public/dist/img/flags/gi.svg new file mode 100644 index 0000000..f21a4cf --- /dev/null +++ b/storage/public/dist/img/flags/gi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gl.svg b/storage/public/dist/img/flags/gl.svg new file mode 100644 index 0000000..4185697 --- /dev/null +++ b/storage/public/dist/img/flags/gl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gm.svg b/storage/public/dist/img/flags/gm.svg new file mode 100644 index 0000000..b66aa51 --- /dev/null +++ b/storage/public/dist/img/flags/gm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gn.svg b/storage/public/dist/img/flags/gn.svg new file mode 100644 index 0000000..0818470 --- /dev/null +++ b/storage/public/dist/img/flags/gn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gp.svg b/storage/public/dist/img/flags/gp.svg new file mode 100644 index 0000000..011da93 --- /dev/null +++ b/storage/public/dist/img/flags/gp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gq.svg b/storage/public/dist/img/flags/gq.svg new file mode 100644 index 0000000..a0623e3 --- /dev/null +++ b/storage/public/dist/img/flags/gq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gr.svg b/storage/public/dist/img/flags/gr.svg new file mode 100644 index 0000000..cac914d --- /dev/null +++ b/storage/public/dist/img/flags/gr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gs.svg b/storage/public/dist/img/flags/gs.svg new file mode 100644 index 0000000..b175a13 --- /dev/null +++ b/storage/public/dist/img/flags/gs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gt.svg b/storage/public/dist/img/flags/gt.svg new file mode 100644 index 0000000..e18f550 --- /dev/null +++ b/storage/public/dist/img/flags/gt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gu.svg b/storage/public/dist/img/flags/gu.svg new file mode 100644 index 0000000..05a2201 --- /dev/null +++ b/storage/public/dist/img/flags/gu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gw.svg b/storage/public/dist/img/flags/gw.svg new file mode 100644 index 0000000..19522a3 --- /dev/null +++ b/storage/public/dist/img/flags/gw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/gy.svg b/storage/public/dist/img/flags/gy.svg new file mode 100644 index 0000000..b4ffb90 --- /dev/null +++ b/storage/public/dist/img/flags/gy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/hk.svg b/storage/public/dist/img/flags/hk.svg new file mode 100644 index 0000000..ee7228d --- /dev/null +++ b/storage/public/dist/img/flags/hk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/hm.svg b/storage/public/dist/img/flags/hm.svg new file mode 100644 index 0000000..62b45f8 --- /dev/null +++ b/storage/public/dist/img/flags/hm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/hn.svg b/storage/public/dist/img/flags/hn.svg new file mode 100644 index 0000000..7f07a39 --- /dev/null +++ b/storage/public/dist/img/flags/hn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/hr.svg b/storage/public/dist/img/flags/hr.svg new file mode 100644 index 0000000..44c6a6d --- /dev/null +++ b/storage/public/dist/img/flags/hr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ht.svg b/storage/public/dist/img/flags/ht.svg new file mode 100644 index 0000000..68e9fe9 --- /dev/null +++ b/storage/public/dist/img/flags/ht.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/hu.svg b/storage/public/dist/img/flags/hu.svg new file mode 100644 index 0000000..b2a9e06 --- /dev/null +++ b/storage/public/dist/img/flags/hu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/id.svg b/storage/public/dist/img/flags/id.svg new file mode 100644 index 0000000..d234257 --- /dev/null +++ b/storage/public/dist/img/flags/id.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ie.svg b/storage/public/dist/img/flags/ie.svg new file mode 100644 index 0000000..2e908f5 --- /dev/null +++ b/storage/public/dist/img/flags/ie.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/il.svg b/storage/public/dist/img/flags/il.svg new file mode 100644 index 0000000..f1006ed --- /dev/null +++ b/storage/public/dist/img/flags/il.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/im.svg b/storage/public/dist/img/flags/im.svg new file mode 100644 index 0000000..63005ae --- /dev/null +++ b/storage/public/dist/img/flags/im.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/in.svg b/storage/public/dist/img/flags/in.svg new file mode 100644 index 0000000..266eb3b --- /dev/null +++ b/storage/public/dist/img/flags/in.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/io.svg b/storage/public/dist/img/flags/io.svg new file mode 100644 index 0000000..35e5eb0 --- /dev/null +++ b/storage/public/dist/img/flags/io.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/iq.svg b/storage/public/dist/img/flags/iq.svg new file mode 100644 index 0000000..a7a1a74 --- /dev/null +++ b/storage/public/dist/img/flags/iq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ir.svg b/storage/public/dist/img/flags/ir.svg new file mode 100644 index 0000000..07f0864 --- /dev/null +++ b/storage/public/dist/img/flags/ir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/is.svg b/storage/public/dist/img/flags/is.svg new file mode 100644 index 0000000..7368b43 --- /dev/null +++ b/storage/public/dist/img/flags/is.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/it.svg b/storage/public/dist/img/flags/it.svg new file mode 100644 index 0000000..ab85165 --- /dev/null +++ b/storage/public/dist/img/flags/it.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/je.svg b/storage/public/dist/img/flags/je.svg new file mode 100644 index 0000000..2ab9ffb --- /dev/null +++ b/storage/public/dist/img/flags/je.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/jm.svg b/storage/public/dist/img/flags/jm.svg new file mode 100644 index 0000000..d964844 --- /dev/null +++ b/storage/public/dist/img/flags/jm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/jo.svg b/storage/public/dist/img/flags/jo.svg new file mode 100644 index 0000000..48ec583 --- /dev/null +++ b/storage/public/dist/img/flags/jo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/jp.svg b/storage/public/dist/img/flags/jp.svg new file mode 100644 index 0000000..0caf9f4 --- /dev/null +++ b/storage/public/dist/img/flags/jp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ke.svg b/storage/public/dist/img/flags/ke.svg new file mode 100644 index 0000000..3fafa60 --- /dev/null +++ b/storage/public/dist/img/flags/ke.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/kg.svg b/storage/public/dist/img/flags/kg.svg new file mode 100644 index 0000000..cca438b --- /dev/null +++ b/storage/public/dist/img/flags/kg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/kh.svg b/storage/public/dist/img/flags/kh.svg new file mode 100644 index 0000000..dd580fb --- /dev/null +++ b/storage/public/dist/img/flags/kh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ki.svg b/storage/public/dist/img/flags/ki.svg new file mode 100644 index 0000000..4bb2fea --- /dev/null +++ b/storage/public/dist/img/flags/ki.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/km.svg b/storage/public/dist/img/flags/km.svg new file mode 100644 index 0000000..9230212 --- /dev/null +++ b/storage/public/dist/img/flags/km.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/kn-sk.svg b/storage/public/dist/img/flags/kn-sk.svg new file mode 100644 index 0000000..529c095 --- /dev/null +++ b/storage/public/dist/img/flags/kn-sk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/kn.svg b/storage/public/dist/img/flags/kn.svg new file mode 100644 index 0000000..1a650b5 --- /dev/null +++ b/storage/public/dist/img/flags/kn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/kp.svg b/storage/public/dist/img/flags/kp.svg new file mode 100644 index 0000000..08f08d9 --- /dev/null +++ b/storage/public/dist/img/flags/kp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/kr.svg b/storage/public/dist/img/flags/kr.svg new file mode 100644 index 0000000..3e59243 --- /dev/null +++ b/storage/public/dist/img/flags/kr.svg @@ -0,0 +1 @@ + diff --git a/storage/public/dist/img/flags/kw.svg b/storage/public/dist/img/flags/kw.svg new file mode 100644 index 0000000..a403cf5 --- /dev/null +++ b/storage/public/dist/img/flags/kw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ky.svg b/storage/public/dist/img/flags/ky.svg new file mode 100644 index 0000000..f46758d --- /dev/null +++ b/storage/public/dist/img/flags/ky.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/kz.svg b/storage/public/dist/img/flags/kz.svg new file mode 100644 index 0000000..81f2601 --- /dev/null +++ b/storage/public/dist/img/flags/kz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/la.svg b/storage/public/dist/img/flags/la.svg new file mode 100644 index 0000000..660e7a4 --- /dev/null +++ b/storage/public/dist/img/flags/la.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/lb.svg b/storage/public/dist/img/flags/lb.svg new file mode 100644 index 0000000..77b13ba --- /dev/null +++ b/storage/public/dist/img/flags/lb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/lc.svg b/storage/public/dist/img/flags/lc.svg new file mode 100644 index 0000000..15760e3 --- /dev/null +++ b/storage/public/dist/img/flags/lc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/li.svg b/storage/public/dist/img/flags/li.svg new file mode 100644 index 0000000..4c1d791 --- /dev/null +++ b/storage/public/dist/img/flags/li.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/lk.svg b/storage/public/dist/img/flags/lk.svg new file mode 100644 index 0000000..5169a95 --- /dev/null +++ b/storage/public/dist/img/flags/lk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/lr.svg b/storage/public/dist/img/flags/lr.svg new file mode 100644 index 0000000..5fee8a3 --- /dev/null +++ b/storage/public/dist/img/flags/lr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ls.svg b/storage/public/dist/img/flags/ls.svg new file mode 100644 index 0000000..9e31189 --- /dev/null +++ b/storage/public/dist/img/flags/ls.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/lt.svg b/storage/public/dist/img/flags/lt.svg new file mode 100644 index 0000000..a9b08dd --- /dev/null +++ b/storage/public/dist/img/flags/lt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/lu.svg b/storage/public/dist/img/flags/lu.svg new file mode 100644 index 0000000..2a7ffb3 --- /dev/null +++ b/storage/public/dist/img/flags/lu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/lv.svg b/storage/public/dist/img/flags/lv.svg new file mode 100644 index 0000000..b3a6abc --- /dev/null +++ b/storage/public/dist/img/flags/lv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ly.svg b/storage/public/dist/img/flags/ly.svg new file mode 100644 index 0000000..5c67728 --- /dev/null +++ b/storage/public/dist/img/flags/ly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ma.svg b/storage/public/dist/img/flags/ma.svg new file mode 100644 index 0000000..a45e3fa --- /dev/null +++ b/storage/public/dist/img/flags/ma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mc.svg b/storage/public/dist/img/flags/mc.svg new file mode 100644 index 0000000..c3c1596 --- /dev/null +++ b/storage/public/dist/img/flags/mc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/md.svg b/storage/public/dist/img/flags/md.svg new file mode 100644 index 0000000..8200a3d --- /dev/null +++ b/storage/public/dist/img/flags/md.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/me.svg b/storage/public/dist/img/flags/me.svg new file mode 100644 index 0000000..bf5cb2c --- /dev/null +++ b/storage/public/dist/img/flags/me.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mf.svg b/storage/public/dist/img/flags/mf.svg new file mode 100644 index 0000000..9492ed4 --- /dev/null +++ b/storage/public/dist/img/flags/mf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mg.svg b/storage/public/dist/img/flags/mg.svg new file mode 100644 index 0000000..2be6f08 --- /dev/null +++ b/storage/public/dist/img/flags/mg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mh.svg b/storage/public/dist/img/flags/mh.svg new file mode 100644 index 0000000..588ded3 --- /dev/null +++ b/storage/public/dist/img/flags/mh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mk.svg b/storage/public/dist/img/flags/mk.svg new file mode 100644 index 0000000..78edfdf --- /dev/null +++ b/storage/public/dist/img/flags/mk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ml.svg b/storage/public/dist/img/flags/ml.svg new file mode 100644 index 0000000..7ed885e --- /dev/null +++ b/storage/public/dist/img/flags/ml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mm.svg b/storage/public/dist/img/flags/mm.svg new file mode 100644 index 0000000..dbbb742 --- /dev/null +++ b/storage/public/dist/img/flags/mm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mn.svg b/storage/public/dist/img/flags/mn.svg new file mode 100644 index 0000000..a50e502 --- /dev/null +++ b/storage/public/dist/img/flags/mn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mo.svg b/storage/public/dist/img/flags/mo.svg new file mode 100644 index 0000000..9b085c2 --- /dev/null +++ b/storage/public/dist/img/flags/mo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mp.svg b/storage/public/dist/img/flags/mp.svg new file mode 100644 index 0000000..2e1d5e7 --- /dev/null +++ b/storage/public/dist/img/flags/mp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mq.svg b/storage/public/dist/img/flags/mq.svg new file mode 100644 index 0000000..12dc503 --- /dev/null +++ b/storage/public/dist/img/flags/mq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mr.svg b/storage/public/dist/img/flags/mr.svg new file mode 100644 index 0000000..038ba6d --- /dev/null +++ b/storage/public/dist/img/flags/mr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ms.svg b/storage/public/dist/img/flags/ms.svg new file mode 100644 index 0000000..d2f91a9 --- /dev/null +++ b/storage/public/dist/img/flags/ms.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mt.svg b/storage/public/dist/img/flags/mt.svg new file mode 100644 index 0000000..702e661 --- /dev/null +++ b/storage/public/dist/img/flags/mt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mu.svg b/storage/public/dist/img/flags/mu.svg new file mode 100644 index 0000000..68075a5 --- /dev/null +++ b/storage/public/dist/img/flags/mu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mv.svg b/storage/public/dist/img/flags/mv.svg new file mode 100644 index 0000000..615c87d --- /dev/null +++ b/storage/public/dist/img/flags/mv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mw.svg b/storage/public/dist/img/flags/mw.svg new file mode 100644 index 0000000..f885db2 --- /dev/null +++ b/storage/public/dist/img/flags/mw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mx.svg b/storage/public/dist/img/flags/mx.svg new file mode 100644 index 0000000..769490d --- /dev/null +++ b/storage/public/dist/img/flags/mx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/my.svg b/storage/public/dist/img/flags/my.svg new file mode 100644 index 0000000..68d37da --- /dev/null +++ b/storage/public/dist/img/flags/my.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/mz.svg b/storage/public/dist/img/flags/mz.svg new file mode 100644 index 0000000..e832408 --- /dev/null +++ b/storage/public/dist/img/flags/mz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/na.svg b/storage/public/dist/img/flags/na.svg new file mode 100644 index 0000000..d64a2ae --- /dev/null +++ b/storage/public/dist/img/flags/na.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/nc.svg b/storage/public/dist/img/flags/nc.svg new file mode 100644 index 0000000..a0b5882 --- /dev/null +++ b/storage/public/dist/img/flags/nc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ne.svg b/storage/public/dist/img/flags/ne.svg new file mode 100644 index 0000000..70f0e23 --- /dev/null +++ b/storage/public/dist/img/flags/ne.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/nf.svg b/storage/public/dist/img/flags/nf.svg new file mode 100644 index 0000000..58c3307 --- /dev/null +++ b/storage/public/dist/img/flags/nf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ng.svg b/storage/public/dist/img/flags/ng.svg new file mode 100644 index 0000000..963115d --- /dev/null +++ b/storage/public/dist/img/flags/ng.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ni.svg b/storage/public/dist/img/flags/ni.svg new file mode 100644 index 0000000..d7bacce --- /dev/null +++ b/storage/public/dist/img/flags/ni.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/nl.svg b/storage/public/dist/img/flags/nl.svg new file mode 100644 index 0000000..e256f8e --- /dev/null +++ b/storage/public/dist/img/flags/nl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/no.svg b/storage/public/dist/img/flags/no.svg new file mode 100644 index 0000000..6d4faf9 --- /dev/null +++ b/storage/public/dist/img/flags/no.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/np.svg b/storage/public/dist/img/flags/np.svg new file mode 100644 index 0000000..43bcd83 --- /dev/null +++ b/storage/public/dist/img/flags/np.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/nr.svg b/storage/public/dist/img/flags/nr.svg new file mode 100644 index 0000000..bd13696 --- /dev/null +++ b/storage/public/dist/img/flags/nr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/nu.svg b/storage/public/dist/img/flags/nu.svg new file mode 100644 index 0000000..73c41c1 --- /dev/null +++ b/storage/public/dist/img/flags/nu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/nz.svg b/storage/public/dist/img/flags/nz.svg new file mode 100644 index 0000000..5ec3f1c --- /dev/null +++ b/storage/public/dist/img/flags/nz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/om.svg b/storage/public/dist/img/flags/om.svg new file mode 100644 index 0000000..14f6008 --- /dev/null +++ b/storage/public/dist/img/flags/om.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pa.svg b/storage/public/dist/img/flags/pa.svg new file mode 100644 index 0000000..c2ca90e --- /dev/null +++ b/storage/public/dist/img/flags/pa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pe.svg b/storage/public/dist/img/flags/pe.svg new file mode 100644 index 0000000..c90fe2c --- /dev/null +++ b/storage/public/dist/img/flags/pe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pf.svg b/storage/public/dist/img/flags/pf.svg new file mode 100644 index 0000000..d242e68 --- /dev/null +++ b/storage/public/dist/img/flags/pf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pg.svg b/storage/public/dist/img/flags/pg.svg new file mode 100644 index 0000000..c98accf --- /dev/null +++ b/storage/public/dist/img/flags/pg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ph.svg b/storage/public/dist/img/flags/ph.svg new file mode 100644 index 0000000..0cd5c35 --- /dev/null +++ b/storage/public/dist/img/flags/ph.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pk.svg b/storage/public/dist/img/flags/pk.svg new file mode 100644 index 0000000..d27d530 --- /dev/null +++ b/storage/public/dist/img/flags/pk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pl.svg b/storage/public/dist/img/flags/pl.svg new file mode 100644 index 0000000..077938e --- /dev/null +++ b/storage/public/dist/img/flags/pl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pm.svg b/storage/public/dist/img/flags/pm.svg new file mode 100644 index 0000000..272710f --- /dev/null +++ b/storage/public/dist/img/flags/pm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pn.svg b/storage/public/dist/img/flags/pn.svg new file mode 100644 index 0000000..fd861ef --- /dev/null +++ b/storage/public/dist/img/flags/pn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pr.svg b/storage/public/dist/img/flags/pr.svg new file mode 100644 index 0000000..436b4c3 --- /dev/null +++ b/storage/public/dist/img/flags/pr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ps.svg b/storage/public/dist/img/flags/ps.svg new file mode 100644 index 0000000..88ed381 --- /dev/null +++ b/storage/public/dist/img/flags/ps.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pt.svg b/storage/public/dist/img/flags/pt.svg new file mode 100644 index 0000000..66b0d30 --- /dev/null +++ b/storage/public/dist/img/flags/pt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/pw.svg b/storage/public/dist/img/flags/pw.svg new file mode 100644 index 0000000..30665c8 --- /dev/null +++ b/storage/public/dist/img/flags/pw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/py.svg b/storage/public/dist/img/flags/py.svg new file mode 100644 index 0000000..37df168 --- /dev/null +++ b/storage/public/dist/img/flags/py.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/qa.svg b/storage/public/dist/img/flags/qa.svg new file mode 100644 index 0000000..b673de7 --- /dev/null +++ b/storage/public/dist/img/flags/qa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/rainbow.svg b/storage/public/dist/img/flags/rainbow.svg new file mode 100644 index 0000000..088bf09 --- /dev/null +++ b/storage/public/dist/img/flags/rainbow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/re.svg b/storage/public/dist/img/flags/re.svg new file mode 100644 index 0000000..a0b5882 --- /dev/null +++ b/storage/public/dist/img/flags/re.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ro.svg b/storage/public/dist/img/flags/ro.svg new file mode 100644 index 0000000..890b443 --- /dev/null +++ b/storage/public/dist/img/flags/ro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/rs.svg b/storage/public/dist/img/flags/rs.svg new file mode 100644 index 0000000..f55241a --- /dev/null +++ b/storage/public/dist/img/flags/rs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ru.svg b/storage/public/dist/img/flags/ru.svg new file mode 100644 index 0000000..f4a21e9 --- /dev/null +++ b/storage/public/dist/img/flags/ru.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/rw.svg b/storage/public/dist/img/flags/rw.svg new file mode 100644 index 0000000..26d6283 --- /dev/null +++ b/storage/public/dist/img/flags/rw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sa.svg b/storage/public/dist/img/flags/sa.svg new file mode 100644 index 0000000..9d864ff --- /dev/null +++ b/storage/public/dist/img/flags/sa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sb.svg b/storage/public/dist/img/flags/sb.svg new file mode 100644 index 0000000..414a72c --- /dev/null +++ b/storage/public/dist/img/flags/sb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sc.svg b/storage/public/dist/img/flags/sc.svg new file mode 100644 index 0000000..3856843 --- /dev/null +++ b/storage/public/dist/img/flags/sc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sd.svg b/storage/public/dist/img/flags/sd.svg new file mode 100644 index 0000000..b004520 --- /dev/null +++ b/storage/public/dist/img/flags/sd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/se.svg b/storage/public/dist/img/flags/se.svg new file mode 100644 index 0000000..50381b3 --- /dev/null +++ b/storage/public/dist/img/flags/se.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sg.svg b/storage/public/dist/img/flags/sg.svg new file mode 100644 index 0000000..dbf6da3 --- /dev/null +++ b/storage/public/dist/img/flags/sg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sh.svg b/storage/public/dist/img/flags/sh.svg new file mode 100644 index 0000000..83973cf --- /dev/null +++ b/storage/public/dist/img/flags/sh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/si.svg b/storage/public/dist/img/flags/si.svg new file mode 100644 index 0000000..f9741c4 --- /dev/null +++ b/storage/public/dist/img/flags/si.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sj.svg b/storage/public/dist/img/flags/sj.svg new file mode 100644 index 0000000..6d4faf9 --- /dev/null +++ b/storage/public/dist/img/flags/sj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sk.svg b/storage/public/dist/img/flags/sk.svg new file mode 100644 index 0000000..13f3a4b --- /dev/null +++ b/storage/public/dist/img/flags/sk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sl.svg b/storage/public/dist/img/flags/sl.svg new file mode 100644 index 0000000..a2e1611 --- /dev/null +++ b/storage/public/dist/img/flags/sl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sm.svg b/storage/public/dist/img/flags/sm.svg new file mode 100644 index 0000000..ebbae2d --- /dev/null +++ b/storage/public/dist/img/flags/sm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sn.svg b/storage/public/dist/img/flags/sn.svg new file mode 100644 index 0000000..b4afe8b --- /dev/null +++ b/storage/public/dist/img/flags/sn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/so.svg b/storage/public/dist/img/flags/so.svg new file mode 100644 index 0000000..4ffd813 --- /dev/null +++ b/storage/public/dist/img/flags/so.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sr.svg b/storage/public/dist/img/flags/sr.svg new file mode 100644 index 0000000..899057a --- /dev/null +++ b/storage/public/dist/img/flags/sr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ss.svg b/storage/public/dist/img/flags/ss.svg new file mode 100644 index 0000000..7699206 --- /dev/null +++ b/storage/public/dist/img/flags/ss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/st.svg b/storage/public/dist/img/flags/st.svg new file mode 100644 index 0000000..222cab4 --- /dev/null +++ b/storage/public/dist/img/flags/st.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sv.svg b/storage/public/dist/img/flags/sv.svg new file mode 100644 index 0000000..468d3ca --- /dev/null +++ b/storage/public/dist/img/flags/sv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sx.svg b/storage/public/dist/img/flags/sx.svg new file mode 100644 index 0000000..b4b4180 --- /dev/null +++ b/storage/public/dist/img/flags/sx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sy.svg b/storage/public/dist/img/flags/sy.svg new file mode 100644 index 0000000..d79e890 --- /dev/null +++ b/storage/public/dist/img/flags/sy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/sz.svg b/storage/public/dist/img/flags/sz.svg new file mode 100644 index 0000000..bf9a2b5 --- /dev/null +++ b/storage/public/dist/img/flags/sz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tc.svg b/storage/public/dist/img/flags/tc.svg new file mode 100644 index 0000000..570ff3b --- /dev/null +++ b/storage/public/dist/img/flags/tc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/td.svg b/storage/public/dist/img/flags/td.svg new file mode 100644 index 0000000..342f2a8 --- /dev/null +++ b/storage/public/dist/img/flags/td.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tf.svg b/storage/public/dist/img/flags/tf.svg new file mode 100644 index 0000000..74e3b82 --- /dev/null +++ b/storage/public/dist/img/flags/tf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tg.svg b/storage/public/dist/img/flags/tg.svg new file mode 100644 index 0000000..5edd58b --- /dev/null +++ b/storage/public/dist/img/flags/tg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/th.svg b/storage/public/dist/img/flags/th.svg new file mode 100644 index 0000000..64f970f --- /dev/null +++ b/storage/public/dist/img/flags/th.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tj.svg b/storage/public/dist/img/flags/tj.svg new file mode 100644 index 0000000..c935f21 --- /dev/null +++ b/storage/public/dist/img/flags/tj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tk.svg b/storage/public/dist/img/flags/tk.svg new file mode 100644 index 0000000..4f17c64 --- /dev/null +++ b/storage/public/dist/img/flags/tk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tl.svg b/storage/public/dist/img/flags/tl.svg new file mode 100644 index 0000000..5737e34 --- /dev/null +++ b/storage/public/dist/img/flags/tl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tm.svg b/storage/public/dist/img/flags/tm.svg new file mode 100644 index 0000000..af6eee5 --- /dev/null +++ b/storage/public/dist/img/flags/tm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tn.svg b/storage/public/dist/img/flags/tn.svg new file mode 100644 index 0000000..2a9814d --- /dev/null +++ b/storage/public/dist/img/flags/tn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/to.svg b/storage/public/dist/img/flags/to.svg new file mode 100644 index 0000000..de7ede4 --- /dev/null +++ b/storage/public/dist/img/flags/to.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tr.svg b/storage/public/dist/img/flags/tr.svg new file mode 100644 index 0000000..7aa86ae --- /dev/null +++ b/storage/public/dist/img/flags/tr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tt.svg b/storage/public/dist/img/flags/tt.svg new file mode 100644 index 0000000..fcbaf71 --- /dev/null +++ b/storage/public/dist/img/flags/tt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tv.svg b/storage/public/dist/img/flags/tv.svg new file mode 100644 index 0000000..925154f --- /dev/null +++ b/storage/public/dist/img/flags/tv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tw.svg b/storage/public/dist/img/flags/tw.svg new file mode 100644 index 0000000..6a27803 --- /dev/null +++ b/storage/public/dist/img/flags/tw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/tz.svg b/storage/public/dist/img/flags/tz.svg new file mode 100644 index 0000000..f637a01 --- /dev/null +++ b/storage/public/dist/img/flags/tz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ua.svg b/storage/public/dist/img/flags/ua.svg new file mode 100644 index 0000000..e34a89f --- /dev/null +++ b/storage/public/dist/img/flags/ua.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ug.svg b/storage/public/dist/img/flags/ug.svg new file mode 100644 index 0000000..c05790f --- /dev/null +++ b/storage/public/dist/img/flags/ug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/um.svg b/storage/public/dist/img/flags/um.svg new file mode 100644 index 0000000..652dc40 --- /dev/null +++ b/storage/public/dist/img/flags/um.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/unasur.svg b/storage/public/dist/img/flags/unasur.svg new file mode 100644 index 0000000..0e97962 --- /dev/null +++ b/storage/public/dist/img/flags/unasur.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/us.svg b/storage/public/dist/img/flags/us.svg new file mode 100644 index 0000000..652dc40 --- /dev/null +++ b/storage/public/dist/img/flags/us.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/uy.svg b/storage/public/dist/img/flags/uy.svg new file mode 100644 index 0000000..33db154 --- /dev/null +++ b/storage/public/dist/img/flags/uy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/uz.svg b/storage/public/dist/img/flags/uz.svg new file mode 100644 index 0000000..239f01e --- /dev/null +++ b/storage/public/dist/img/flags/uz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/va.svg b/storage/public/dist/img/flags/va.svg new file mode 100644 index 0000000..e93ff55 --- /dev/null +++ b/storage/public/dist/img/flags/va.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/vc.svg b/storage/public/dist/img/flags/vc.svg new file mode 100644 index 0000000..44cf879 --- /dev/null +++ b/storage/public/dist/img/flags/vc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ve.svg b/storage/public/dist/img/flags/ve.svg new file mode 100644 index 0000000..3057685 --- /dev/null +++ b/storage/public/dist/img/flags/ve.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/vg.svg b/storage/public/dist/img/flags/vg.svg new file mode 100644 index 0000000..e365306 --- /dev/null +++ b/storage/public/dist/img/flags/vg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/vi.svg b/storage/public/dist/img/flags/vi.svg new file mode 100644 index 0000000..52db69b --- /dev/null +++ b/storage/public/dist/img/flags/vi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/vn.svg b/storage/public/dist/img/flags/vn.svg new file mode 100644 index 0000000..996c2d3 --- /dev/null +++ b/storage/public/dist/img/flags/vn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/vu.svg b/storage/public/dist/img/flags/vu.svg new file mode 100644 index 0000000..2a9ad50 --- /dev/null +++ b/storage/public/dist/img/flags/vu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/wf.svg b/storage/public/dist/img/flags/wf.svg new file mode 100644 index 0000000..16b4e9c --- /dev/null +++ b/storage/public/dist/img/flags/wf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ws.svg b/storage/public/dist/img/flags/ws.svg new file mode 100644 index 0000000..fd4a8a9 --- /dev/null +++ b/storage/public/dist/img/flags/ws.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/ye.svg b/storage/public/dist/img/flags/ye.svg new file mode 100644 index 0000000..11e6a56 --- /dev/null +++ b/storage/public/dist/img/flags/ye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/yt.svg b/storage/public/dist/img/flags/yt.svg new file mode 100644 index 0000000..9120272 --- /dev/null +++ b/storage/public/dist/img/flags/yt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/za.svg b/storage/public/dist/img/flags/za.svg new file mode 100644 index 0000000..867bfe3 --- /dev/null +++ b/storage/public/dist/img/flags/za.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/zm.svg b/storage/public/dist/img/flags/zm.svg new file mode 100644 index 0000000..a0484ab --- /dev/null +++ b/storage/public/dist/img/flags/zm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/flags/zw.svg b/storage/public/dist/img/flags/zw.svg new file mode 100644 index 0000000..47e5efe --- /dev/null +++ b/storage/public/dist/img/flags/zw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/2c2p-dark.svg b/storage/public/dist/img/payments/2c2p-dark.svg new file mode 100644 index 0000000..c02bc8b --- /dev/null +++ b/storage/public/dist/img/payments/2c2p-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/2c2p.svg b/storage/public/dist/img/payments/2c2p.svg new file mode 100644 index 0000000..5402034 --- /dev/null +++ b/storage/public/dist/img/payments/2c2p.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/2checkout-dark.svg b/storage/public/dist/img/payments/2checkout-dark.svg new file mode 100644 index 0000000..31295f9 --- /dev/null +++ b/storage/public/dist/img/payments/2checkout-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/2checkout.svg b/storage/public/dist/img/payments/2checkout.svg new file mode 100644 index 0000000..ee05973 --- /dev/null +++ b/storage/public/dist/img/payments/2checkout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/adyen-dark.svg b/storage/public/dist/img/payments/adyen-dark.svg new file mode 100644 index 0000000..27b84ed --- /dev/null +++ b/storage/public/dist/img/payments/adyen-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/adyen.svg b/storage/public/dist/img/payments/adyen.svg new file mode 100644 index 0000000..bd26437 --- /dev/null +++ b/storage/public/dist/img/payments/adyen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/affirm-dark.svg b/storage/public/dist/img/payments/affirm-dark.svg new file mode 100644 index 0000000..313dcab --- /dev/null +++ b/storage/public/dist/img/payments/affirm-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/affirm.svg b/storage/public/dist/img/payments/affirm.svg new file mode 100644 index 0000000..dece89a --- /dev/null +++ b/storage/public/dist/img/payments/affirm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/alipay-dark.svg b/storage/public/dist/img/payments/alipay-dark.svg new file mode 100644 index 0000000..518a708 --- /dev/null +++ b/storage/public/dist/img/payments/alipay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/alipay-plus-dark.svg b/storage/public/dist/img/payments/alipay-plus-dark.svg new file mode 100644 index 0000000..6fbc96d --- /dev/null +++ b/storage/public/dist/img/payments/alipay-plus-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/alipay-plus.svg b/storage/public/dist/img/payments/alipay-plus.svg new file mode 100644 index 0000000..5f81c87 --- /dev/null +++ b/storage/public/dist/img/payments/alipay-plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/alipay.svg b/storage/public/dist/img/payments/alipay.svg new file mode 100644 index 0000000..b2b0804 --- /dev/null +++ b/storage/public/dist/img/payments/alipay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/allegro-pay-dark.svg b/storage/public/dist/img/payments/allegro-pay-dark.svg new file mode 100644 index 0000000..aad3975 --- /dev/null +++ b/storage/public/dist/img/payments/allegro-pay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/allegro-pay.svg b/storage/public/dist/img/payments/allegro-pay.svg new file mode 100644 index 0000000..4e5e07f --- /dev/null +++ b/storage/public/dist/img/payments/allegro-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/amazon-dark.svg b/storage/public/dist/img/payments/amazon-dark.svg new file mode 100644 index 0000000..4d44550 --- /dev/null +++ b/storage/public/dist/img/payments/amazon-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/amazon-pay-dark.svg b/storage/public/dist/img/payments/amazon-pay-dark.svg new file mode 100644 index 0000000..5108416 --- /dev/null +++ b/storage/public/dist/img/payments/amazon-pay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/amazon-pay.svg b/storage/public/dist/img/payments/amazon-pay.svg new file mode 100644 index 0000000..a499ceb --- /dev/null +++ b/storage/public/dist/img/payments/amazon-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/amazon.svg b/storage/public/dist/img/payments/amazon.svg new file mode 100644 index 0000000..23f7e9d --- /dev/null +++ b/storage/public/dist/img/payments/amazon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/americanexpress-dark.svg b/storage/public/dist/img/payments/americanexpress-dark.svg new file mode 100644 index 0000000..df4c353 --- /dev/null +++ b/storage/public/dist/img/payments/americanexpress-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/americanexpress.svg b/storage/public/dist/img/payments/americanexpress.svg new file mode 100644 index 0000000..c6bc3ac --- /dev/null +++ b/storage/public/dist/img/payments/americanexpress.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/applepay-dark.svg b/storage/public/dist/img/payments/applepay-dark.svg new file mode 100644 index 0000000..fe8060c --- /dev/null +++ b/storage/public/dist/img/payments/applepay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/applepay.svg b/storage/public/dist/img/payments/applepay.svg new file mode 100644 index 0000000..d0bf357 --- /dev/null +++ b/storage/public/dist/img/payments/applepay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/authorize-dark.svg b/storage/public/dist/img/payments/authorize-dark.svg new file mode 100644 index 0000000..bdb3b74 --- /dev/null +++ b/storage/public/dist/img/payments/authorize-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/authorize.svg b/storage/public/dist/img/payments/authorize.svg new file mode 100644 index 0000000..76ee378 --- /dev/null +++ b/storage/public/dist/img/payments/authorize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/autopay-dark.svg b/storage/public/dist/img/payments/autopay-dark.svg new file mode 100644 index 0000000..f18de72 --- /dev/null +++ b/storage/public/dist/img/payments/autopay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/autopay.svg b/storage/public/dist/img/payments/autopay.svg new file mode 100644 index 0000000..1a9aa00 --- /dev/null +++ b/storage/public/dist/img/payments/autopay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/bancontact-dark.svg b/storage/public/dist/img/payments/bancontact-dark.svg new file mode 100644 index 0000000..66c4b38 --- /dev/null +++ b/storage/public/dist/img/payments/bancontact-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/bancontact.svg b/storage/public/dist/img/payments/bancontact.svg new file mode 100644 index 0000000..261d171 --- /dev/null +++ b/storage/public/dist/img/payments/bancontact.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/binance-usd-dark.svg b/storage/public/dist/img/payments/binance-usd-dark.svg new file mode 100644 index 0000000..d63c13b --- /dev/null +++ b/storage/public/dist/img/payments/binance-usd-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/binance-usd.svg b/storage/public/dist/img/payments/binance-usd.svg new file mode 100644 index 0000000..81a4b9b --- /dev/null +++ b/storage/public/dist/img/payments/binance-usd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/bitcoin-dark.svg b/storage/public/dist/img/payments/bitcoin-dark.svg new file mode 100644 index 0000000..232c825 --- /dev/null +++ b/storage/public/dist/img/payments/bitcoin-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/bitcoin.svg b/storage/public/dist/img/payments/bitcoin.svg new file mode 100644 index 0000000..f01ba34 --- /dev/null +++ b/storage/public/dist/img/payments/bitcoin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/bitpay-dark.svg b/storage/public/dist/img/payments/bitpay-dark.svg new file mode 100644 index 0000000..5493c91 --- /dev/null +++ b/storage/public/dist/img/payments/bitpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/bitpay.svg b/storage/public/dist/img/payments/bitpay.svg new file mode 100644 index 0000000..c912746 --- /dev/null +++ b/storage/public/dist/img/payments/bitpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/bkash-dark.svg b/storage/public/dist/img/payments/bkash-dark.svg new file mode 100644 index 0000000..58ea0b9 --- /dev/null +++ b/storage/public/dist/img/payments/bkash-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/bkash.svg b/storage/public/dist/img/payments/bkash.svg new file mode 100644 index 0000000..854b212 --- /dev/null +++ b/storage/public/dist/img/payments/bkash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/blik-dark.svg b/storage/public/dist/img/payments/blik-dark.svg new file mode 100644 index 0000000..3c512cf --- /dev/null +++ b/storage/public/dist/img/payments/blik-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/blik.svg b/storage/public/dist/img/payments/blik.svg new file mode 100644 index 0000000..9e3611c --- /dev/null +++ b/storage/public/dist/img/payments/blik.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/braintree-dark.svg b/storage/public/dist/img/payments/braintree-dark.svg new file mode 100644 index 0000000..d71e62d --- /dev/null +++ b/storage/public/dist/img/payments/braintree-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/braintree.svg b/storage/public/dist/img/payments/braintree.svg new file mode 100644 index 0000000..dd75f68 --- /dev/null +++ b/storage/public/dist/img/payments/braintree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/cash-app-dark.svg b/storage/public/dist/img/payments/cash-app-dark.svg new file mode 100644 index 0000000..42745b4 --- /dev/null +++ b/storage/public/dist/img/payments/cash-app-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/cash-app.svg b/storage/public/dist/img/payments/cash-app.svg new file mode 100644 index 0000000..e267fd9 --- /dev/null +++ b/storage/public/dist/img/payments/cash-app.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/chime-dark.svg b/storage/public/dist/img/payments/chime-dark.svg new file mode 100644 index 0000000..8c7066b --- /dev/null +++ b/storage/public/dist/img/payments/chime-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/chime.svg b/storage/public/dist/img/payments/chime.svg new file mode 100644 index 0000000..7d92382 --- /dev/null +++ b/storage/public/dist/img/payments/chime.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/cirrus-dark.svg b/storage/public/dist/img/payments/cirrus-dark.svg new file mode 100644 index 0000000..fefbe37 --- /dev/null +++ b/storage/public/dist/img/payments/cirrus-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/cirrus.svg b/storage/public/dist/img/payments/cirrus.svg new file mode 100644 index 0000000..de2ec6e --- /dev/null +++ b/storage/public/dist/img/payments/cirrus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/clickandbuy-dark.svg b/storage/public/dist/img/payments/clickandbuy-dark.svg new file mode 100644 index 0000000..3d6c708 --- /dev/null +++ b/storage/public/dist/img/payments/clickandbuy-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/clickandbuy.svg b/storage/public/dist/img/payments/clickandbuy.svg new file mode 100644 index 0000000..901ff2b --- /dev/null +++ b/storage/public/dist/img/payments/clickandbuy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/coinkite-dark.svg b/storage/public/dist/img/payments/coinkite-dark.svg new file mode 100644 index 0000000..edf30f0 --- /dev/null +++ b/storage/public/dist/img/payments/coinkite-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/coinkite.svg b/storage/public/dist/img/payments/coinkite.svg new file mode 100644 index 0000000..4f352bc --- /dev/null +++ b/storage/public/dist/img/payments/coinkite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/dinersclub-dark.svg b/storage/public/dist/img/payments/dinersclub-dark.svg new file mode 100644 index 0000000..69bef00 --- /dev/null +++ b/storage/public/dist/img/payments/dinersclub-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/dinersclub.svg b/storage/public/dist/img/payments/dinersclub.svg new file mode 100644 index 0000000..b49d7ac --- /dev/null +++ b/storage/public/dist/img/payments/dinersclub.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/directdebit-dark.svg b/storage/public/dist/img/payments/directdebit-dark.svg new file mode 100644 index 0000000..7027301 --- /dev/null +++ b/storage/public/dist/img/payments/directdebit-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/directdebit.svg b/storage/public/dist/img/payments/directdebit.svg new file mode 100644 index 0000000..5f1d72b --- /dev/null +++ b/storage/public/dist/img/payments/directdebit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/discover-dark.svg b/storage/public/dist/img/payments/discover-dark.svg new file mode 100644 index 0000000..adf125b --- /dev/null +++ b/storage/public/dist/img/payments/discover-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/discover.svg b/storage/public/dist/img/payments/discover.svg new file mode 100644 index 0000000..59d6e2d --- /dev/null +++ b/storage/public/dist/img/payments/discover.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/dotpay-dark.svg b/storage/public/dist/img/payments/dotpay-dark.svg new file mode 100644 index 0000000..949e08a --- /dev/null +++ b/storage/public/dist/img/payments/dotpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/dotpay.svg b/storage/public/dist/img/payments/dotpay.svg new file mode 100644 index 0000000..1053050 --- /dev/null +++ b/storage/public/dist/img/payments/dotpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/dwolla-dark.svg b/storage/public/dist/img/payments/dwolla-dark.svg new file mode 100644 index 0000000..e7fd192 --- /dev/null +++ b/storage/public/dist/img/payments/dwolla-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/dwolla.svg b/storage/public/dist/img/payments/dwolla.svg new file mode 100644 index 0000000..41df860 --- /dev/null +++ b/storage/public/dist/img/payments/dwolla.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/easypaisa-dark.svg b/storage/public/dist/img/payments/easypaisa-dark.svg new file mode 100644 index 0000000..d7c8d24 --- /dev/null +++ b/storage/public/dist/img/payments/easypaisa-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/easypaisa.svg b/storage/public/dist/img/payments/easypaisa.svg new file mode 100644 index 0000000..eb72c2e --- /dev/null +++ b/storage/public/dist/img/payments/easypaisa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ebay-dark.svg b/storage/public/dist/img/payments/ebay-dark.svg new file mode 100644 index 0000000..060aef5 --- /dev/null +++ b/storage/public/dist/img/payments/ebay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ebay.svg b/storage/public/dist/img/payments/ebay.svg new file mode 100644 index 0000000..72bfcfd --- /dev/null +++ b/storage/public/dist/img/payments/ebay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/elo-dark.svg b/storage/public/dist/img/payments/elo-dark.svg new file mode 100644 index 0000000..31b16ca --- /dev/null +++ b/storage/public/dist/img/payments/elo-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/elo.svg b/storage/public/dist/img/payments/elo.svg new file mode 100644 index 0000000..126f59a --- /dev/null +++ b/storage/public/dist/img/payments/elo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/epayco-dark.svg b/storage/public/dist/img/payments/epayco-dark.svg new file mode 100644 index 0000000..7317947 --- /dev/null +++ b/storage/public/dist/img/payments/epayco-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/epayco.svg b/storage/public/dist/img/payments/epayco.svg new file mode 100644 index 0000000..193a96e --- /dev/null +++ b/storage/public/dist/img/payments/epayco.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/esewa-dark.svg b/storage/public/dist/img/payments/esewa-dark.svg new file mode 100644 index 0000000..a999ad1 --- /dev/null +++ b/storage/public/dist/img/payments/esewa-dark.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/storage/public/dist/img/payments/esewa.svg b/storage/public/dist/img/payments/esewa.svg new file mode 100644 index 0000000..09a4a2a --- /dev/null +++ b/storage/public/dist/img/payments/esewa.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/storage/public/dist/img/payments/ethereum-dark.svg b/storage/public/dist/img/payments/ethereum-dark.svg new file mode 100644 index 0000000..4a6e6df --- /dev/null +++ b/storage/public/dist/img/payments/ethereum-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ethereum.svg b/storage/public/dist/img/payments/ethereum.svg new file mode 100644 index 0000000..d1be9f0 --- /dev/null +++ b/storage/public/dist/img/payments/ethereum.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/eway-dark.svg b/storage/public/dist/img/payments/eway-dark.svg new file mode 100644 index 0000000..154f24b --- /dev/null +++ b/storage/public/dist/img/payments/eway-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/eway.svg b/storage/public/dist/img/payments/eway.svg new file mode 100644 index 0000000..799f4db --- /dev/null +++ b/storage/public/dist/img/payments/eway.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/fonepay-dark.svg b/storage/public/dist/img/payments/fonepay-dark.svg new file mode 100644 index 0000000..768e141 --- /dev/null +++ b/storage/public/dist/img/payments/fonepay-dark.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/storage/public/dist/img/payments/fonepay.svg b/storage/public/dist/img/payments/fonepay.svg new file mode 100644 index 0000000..aa58688 --- /dev/null +++ b/storage/public/dist/img/payments/fonepay.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/storage/public/dist/img/payments/giropay-dark.svg b/storage/public/dist/img/payments/giropay-dark.svg new file mode 100644 index 0000000..6ecb073 --- /dev/null +++ b/storage/public/dist/img/payments/giropay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/giropay.svg b/storage/public/dist/img/payments/giropay.svg new file mode 100644 index 0000000..2bb357b --- /dev/null +++ b/storage/public/dist/img/payments/giropay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/google-pay-dark.svg b/storage/public/dist/img/payments/google-pay-dark.svg new file mode 100644 index 0000000..83f4b1b --- /dev/null +++ b/storage/public/dist/img/payments/google-pay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/google-pay.svg b/storage/public/dist/img/payments/google-pay.svg new file mode 100644 index 0000000..1c6d47d --- /dev/null +++ b/storage/public/dist/img/payments/google-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/googlewallet-dark.svg b/storage/public/dist/img/payments/googlewallet-dark.svg new file mode 100644 index 0000000..d244436 --- /dev/null +++ b/storage/public/dist/img/payments/googlewallet-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/googlewallet.svg b/storage/public/dist/img/payments/googlewallet.svg new file mode 100644 index 0000000..6095e51 --- /dev/null +++ b/storage/public/dist/img/payments/googlewallet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/hubspot-dark.svg b/storage/public/dist/img/payments/hubspot-dark.svg new file mode 100644 index 0000000..66800ba --- /dev/null +++ b/storage/public/dist/img/payments/hubspot-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/hubspot.svg b/storage/public/dist/img/payments/hubspot.svg new file mode 100644 index 0000000..29cd572 --- /dev/null +++ b/storage/public/dist/img/payments/hubspot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ideal-dark.svg b/storage/public/dist/img/payments/ideal-dark.svg new file mode 100644 index 0000000..96de540 --- /dev/null +++ b/storage/public/dist/img/payments/ideal-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ideal.svg b/storage/public/dist/img/payments/ideal.svg new file mode 100644 index 0000000..80de112 --- /dev/null +++ b/storage/public/dist/img/payments/ideal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/imepay-dark.svg b/storage/public/dist/img/payments/imepay-dark.svg new file mode 100644 index 0000000..d0da83f --- /dev/null +++ b/storage/public/dist/img/payments/imepay-dark.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/storage/public/dist/img/payments/imepay.svg b/storage/public/dist/img/payments/imepay.svg new file mode 100644 index 0000000..acb056e --- /dev/null +++ b/storage/public/dist/img/payments/imepay.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/storage/public/dist/img/payments/ingenico-dark.svg b/storage/public/dist/img/payments/ingenico-dark.svg new file mode 100644 index 0000000..25d6d48 --- /dev/null +++ b/storage/public/dist/img/payments/ingenico-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ingenico.svg b/storage/public/dist/img/payments/ingenico.svg new file mode 100644 index 0000000..3888b40 --- /dev/null +++ b/storage/public/dist/img/payments/ingenico.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/jcb-dark.svg b/storage/public/dist/img/payments/jcb-dark.svg new file mode 100644 index 0000000..0987072 --- /dev/null +++ b/storage/public/dist/img/payments/jcb-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/jcb.svg b/storage/public/dist/img/payments/jcb.svg new file mode 100644 index 0000000..c4d9779 --- /dev/null +++ b/storage/public/dist/img/payments/jcb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/khalti-dark.svg b/storage/public/dist/img/payments/khalti-dark.svg new file mode 100644 index 0000000..091b613 --- /dev/null +++ b/storage/public/dist/img/payments/khalti-dark.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/storage/public/dist/img/payments/khalti.svg b/storage/public/dist/img/payments/khalti.svg new file mode 100644 index 0000000..45195a7 --- /dev/null +++ b/storage/public/dist/img/payments/khalti.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/storage/public/dist/img/payments/klarna-dark.svg b/storage/public/dist/img/payments/klarna-dark.svg new file mode 100644 index 0000000..d184ae5 --- /dev/null +++ b/storage/public/dist/img/payments/klarna-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/klarna.svg b/storage/public/dist/img/payments/klarna.svg new file mode 100644 index 0000000..dad9a51 --- /dev/null +++ b/storage/public/dist/img/payments/klarna.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/laser-dark.svg b/storage/public/dist/img/payments/laser-dark.svg new file mode 100644 index 0000000..784ffde --- /dev/null +++ b/storage/public/dist/img/payments/laser-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/laser.svg b/storage/public/dist/img/payments/laser.svg new file mode 100644 index 0000000..a53af64 --- /dev/null +++ b/storage/public/dist/img/payments/laser.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/litecoin-dark.svg b/storage/public/dist/img/payments/litecoin-dark.svg new file mode 100644 index 0000000..61b9739 --- /dev/null +++ b/storage/public/dist/img/payments/litecoin-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/litecoin.svg b/storage/public/dist/img/payments/litecoin.svg new file mode 100644 index 0000000..be8c509 --- /dev/null +++ b/storage/public/dist/img/payments/litecoin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/maestro-dark.svg b/storage/public/dist/img/payments/maestro-dark.svg new file mode 100644 index 0000000..23540e1 --- /dev/null +++ b/storage/public/dist/img/payments/maestro-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/maestro.svg b/storage/public/dist/img/payments/maestro.svg new file mode 100644 index 0000000..e8258b8 --- /dev/null +++ b/storage/public/dist/img/payments/maestro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/mastercard-dark.svg b/storage/public/dist/img/payments/mastercard-dark.svg new file mode 100644 index 0000000..a40ba7d --- /dev/null +++ b/storage/public/dist/img/payments/mastercard-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/mastercard.svg b/storage/public/dist/img/payments/mastercard.svg new file mode 100644 index 0000000..6a74d6b --- /dev/null +++ b/storage/public/dist/img/payments/mastercard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/mercado-pago-dark.svg b/storage/public/dist/img/payments/mercado-pago-dark.svg new file mode 100644 index 0000000..5cf8c1e --- /dev/null +++ b/storage/public/dist/img/payments/mercado-pago-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/mercado-pago.svg b/storage/public/dist/img/payments/mercado-pago.svg new file mode 100644 index 0000000..4ce4be0 --- /dev/null +++ b/storage/public/dist/img/payments/mercado-pago.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/metamask-dark.svg b/storage/public/dist/img/payments/metamask-dark.svg new file mode 100644 index 0000000..f332ec9 --- /dev/null +++ b/storage/public/dist/img/payments/metamask-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/metamask.svg b/storage/public/dist/img/payments/metamask.svg new file mode 100644 index 0000000..4685599 --- /dev/null +++ b/storage/public/dist/img/payments/metamask.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/mir-dark.svg b/storage/public/dist/img/payments/mir-dark.svg new file mode 100644 index 0000000..3486050 --- /dev/null +++ b/storage/public/dist/img/payments/mir-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/mir.svg b/storage/public/dist/img/payments/mir.svg new file mode 100644 index 0000000..fcf9493 --- /dev/null +++ b/storage/public/dist/img/payments/mir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/monero-dark.svg b/storage/public/dist/img/payments/monero-dark.svg new file mode 100644 index 0000000..9a345ca --- /dev/null +++ b/storage/public/dist/img/payments/monero-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/monero.svg b/storage/public/dist/img/payments/monero.svg new file mode 100644 index 0000000..dfe0169 --- /dev/null +++ b/storage/public/dist/img/payments/monero.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/moneygram-dark.svg b/storage/public/dist/img/payments/moneygram-dark.svg new file mode 100644 index 0000000..1d31a64 --- /dev/null +++ b/storage/public/dist/img/payments/moneygram-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/moneygram.svg b/storage/public/dist/img/payments/moneygram.svg new file mode 100644 index 0000000..9743d10 --- /dev/null +++ b/storage/public/dist/img/payments/moneygram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/neteller-dark.svg b/storage/public/dist/img/payments/neteller-dark.svg new file mode 100644 index 0000000..8663190 --- /dev/null +++ b/storage/public/dist/img/payments/neteller-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/neteller.svg b/storage/public/dist/img/payments/neteller.svg new file mode 100644 index 0000000..86f8c39 --- /dev/null +++ b/storage/public/dist/img/payments/neteller.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ogone-dark.svg b/storage/public/dist/img/payments/ogone-dark.svg new file mode 100644 index 0000000..b7c215c --- /dev/null +++ b/storage/public/dist/img/payments/ogone-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ogone.svg b/storage/public/dist/img/payments/ogone.svg new file mode 100644 index 0000000..ccb4ded --- /dev/null +++ b/storage/public/dist/img/payments/ogone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/okpay-dark.svg b/storage/public/dist/img/payments/okpay-dark.svg new file mode 100644 index 0000000..b06f301 --- /dev/null +++ b/storage/public/dist/img/payments/okpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/okpay.svg b/storage/public/dist/img/payments/okpay.svg new file mode 100644 index 0000000..08994ce --- /dev/null +++ b/storage/public/dist/img/payments/okpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/opensea-dark.svg b/storage/public/dist/img/payments/opensea-dark.svg new file mode 100644 index 0000000..a850263 --- /dev/null +++ b/storage/public/dist/img/payments/opensea-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/opensea.svg b/storage/public/dist/img/payments/opensea.svg new file mode 100644 index 0000000..747933f --- /dev/null +++ b/storage/public/dist/img/payments/opensea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paybox-dark.svg b/storage/public/dist/img/payments/paybox-dark.svg new file mode 100644 index 0000000..7a287d0 --- /dev/null +++ b/storage/public/dist/img/payments/paybox-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paybox.svg b/storage/public/dist/img/payments/paybox.svg new file mode 100644 index 0000000..bc45627 --- /dev/null +++ b/storage/public/dist/img/payments/paybox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payconiq-dark.svg b/storage/public/dist/img/payments/payconiq-dark.svg new file mode 100644 index 0000000..072b262 --- /dev/null +++ b/storage/public/dist/img/payments/payconiq-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payconiq.svg b/storage/public/dist/img/payments/payconiq.svg new file mode 100644 index 0000000..57720dd --- /dev/null +++ b/storage/public/dist/img/payments/payconiq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payka-dark.svg b/storage/public/dist/img/payments/payka-dark.svg new file mode 100644 index 0000000..cab62e9 --- /dev/null +++ b/storage/public/dist/img/payments/payka-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payka.svg b/storage/public/dist/img/payments/payka.svg new file mode 100644 index 0000000..a9a5a5d --- /dev/null +++ b/storage/public/dist/img/payments/payka.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payline-dark.svg b/storage/public/dist/img/payments/payline-dark.svg new file mode 100644 index 0000000..b7f54d9 --- /dev/null +++ b/storage/public/dist/img/payments/payline-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payline.svg b/storage/public/dist/img/payments/payline.svg new file mode 100644 index 0000000..ccdde6c --- /dev/null +++ b/storage/public/dist/img/payments/payline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paymill-dark.svg b/storage/public/dist/img/payments/paymill-dark.svg new file mode 100644 index 0000000..9df87b0 --- /dev/null +++ b/storage/public/dist/img/payments/paymill-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paymill.svg b/storage/public/dist/img/payments/paymill.svg new file mode 100644 index 0000000..6cb4afa --- /dev/null +++ b/storage/public/dist/img/payments/paymill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payone-dark.svg b/storage/public/dist/img/payments/payone-dark.svg new file mode 100644 index 0000000..2e460df --- /dev/null +++ b/storage/public/dist/img/payments/payone-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payone.svg b/storage/public/dist/img/payments/payone.svg new file mode 100644 index 0000000..d9e511d --- /dev/null +++ b/storage/public/dist/img/payments/payone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payoneer-dark.svg b/storage/public/dist/img/payments/payoneer-dark.svg new file mode 100644 index 0000000..26b1224 --- /dev/null +++ b/storage/public/dist/img/payments/payoneer-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payoneer.svg b/storage/public/dist/img/payments/payoneer.svg new file mode 100644 index 0000000..5878e73 --- /dev/null +++ b/storage/public/dist/img/payments/payoneer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paypal-dark.svg b/storage/public/dist/img/payments/paypal-dark.svg new file mode 100644 index 0000000..f5a52c4 --- /dev/null +++ b/storage/public/dist/img/payments/paypal-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paypal.svg b/storage/public/dist/img/payments/paypal.svg new file mode 100644 index 0000000..8537596 --- /dev/null +++ b/storage/public/dist/img/payments/paypal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paypo-dark.svg b/storage/public/dist/img/payments/paypo-dark.svg new file mode 100644 index 0000000..0f0387c --- /dev/null +++ b/storage/public/dist/img/payments/paypo-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paypo.svg b/storage/public/dist/img/payments/paypo.svg new file mode 100644 index 0000000..0717042 --- /dev/null +++ b/storage/public/dist/img/payments/paypo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paysafe-dark.svg b/storage/public/dist/img/payments/paysafe-dark.svg new file mode 100644 index 0000000..746e363 --- /dev/null +++ b/storage/public/dist/img/payments/paysafe-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paysafe.svg b/storage/public/dist/img/payments/paysafe.svg new file mode 100644 index 0000000..807768d --- /dev/null +++ b/storage/public/dist/img/payments/paysafe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paysafecard-dark.svg b/storage/public/dist/img/payments/paysafecard-dark.svg new file mode 100644 index 0000000..0950471 --- /dev/null +++ b/storage/public/dist/img/payments/paysafecard-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/paysafecard.svg b/storage/public/dist/img/payments/paysafecard.svg new file mode 100644 index 0000000..8aa579b --- /dev/null +++ b/storage/public/dist/img/payments/paysafecard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payu-dark.svg b/storage/public/dist/img/payments/payu-dark.svg new file mode 100644 index 0000000..d7b552f --- /dev/null +++ b/storage/public/dist/img/payments/payu-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payu.svg b/storage/public/dist/img/payments/payu.svg new file mode 100644 index 0000000..c19985e --- /dev/null +++ b/storage/public/dist/img/payments/payu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payza-dark.svg b/storage/public/dist/img/payments/payza-dark.svg new file mode 100644 index 0000000..54f23a8 --- /dev/null +++ b/storage/public/dist/img/payments/payza-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/payza.svg b/storage/public/dist/img/payments/payza.svg new file mode 100644 index 0000000..df86dc7 --- /dev/null +++ b/storage/public/dist/img/payments/payza.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/poli-dark.svg b/storage/public/dist/img/payments/poli-dark.svg new file mode 100644 index 0000000..df706b7 --- /dev/null +++ b/storage/public/dist/img/payments/poli-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/poli.svg b/storage/public/dist/img/payments/poli.svg new file mode 100644 index 0000000..437da50 --- /dev/null +++ b/storage/public/dist/img/payments/poli.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/przelewy24-dark.svg b/storage/public/dist/img/payments/przelewy24-dark.svg new file mode 100644 index 0000000..2695ead --- /dev/null +++ b/storage/public/dist/img/payments/przelewy24-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/przelewy24.svg b/storage/public/dist/img/payments/przelewy24.svg new file mode 100644 index 0000000..25d7725 --- /dev/null +++ b/storage/public/dist/img/payments/przelewy24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/revolut-pay-dark.svg b/storage/public/dist/img/payments/revolut-pay-dark.svg new file mode 100644 index 0000000..4f6af52 --- /dev/null +++ b/storage/public/dist/img/payments/revolut-pay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/revolut-pay.svg b/storage/public/dist/img/payments/revolut-pay.svg new file mode 100644 index 0000000..2e204aa --- /dev/null +++ b/storage/public/dist/img/payments/revolut-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ripple-dark.svg b/storage/public/dist/img/payments/ripple-dark.svg new file mode 100644 index 0000000..42636ff --- /dev/null +++ b/storage/public/dist/img/payments/ripple-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ripple.svg b/storage/public/dist/img/payments/ripple.svg new file mode 100644 index 0000000..4ebc3f9 --- /dev/null +++ b/storage/public/dist/img/payments/ripple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/sage-dark.svg b/storage/public/dist/img/payments/sage-dark.svg new file mode 100644 index 0000000..b14fb16 --- /dev/null +++ b/storage/public/dist/img/payments/sage-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/sage.svg b/storage/public/dist/img/payments/sage.svg new file mode 100644 index 0000000..1ac3fc0 --- /dev/null +++ b/storage/public/dist/img/payments/sage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/samsung-pay-dark.svg b/storage/public/dist/img/payments/samsung-pay-dark.svg new file mode 100644 index 0000000..56573b2 --- /dev/null +++ b/storage/public/dist/img/payments/samsung-pay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/samsung-pay.svg b/storage/public/dist/img/payments/samsung-pay.svg new file mode 100644 index 0000000..45f731d --- /dev/null +++ b/storage/public/dist/img/payments/samsung-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/sepa-dark.svg b/storage/public/dist/img/payments/sepa-dark.svg new file mode 100644 index 0000000..44a0c9f --- /dev/null +++ b/storage/public/dist/img/payments/sepa-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/sepa.svg b/storage/public/dist/img/payments/sepa.svg new file mode 100644 index 0000000..e55e56d --- /dev/null +++ b/storage/public/dist/img/payments/sepa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/shop-pay-dark.svg b/storage/public/dist/img/payments/shop-pay-dark.svg new file mode 100644 index 0000000..70eb6fb --- /dev/null +++ b/storage/public/dist/img/payments/shop-pay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/shop-pay.svg b/storage/public/dist/img/payments/shop-pay.svg new file mode 100644 index 0000000..6901908 --- /dev/null +++ b/storage/public/dist/img/payments/shop-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/shopify-dark.svg b/storage/public/dist/img/payments/shopify-dark.svg new file mode 100644 index 0000000..d69b477 --- /dev/null +++ b/storage/public/dist/img/payments/shopify-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/shopify.svg b/storage/public/dist/img/payments/shopify.svg new file mode 100644 index 0000000..0c64055 --- /dev/null +++ b/storage/public/dist/img/payments/shopify.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/skrill-dark.svg b/storage/public/dist/img/payments/skrill-dark.svg new file mode 100644 index 0000000..1069e20 --- /dev/null +++ b/storage/public/dist/img/payments/skrill-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/skrill.svg b/storage/public/dist/img/payments/skrill.svg new file mode 100644 index 0000000..9afe8c2 --- /dev/null +++ b/storage/public/dist/img/payments/skrill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/solana-dark.svg b/storage/public/dist/img/payments/solana-dark.svg new file mode 100644 index 0000000..1f3147a --- /dev/null +++ b/storage/public/dist/img/payments/solana-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/solana.svg b/storage/public/dist/img/payments/solana.svg new file mode 100644 index 0000000..dd05204 --- /dev/null +++ b/storage/public/dist/img/payments/solana.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/solo-dark.svg b/storage/public/dist/img/payments/solo-dark.svg new file mode 100644 index 0000000..c620b55 --- /dev/null +++ b/storage/public/dist/img/payments/solo-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/solo.svg b/storage/public/dist/img/payments/solo.svg new file mode 100644 index 0000000..4efa271 --- /dev/null +++ b/storage/public/dist/img/payments/solo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/spingo-dark.svg b/storage/public/dist/img/payments/spingo-dark.svg new file mode 100644 index 0000000..e487563 --- /dev/null +++ b/storage/public/dist/img/payments/spingo-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/spingo.svg b/storage/public/dist/img/payments/spingo.svg new file mode 100644 index 0000000..e96c055 --- /dev/null +++ b/storage/public/dist/img/payments/spingo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/square-dark.svg b/storage/public/dist/img/payments/square-dark.svg new file mode 100644 index 0000000..70239e1 --- /dev/null +++ b/storage/public/dist/img/payments/square-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/square.svg b/storage/public/dist/img/payments/square.svg new file mode 100644 index 0000000..84fc0a0 --- /dev/null +++ b/storage/public/dist/img/payments/square.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/stax-dark.svg b/storage/public/dist/img/payments/stax-dark.svg new file mode 100644 index 0000000..38609e7 --- /dev/null +++ b/storage/public/dist/img/payments/stax-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/stax.svg b/storage/public/dist/img/payments/stax.svg new file mode 100644 index 0000000..53ce0f3 --- /dev/null +++ b/storage/public/dist/img/payments/stax.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/stripe-dark.svg b/storage/public/dist/img/payments/stripe-dark.svg new file mode 100644 index 0000000..34670aa --- /dev/null +++ b/storage/public/dist/img/payments/stripe-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/stripe.svg b/storage/public/dist/img/payments/stripe.svg new file mode 100644 index 0000000..c02fba2 --- /dev/null +++ b/storage/public/dist/img/payments/stripe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/switch-dark.svg b/storage/public/dist/img/payments/switch-dark.svg new file mode 100644 index 0000000..520d66e --- /dev/null +++ b/storage/public/dist/img/payments/switch-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/switch.svg b/storage/public/dist/img/payments/switch.svg new file mode 100644 index 0000000..3e882c1 --- /dev/null +++ b/storage/public/dist/img/payments/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/tether-dark.svg b/storage/public/dist/img/payments/tether-dark.svg new file mode 100644 index 0000000..2729646 --- /dev/null +++ b/storage/public/dist/img/payments/tether-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/tether.svg b/storage/public/dist/img/payments/tether.svg new file mode 100644 index 0000000..b3b68bd --- /dev/null +++ b/storage/public/dist/img/payments/tether.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/tpay-dark.svg b/storage/public/dist/img/payments/tpay-dark.svg new file mode 100644 index 0000000..3191ee7 --- /dev/null +++ b/storage/public/dist/img/payments/tpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/tpay.svg b/storage/public/dist/img/payments/tpay.svg new file mode 100644 index 0000000..930add0 --- /dev/null +++ b/storage/public/dist/img/payments/tpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/troy-dark.svg b/storage/public/dist/img/payments/troy-dark.svg new file mode 100644 index 0000000..aeb2872 --- /dev/null +++ b/storage/public/dist/img/payments/troy-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/troy.svg b/storage/public/dist/img/payments/troy.svg new file mode 100644 index 0000000..d998cc1 --- /dev/null +++ b/storage/public/dist/img/payments/troy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/true-usd-dark.svg b/storage/public/dist/img/payments/true-usd-dark.svg new file mode 100644 index 0000000..8df1aad --- /dev/null +++ b/storage/public/dist/img/payments/true-usd-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/true-usd.svg b/storage/public/dist/img/payments/true-usd.svg new file mode 100644 index 0000000..f3cfd1d --- /dev/null +++ b/storage/public/dist/img/payments/true-usd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ukash-dark.svg b/storage/public/dist/img/payments/ukash-dark.svg new file mode 100644 index 0000000..8061b1e --- /dev/null +++ b/storage/public/dist/img/payments/ukash-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/ukash.svg b/storage/public/dist/img/payments/ukash.svg new file mode 100644 index 0000000..8421574 --- /dev/null +++ b/storage/public/dist/img/payments/ukash.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/unionpay-dark.svg b/storage/public/dist/img/payments/unionpay-dark.svg new file mode 100644 index 0000000..a6b60a8 --- /dev/null +++ b/storage/public/dist/img/payments/unionpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/unionpay.svg b/storage/public/dist/img/payments/unionpay.svg new file mode 100644 index 0000000..0dae4cd --- /dev/null +++ b/storage/public/dist/img/payments/unionpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/venmo-dark.svg b/storage/public/dist/img/payments/venmo-dark.svg new file mode 100644 index 0000000..e8328be --- /dev/null +++ b/storage/public/dist/img/payments/venmo-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/venmo.svg b/storage/public/dist/img/payments/venmo.svg new file mode 100644 index 0000000..0588c24 --- /dev/null +++ b/storage/public/dist/img/payments/venmo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/verifone-dark.svg b/storage/public/dist/img/payments/verifone-dark.svg new file mode 100644 index 0000000..dbbcb7e --- /dev/null +++ b/storage/public/dist/img/payments/verifone-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/verifone.svg b/storage/public/dist/img/payments/verifone.svg new file mode 100644 index 0000000..f099f3e --- /dev/null +++ b/storage/public/dist/img/payments/verifone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/verisign-dark.svg b/storage/public/dist/img/payments/verisign-dark.svg new file mode 100644 index 0000000..5e265ca --- /dev/null +++ b/storage/public/dist/img/payments/verisign-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/verisign.svg b/storage/public/dist/img/payments/verisign.svg new file mode 100644 index 0000000..357574a --- /dev/null +++ b/storage/public/dist/img/payments/verisign.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/visa-dark.svg b/storage/public/dist/img/payments/visa-dark.svg new file mode 100644 index 0000000..c2cd045 --- /dev/null +++ b/storage/public/dist/img/payments/visa-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/visa.svg b/storage/public/dist/img/payments/visa.svg new file mode 100644 index 0000000..96dd0f7 --- /dev/null +++ b/storage/public/dist/img/payments/visa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/we-chat-pay-dark.svg b/storage/public/dist/img/payments/we-chat-pay-dark.svg new file mode 100644 index 0000000..bb91a42 --- /dev/null +++ b/storage/public/dist/img/payments/we-chat-pay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/we-chat-pay.svg b/storage/public/dist/img/payments/we-chat-pay.svg new file mode 100644 index 0000000..7bfe58a --- /dev/null +++ b/storage/public/dist/img/payments/we-chat-pay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/webmoney-dark.svg b/storage/public/dist/img/payments/webmoney-dark.svg new file mode 100644 index 0000000..9a1f273 --- /dev/null +++ b/storage/public/dist/img/payments/webmoney-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/webmoney.svg b/storage/public/dist/img/payments/webmoney.svg new file mode 100644 index 0000000..f525487 --- /dev/null +++ b/storage/public/dist/img/payments/webmoney.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/westernunion-dark.svg b/storage/public/dist/img/payments/westernunion-dark.svg new file mode 100644 index 0000000..f813ba4 --- /dev/null +++ b/storage/public/dist/img/payments/westernunion-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/westernunion.svg b/storage/public/dist/img/payments/westernunion.svg new file mode 100644 index 0000000..0046876 --- /dev/null +++ b/storage/public/dist/img/payments/westernunion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/wise-dark.svg b/storage/public/dist/img/payments/wise-dark.svg new file mode 100644 index 0000000..b5e8a63 --- /dev/null +++ b/storage/public/dist/img/payments/wise-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/wise.svg b/storage/public/dist/img/payments/wise.svg new file mode 100644 index 0000000..aa6fa41 --- /dev/null +++ b/storage/public/dist/img/payments/wise.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/worldpay-dark.svg b/storage/public/dist/img/payments/worldpay-dark.svg new file mode 100644 index 0000000..21eacde --- /dev/null +++ b/storage/public/dist/img/payments/worldpay-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/worldpay.svg b/storage/public/dist/img/payments/worldpay.svg new file mode 100644 index 0000000..706c968 --- /dev/null +++ b/storage/public/dist/img/payments/worldpay.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/zelle-dark.svg b/storage/public/dist/img/payments/zelle-dark.svg new file mode 100644 index 0000000..61df238 --- /dev/null +++ b/storage/public/dist/img/payments/zelle-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/payments/zelle.svg b/storage/public/dist/img/payments/zelle.svg new file mode 100644 index 0000000..10113c1 --- /dev/null +++ b/storage/public/dist/img/payments/zelle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/storage/public/dist/img/social/apple-gray.svg b/storage/public/dist/img/social/apple-gray.svg new file mode 100644 index 0000000..c67754a --- /dev/null +++ b/storage/public/dist/img/social/apple-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/apple.svg b/storage/public/dist/img/social/apple.svg new file mode 100644 index 0000000..6a97265 --- /dev/null +++ b/storage/public/dist/img/social/apple.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/discord-gray.svg b/storage/public/dist/img/social/discord-gray.svg new file mode 100644 index 0000000..84d6059 --- /dev/null +++ b/storage/public/dist/img/social/discord-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/discord.svg b/storage/public/dist/img/social/discord.svg new file mode 100644 index 0000000..d47f8a5 --- /dev/null +++ b/storage/public/dist/img/social/discord.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/dribbble-gray.svg b/storage/public/dist/img/social/dribbble-gray.svg new file mode 100644 index 0000000..e019a4a --- /dev/null +++ b/storage/public/dist/img/social/dribbble-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/dribbble.svg b/storage/public/dist/img/social/dribbble.svg new file mode 100644 index 0000000..e5d2d23 --- /dev/null +++ b/storage/public/dist/img/social/dribbble.svg @@ -0,0 +1,4 @@ + + + + diff --git a/storage/public/dist/img/social/facebook-gray.svg b/storage/public/dist/img/social/facebook-gray.svg new file mode 100644 index 0000000..6df446f --- /dev/null +++ b/storage/public/dist/img/social/facebook-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/facebook.svg b/storage/public/dist/img/social/facebook.svg new file mode 100644 index 0000000..2500b02 --- /dev/null +++ b/storage/public/dist/img/social/facebook.svg @@ -0,0 +1,4 @@ + + + + diff --git a/storage/public/dist/img/social/figma-gray.svg b/storage/public/dist/img/social/figma-gray.svg new file mode 100644 index 0000000..5c33e71 --- /dev/null +++ b/storage/public/dist/img/social/figma-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/figma.svg b/storage/public/dist/img/social/figma.svg new file mode 100644 index 0000000..47c3ecb --- /dev/null +++ b/storage/public/dist/img/social/figma.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/storage/public/dist/img/social/github-gray.svg b/storage/public/dist/img/social/github-gray.svg new file mode 100644 index 0000000..5ceb42c --- /dev/null +++ b/storage/public/dist/img/social/github-gray.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/storage/public/dist/img/social/github.svg b/storage/public/dist/img/social/github.svg new file mode 100644 index 0000000..17fdfd9 --- /dev/null +++ b/storage/public/dist/img/social/github.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/storage/public/dist/img/social/google-gray.svg b/storage/public/dist/img/social/google-gray.svg new file mode 100644 index 0000000..6f5b19b --- /dev/null +++ b/storage/public/dist/img/social/google-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/google.svg b/storage/public/dist/img/social/google.svg new file mode 100644 index 0000000..63c348d --- /dev/null +++ b/storage/public/dist/img/social/google.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/storage/public/dist/img/social/instagram-gray.svg b/storage/public/dist/img/social/instagram-gray.svg new file mode 100644 index 0000000..4c8cd7a --- /dev/null +++ b/storage/public/dist/img/social/instagram-gray.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/storage/public/dist/img/social/instagram.svg b/storage/public/dist/img/social/instagram.svg new file mode 100644 index 0000000..b67a536 --- /dev/null +++ b/storage/public/dist/img/social/instagram.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/storage/public/dist/img/social/linkedin-gray.svg b/storage/public/dist/img/social/linkedin-gray.svg new file mode 100644 index 0000000..4bb7494 --- /dev/null +++ b/storage/public/dist/img/social/linkedin-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/linkedin.svg b/storage/public/dist/img/social/linkedin.svg new file mode 100644 index 0000000..6876a55 --- /dev/null +++ b/storage/public/dist/img/social/linkedin.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/medium-gray.svg b/storage/public/dist/img/social/medium-gray.svg new file mode 100644 index 0000000..5a2b387 --- /dev/null +++ b/storage/public/dist/img/social/medium-gray.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/storage/public/dist/img/social/medium.svg b/storage/public/dist/img/social/medium.svg new file mode 100644 index 0000000..033fb2b --- /dev/null +++ b/storage/public/dist/img/social/medium.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/storage/public/dist/img/social/meta-gray.svg b/storage/public/dist/img/social/meta-gray.svg new file mode 100644 index 0000000..590d233 --- /dev/null +++ b/storage/public/dist/img/social/meta-gray.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/storage/public/dist/img/social/meta.svg b/storage/public/dist/img/social/meta.svg new file mode 100644 index 0000000..bf20709 --- /dev/null +++ b/storage/public/dist/img/social/meta.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/storage/public/dist/img/social/metamask-gray.svg b/storage/public/dist/img/social/metamask-gray.svg new file mode 100644 index 0000000..7c82a32 --- /dev/null +++ b/storage/public/dist/img/social/metamask-gray.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/storage/public/dist/img/social/metamask.svg b/storage/public/dist/img/social/metamask.svg new file mode 100644 index 0000000..727d7c1 --- /dev/null +++ b/storage/public/dist/img/social/metamask.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/storage/public/dist/img/social/pinterest-gray.svg b/storage/public/dist/img/social/pinterest-gray.svg new file mode 100644 index 0000000..a5890f7 --- /dev/null +++ b/storage/public/dist/img/social/pinterest-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/pinterest.svg b/storage/public/dist/img/social/pinterest.svg new file mode 100644 index 0000000..62a3f73 --- /dev/null +++ b/storage/public/dist/img/social/pinterest.svg @@ -0,0 +1,4 @@ + + + + diff --git a/storage/public/dist/img/social/reddit-gray.svg b/storage/public/dist/img/social/reddit-gray.svg new file mode 100644 index 0000000..5ea0dad --- /dev/null +++ b/storage/public/dist/img/social/reddit-gray.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/storage/public/dist/img/social/reddit.svg b/storage/public/dist/img/social/reddit.svg new file mode 100644 index 0000000..1538033 --- /dev/null +++ b/storage/public/dist/img/social/reddit.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/storage/public/dist/img/social/signal-gray.svg b/storage/public/dist/img/social/signal-gray.svg new file mode 100644 index 0000000..8d6d450 --- /dev/null +++ b/storage/public/dist/img/social/signal-gray.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/storage/public/dist/img/social/signal.svg b/storage/public/dist/img/social/signal.svg new file mode 100644 index 0000000..671d0e2 --- /dev/null +++ b/storage/public/dist/img/social/signal.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/storage/public/dist/img/social/skype-gray.svg b/storage/public/dist/img/social/skype-gray.svg new file mode 100644 index 0000000..b4ac9f2 --- /dev/null +++ b/storage/public/dist/img/social/skype-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/skype.svg b/storage/public/dist/img/social/skype.svg new file mode 100644 index 0000000..30a271d --- /dev/null +++ b/storage/public/dist/img/social/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/snapchat-gray.svg b/storage/public/dist/img/social/snapchat-gray.svg new file mode 100644 index 0000000..a691f07 --- /dev/null +++ b/storage/public/dist/img/social/snapchat-gray.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/storage/public/dist/img/social/snapchat.svg b/storage/public/dist/img/social/snapchat.svg new file mode 100644 index 0000000..87d1d3c --- /dev/null +++ b/storage/public/dist/img/social/snapchat.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/storage/public/dist/img/social/spotify-gray.svg b/storage/public/dist/img/social/spotify-gray.svg new file mode 100644 index 0000000..f1f0bbf --- /dev/null +++ b/storage/public/dist/img/social/spotify-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/spotify.svg b/storage/public/dist/img/social/spotify.svg new file mode 100644 index 0000000..1c145e2 --- /dev/null +++ b/storage/public/dist/img/social/spotify.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/telegram-gray.svg b/storage/public/dist/img/social/telegram-gray.svg new file mode 100644 index 0000000..dde8698 --- /dev/null +++ b/storage/public/dist/img/social/telegram-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/telegram.svg b/storage/public/dist/img/social/telegram.svg new file mode 100644 index 0000000..39ec979 --- /dev/null +++ b/storage/public/dist/img/social/telegram.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/storage/public/dist/img/social/tiktok-gray.svg b/storage/public/dist/img/social/tiktok-gray.svg new file mode 100644 index 0000000..222df10 --- /dev/null +++ b/storage/public/dist/img/social/tiktok-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/tiktok.svg b/storage/public/dist/img/social/tiktok.svg new file mode 100644 index 0000000..6b99fcc --- /dev/null +++ b/storage/public/dist/img/social/tiktok.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/storage/public/dist/img/social/tumblr-gray.svg b/storage/public/dist/img/social/tumblr-gray.svg new file mode 100644 index 0000000..863efd2 --- /dev/null +++ b/storage/public/dist/img/social/tumblr-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/tumblr.svg b/storage/public/dist/img/social/tumblr.svg new file mode 100644 index 0000000..a7e9466 --- /dev/null +++ b/storage/public/dist/img/social/tumblr.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/twitch-gray.svg b/storage/public/dist/img/social/twitch-gray.svg new file mode 100644 index 0000000..44e14cf --- /dev/null +++ b/storage/public/dist/img/social/twitch-gray.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/storage/public/dist/img/social/twitch.svg b/storage/public/dist/img/social/twitch.svg new file mode 100644 index 0000000..5a12bef --- /dev/null +++ b/storage/public/dist/img/social/twitch.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/storage/public/dist/img/social/vk-gray.svg b/storage/public/dist/img/social/vk-gray.svg new file mode 100644 index 0000000..1787307 --- /dev/null +++ b/storage/public/dist/img/social/vk-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/vk.svg b/storage/public/dist/img/social/vk.svg new file mode 100644 index 0000000..feaaa3d --- /dev/null +++ b/storage/public/dist/img/social/vk.svg @@ -0,0 +1,4 @@ + + + + diff --git a/storage/public/dist/img/social/x-gray.svg b/storage/public/dist/img/social/x-gray.svg new file mode 100644 index 0000000..62d8c42 --- /dev/null +++ b/storage/public/dist/img/social/x-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/x.svg b/storage/public/dist/img/social/x.svg new file mode 100644 index 0000000..b1da3b7 --- /dev/null +++ b/storage/public/dist/img/social/x.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/youtube-gray.svg b/storage/public/dist/img/social/youtube-gray.svg new file mode 100644 index 0000000..c6786ad --- /dev/null +++ b/storage/public/dist/img/social/youtube-gray.svg @@ -0,0 +1,3 @@ + + + diff --git a/storage/public/dist/img/social/youtube.svg b/storage/public/dist/img/social/youtube.svg new file mode 100644 index 0000000..a1ac219 --- /dev/null +++ b/storage/public/dist/img/social/youtube.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/storage/public/dist/js/tabler-theme.esm.js b/storage/public/dist/js/tabler-theme.esm.js new file mode 100644 index 0000000..552e607 --- /dev/null +++ b/storage/public/dist/js/tabler-theme.esm.js @@ -0,0 +1,27 @@ +const themeConfig = { + "theme": "light", + "theme-base": "gray", + "theme-font": "sans-serif", + "theme-primary": "blue", + "theme-radius": "1" +}; +const params = new Proxy(new URLSearchParams(window.location.search), { + get: (searchParams, prop) => searchParams.get(prop) +}); +for (const key in themeConfig) { + const param = params[key]; + let selectedValue; + if (!!param) { + localStorage.setItem("tabler-" + key, param); + selectedValue = param; + } else { + const storedTheme = localStorage.getItem("tabler-" + key); + selectedValue = storedTheme ? storedTheme : themeConfig[key]; + } + if (selectedValue !== themeConfig[key]) { + document.documentElement.setAttribute("data-bs-" + key, selectedValue); + } else { + document.documentElement.removeAttribute("data-bs-" + key); + } +} +//# sourceMappingURL=tabler-theme.esm.js.map diff --git a/storage/public/dist/js/tabler-theme.esm.js.map b/storage/public/dist/js/tabler-theme.esm.js.map new file mode 100644 index 0000000..310eeb0 --- /dev/null +++ b/storage/public/dist/js/tabler-theme.esm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tabler-theme.esm.js","sources":["../../js/tabler-theme.ts"],"sourcesContent":["/**\n * demo-theme is specifically loaded right after the body and not deferred\n * to ensure we switch to the chosen dark/light theme as fast as possible.\n * This will prevent any flashes of the light theme (default) before switching.\n */\ninterface ThemeConfig {\n 'theme': string\n 'theme-base': string\n 'theme-font': string\n 'theme-primary': string\n 'theme-radius': string\n}\n\nconst themeConfig: ThemeConfig = {\n 'theme': 'light',\n 'theme-base': 'gray',\n 'theme-font': 'sans-serif',\n 'theme-primary': 'blue',\n 'theme-radius': '1',\n}\n\nconst params = new Proxy(new URLSearchParams(window.location.search), {\n get: (searchParams: URLSearchParams, prop: string): string | null => searchParams.get(prop),\n})\n\nfor (const key in themeConfig) {\n const param = params[key]\n let selectedValue: string\n\n if (!!param) {\n localStorage.setItem('tabler-' + key, param)\n selectedValue = param\n } else {\n const storedTheme = localStorage.getItem('tabler-' + key)\n selectedValue = storedTheme ? storedTheme : themeConfig[key as keyof ThemeConfig]\n }\n\n if (selectedValue !== themeConfig[key as keyof ThemeConfig]) {\n document.documentElement.setAttribute('data-bs-' + key, selectedValue)\n } else {\n document.documentElement.removeAttribute('data-bs-' + key)\n }\n}\n"],"names":[],"mappings":"AAaA,MAAM,cAA2B;AAAA,EAC/B,SAAS;AAAA,EACT,cAAc;AAAA,EACd,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,gBAAgB;AAClB;AAEA,MAAM,SAAS,IAAI,MAAM,IAAI,gBAAgB,OAAO,SAAS,MAAM,GAAG;AAAA,EACpE,KAAK,CAAC,cAA+B,SAAgC,aAAa,IAAI,IAAI;AAC5F,CAAC;AAED,WAAW,OAAO,aAAa;AAC7B,QAAM,QAAQ,OAAO,GAAG;AACxB,MAAI;AAEJ,MAAI,CAAC,CAAC,OAAO;AACX,iBAAa,QAAQ,YAAY,KAAK,KAAK;AAC3C,oBAAgB;AAAA,EAClB,OAAO;AACL,UAAM,cAAc,aAAa,QAAQ,YAAY,GAAG;AACxD,oBAAgB,cAAc,cAAc,YAAY,GAAwB;AAAA,EAClF;AAEA,MAAI,kBAAkB,YAAY,GAAwB,GAAG;AAC3D,aAAS,gBAAgB,aAAa,aAAa,KAAK,aAAa;AAAA,EACvE,OAAO;AACL,aAAS,gBAAgB,gBAAgB,aAAa,GAAG;AAAA,EAC3D;AACF;"} \ No newline at end of file diff --git a/storage/public/dist/js/tabler-theme.js b/storage/public/dist/js/tabler-theme.js new file mode 100644 index 0000000..c3966d4 --- /dev/null +++ b/storage/public/dist/js/tabler-theme.js @@ -0,0 +1,32 @@ +(function(factory) { + typeof define === "function" && define.amd ? define(factory) : factory(); +})((function() { + "use strict"; + const themeConfig = { + "theme": "light", + "theme-base": "gray", + "theme-font": "sans-serif", + "theme-primary": "blue", + "theme-radius": "1" + }; + const params = new Proxy(new URLSearchParams(window.location.search), { + get: (searchParams, prop) => searchParams.get(prop) + }); + for (const key in themeConfig) { + const param = params[key]; + let selectedValue; + if (!!param) { + localStorage.setItem("tabler-" + key, param); + selectedValue = param; + } else { + const storedTheme = localStorage.getItem("tabler-" + key); + selectedValue = storedTheme ? storedTheme : themeConfig[key]; + } + if (selectedValue !== themeConfig[key]) { + document.documentElement.setAttribute("data-bs-" + key, selectedValue); + } else { + document.documentElement.removeAttribute("data-bs-" + key); + } + } +})); +//# sourceMappingURL=tabler-theme.js.map diff --git a/storage/public/dist/js/tabler-theme.js.map b/storage/public/dist/js/tabler-theme.js.map new file mode 100644 index 0000000..b41c268 --- /dev/null +++ b/storage/public/dist/js/tabler-theme.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tabler-theme.js","sources":["../../js/tabler-theme.ts"],"sourcesContent":["/**\n * demo-theme is specifically loaded right after the body and not deferred\n * to ensure we switch to the chosen dark/light theme as fast as possible.\n * This will prevent any flashes of the light theme (default) before switching.\n */\ninterface ThemeConfig {\n 'theme': string\n 'theme-base': string\n 'theme-font': string\n 'theme-primary': string\n 'theme-radius': string\n}\n\nconst themeConfig: ThemeConfig = {\n 'theme': 'light',\n 'theme-base': 'gray',\n 'theme-font': 'sans-serif',\n 'theme-primary': 'blue',\n 'theme-radius': '1',\n}\n\nconst params = new Proxy(new URLSearchParams(window.location.search), {\n get: (searchParams: URLSearchParams, prop: string): string | null => searchParams.get(prop),\n})\n\nfor (const key in themeConfig) {\n const param = params[key]\n let selectedValue: string\n\n if (!!param) {\n localStorage.setItem('tabler-' + key, param)\n selectedValue = param\n } else {\n const storedTheme = localStorage.getItem('tabler-' + key)\n selectedValue = storedTheme ? storedTheme : themeConfig[key as keyof ThemeConfig]\n }\n\n if (selectedValue !== themeConfig[key as keyof ThemeConfig]) {\n document.documentElement.setAttribute('data-bs-' + key, selectedValue)\n } else {\n document.documentElement.removeAttribute('data-bs-' + key)\n }\n}\n"],"names":[],"mappings":";;;;AAaA,QAAM,cAA2B;AAAA,IAC/B,SAAS;AAAA,IACT,cAAc;AAAA,IACd,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,EAClB;AAEA,QAAM,SAAS,IAAI,MAAM,IAAI,gBAAgB,OAAO,SAAS,MAAM,GAAG;AAAA,IACpE,KAAK,CAAC,cAA+B,SAAgC,aAAa,IAAI,IAAI;AAAA,EAC5F,CAAC;AAED,aAAW,OAAO,aAAa;AAC7B,UAAM,QAAQ,OAAO,GAAG;AACxB,QAAI;AAEJ,QAAI,CAAC,CAAC,OAAO;AACX,mBAAa,QAAQ,YAAY,KAAK,KAAK;AAC3C,sBAAgB;AAAA,IAClB,OAAO;AACL,YAAM,cAAc,aAAa,QAAQ,YAAY,GAAG;AACxD,sBAAgB,cAAc,cAAc,YAAY,GAAwB;AAAA,IAClF;AAEA,QAAI,kBAAkB,YAAY,GAAwB,GAAG;AAC3D,eAAS,gBAAgB,aAAa,aAAa,KAAK,aAAa;AAAA,IACvE,OAAO;AACL,eAAS,gBAAgB,gBAAgB,aAAa,GAAG;AAAA,IAC3D;AAAA,EACF;;"} \ No newline at end of file diff --git a/storage/public/dist/js/tabler.esm.js b/storage/public/dist/js/tabler.esm.js new file mode 100644 index 0000000..d7942f8 --- /dev/null +++ b/storage/public/dist/js/tabler.esm.js @@ -0,0 +1,5017 @@ +const autosizeElements = document.querySelectorAll('[data-bs-toggle="autosize"]'); +if (autosizeElements.length) { + autosizeElements.forEach(function(element) { + if (window.autosize) { + window.autosize(element); + } + }); +} +const countupElements = document.querySelectorAll("[data-countup]"); +if (countupElements.length) { + countupElements.forEach(function(element) { + let options = {}; + try { + const dataOptions = element.getAttribute("data-countup") ? JSON.parse(element.getAttribute("data-countup")) : {}; + options = Object.assign( + { + enableScrollSpy: true + }, + dataOptions + ); + } catch (error) { + } + const value = parseInt(element.innerHTML, 10); + if (window.countUp && window.countUp.CountUp) { + const countUp = new window.countUp.CountUp(element, value, options); + if (!countUp.error) { + countUp.start(); + } + } + }); +} +const maskElementList = [].slice.call(document.querySelectorAll("[data-mask]")); +maskElementList.map(function(maskEl) { + window.IMask && new window.IMask(maskEl, { + mask: maskEl.dataset.mask, + lazy: maskEl.dataset["mask-visible"] === "true" + }); +}); +var top = "top"; +var bottom = "bottom"; +var right = "right"; +var left = "left"; +var auto = "auto"; +var basePlacements = [top, bottom, right, left]; +var start = "start"; +var end = "end"; +var clippingParents = "clippingParents"; +var viewport = "viewport"; +var popper = "popper"; +var reference = "reference"; +var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); +}, []); +var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); +}, []); +var beforeRead = "beforeRead"; +var read = "read"; +var afterRead = "afterRead"; +var beforeMain = "beforeMain"; +var main = "main"; +var afterMain = "afterMain"; +var beforeWrite = "beforeWrite"; +var write = "write"; +var afterWrite = "afterWrite"; +var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; +function getNodeName(element) { + return element ? (element.nodeName || "").toLowerCase() : null; +} +function getWindow(node) { + if (node == null) { + return window; + } + if (node.toString() !== "[object Window]") { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + return node; +} +function isElement$1(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; +} +function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; +} +function isShadowRoot(node) { + if (typeof ShadowRoot === "undefined") { + return false; + } + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; +} +function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function(name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function(name2) { + var value = attributes[name2]; + if (value === false) { + element.removeAttribute(name2); + } else { + element.setAttribute(name2, value === true ? "" : value); + } + }); + }); +} +function effect$2(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: "0", + top: "0", + margin: "0" + }, + arrow: { + position: "absolute" + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + return function() { + Object.keys(state.elements).forEach(function(name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); + var style = styleProperties.reduce(function(style2, property) { + style2[property] = ""; + return style2; + }, {}); + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function(attribute) { + element.removeAttribute(attribute); + }); + }); + }; +} +const applyStyles$1 = { + name: "applyStyles", + enabled: true, + phase: "write", + fn: applyStyles, + effect: effect$2, + requires: ["computeStyles"] +}; +function getBasePlacement(placement) { + return placement.split("-")[0]; +} +var max = Math.max; +var min = Math.min; +var round = Math.round; +function getUAString() { + var uaData = navigator.userAgentData; + if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { + return uaData.brands.map(function(item) { + return item.brand + "/" + item.version; + }).join(" "); + } + return navigator.userAgent; +} +function isLayoutViewport() { + return !/^((?!chrome|android).)*safari/i.test(getUAString()); +} +function getBoundingClientRect(element, includeScale, isFixedStrategy) { + if (includeScale === void 0) { + includeScale = false; + } + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + var clientRect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + if (includeScale && isHTMLElement(element)) { + scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; + scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; + } + var _ref = isElement$1(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport; + var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; + var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; + var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; + var width = clientRect.width / scaleX; + var height = clientRect.height / scaleY; + return { + width, + height, + top: y, + right: x + width, + bottom: y + height, + left: x, + x, + y + }; +} +function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); + var width = element.offsetWidth; + var height = element.offsetHeight; + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + return { + x: element.offsetLeft, + y: element.offsetTop, + width, + height + }; +} +function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); + if (parent.contains(child)) { + return true; + } else if (rootNode && isShadowRoot(rootNode)) { + var next = child; + do { + if (next && parent.isSameNode(next)) { + return true; + } + next = next.parentNode || next.host; + } while (next); + } + return false; +} +function getComputedStyle$1(element) { + return getWindow(element).getComputedStyle(element); +} +function isTableElement(element) { + return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0; +} +function getDocumentElement(element) { + return ((isElement$1(element) ? element.ownerDocument : ( + // $FlowFixMe[prop-missing] + element.document + )) || window.document).documentElement; +} +function getParentNode(element) { + if (getNodeName(element) === "html") { + return element; + } + return ( + // this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + getDocumentElement(element) + ); +} +function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 + getComputedStyle$1(element).position === "fixed") { + return null; + } + return element.offsetParent; +} +function getContainingBlock(element) { + var isFirefox = /firefox/i.test(getUAString()); + var isIE = /Trident/i.test(getUAString()); + if (isIE && isHTMLElement(element)) { + var elementCss = getComputedStyle$1(element); + if (elementCss.position === "fixed") { + return null; + } + } + var currentNode = getParentNode(element); + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle$1(currentNode); + if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + return null; +} +function getOffsetParent(element) { + var window2 = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === "static") { + offsetParent = getTrueOffsetParent(offsetParent); + } + if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle$1(offsetParent).position === "static")) { + return window2; + } + return offsetParent || getContainingBlock(element) || window2; +} +function getMainAxisFromPlacement(placement) { + return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y"; +} +function within(min$1, value, max$1) { + return max(min$1, min(value, max$1)); +} +function withinMaxClamp(min2, value, max2) { + var v = within(min2, value, max2); + return v > max2 ? max2 : v; +} +function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; +} +function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); +} +function expandToHashMap(value, keys) { + return keys.reduce(function(hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); +} +var toPaddingObject = function toPaddingObject2(padding, state) { + padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); +}; +function arrow(_ref) { + var _state$modifiersData$; + var state = _ref.state, name = _ref.name, options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets2 = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? "height" : "width"; + if (!arrowElement || !popperOffsets2) { + return; + } + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === "y" ? top : left; + var maxProp = axis === "y" ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len]; + var startDiff = popperOffsets2[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; + var min2 = paddingObject[minProp]; + var max2 = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset2 = within(min2, center, max2); + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$); +} +function effect$1(_ref2) { + var state = _ref2.state, options = _ref2.options; + var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element; + if (arrowElement == null) { + return; + } + if (typeof arrowElement === "string") { + arrowElement = state.elements.popper.querySelector(arrowElement); + if (!arrowElement) { + return; + } + } + if (!contains(state.elements.popper, arrowElement)) { + return; + } + state.elements.arrow = arrowElement; +} +const arrow$1 = { + name: "arrow", + enabled: true, + phase: "main", + fn: arrow, + effect: effect$1, + requires: ["popperOffsets"], + requiresIfExists: ["preventOverflow"] +}; +function getVariation(placement) { + return placement.split("-")[1]; +} +var unsetSides = { + top: "auto", + right: "auto", + bottom: "auto", + left: "auto" +}; +function roundOffsetsByDPR(_ref, win) { + var x = _ref.x, y = _ref.y; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; +} +function mapToStyles(_ref2) { + var _Object$assign2; + var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y; + var _ref3 = typeof roundOffsets === "function" ? roundOffsets({ + x, + y + }) : { + x, + y + }; + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty("x"); + var hasY = offsets.hasOwnProperty("y"); + var sideX = left; + var sideY = top; + var win = window; + if (adaptive) { + var offsetParent = getOffsetParent(popper2); + var heightProp = "clientHeight"; + var widthProp = "clientWidth"; + if (offsetParent === getWindow(popper2)) { + offsetParent = getDocumentElement(popper2); + if (getComputedStyle$1(offsetParent).position !== "static" && position === "absolute") { + heightProp = "scrollHeight"; + widthProp = "scrollWidth"; + } + } + offsetParent = offsetParent; + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : ( + // $FlowFixMe[prop-missing] + offsetParent[heightProp] + ); + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : ( + // $FlowFixMe[prop-missing] + offsetParent[widthProp] + ); + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + var commonStyles = Object.assign({ + position + }, adaptive && unsetSides); + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x, + y + }, getWindow(popper2)) : { + x, + y + }; + x = _ref4.x; + y = _ref4.y; + if (gpuAcceleration) { + var _Object$assign; + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2)); +} +function computeStyles(_ref5) { + var state = _ref5.state, options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration, + isFixed: state.options.strategy === "fixed" + }; + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive, + roundOffsets + }))); + } + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: "absolute", + adaptive: false, + roundOffsets + }))); + } + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-placement": state.placement + }); +} +const computeStyles$1 = { + name: "computeStyles", + enabled: true, + phase: "beforeWrite", + fn: computeStyles, + data: {} +}; +var passive = { + passive: true +}; +function effect(_ref) { + var state = _ref.state, instance = _ref.instance, options = _ref.options; + var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize; + var window2 = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.addEventListener("scroll", instance.update, passive); + }); + } + if (resize) { + window2.addEventListener("resize", instance.update, passive); + } + return function() { + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.removeEventListener("scroll", instance.update, passive); + }); + } + if (resize) { + window2.removeEventListener("resize", instance.update, passive); + } + }; +} +const eventListeners = { + name: "eventListeners", + enabled: true, + phase: "write", + fn: function fn() { + }, + effect, + data: {} +}; +var hash$1 = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" +}; +function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function(matched) { + return hash$1[matched]; + }); +} +var hash = { + start: "end", + end: "start" +}; +function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function(matched) { + return hash[matched]; + }); +} +function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft, + scrollTop + }; +} +function getWindowScrollBarX(element) { + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; +} +function getViewportRect(element, strategy) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + var layoutViewport = isLayoutViewport(); + if (layoutViewport || !layoutViewport && strategy === "fixed") { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + return { + width, + height, + x: x + getWindowScrollBarX(element), + y + }; +} +function getDocumentRect(element) { + var _element$ownerDocumen; + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + if (getComputedStyle$1(body || html).direction === "rtl") { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + return { + width, + height, + x, + y + }; +} +function isScrollParent(element) { + var _getComputedStyle = getComputedStyle$1(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY; + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); +} +function getScrollParent(node) { + if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) { + return node.ownerDocument.body; + } + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + return getScrollParent(getParentNode(node)); +} +function listScrollParents(element, list) { + var _element$ownerDocumen; + if (list === void 0) { + list = []; + } + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : ( + // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents(getParentNode(target))) + ); +} +function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); +} +function getInnerBoundingClientRect(element, strategy) { + var rect = getBoundingClientRect(element, false, strategy === "fixed"); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; +} +function getClientRectFromMixedType(element, clippingParent, strategy) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement$1(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); +} +function getClippingParents(element) { + var clippingParents2 = listScrollParents(getParentNode(element)); + var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle$1(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + if (!isElement$1(clipperElement)) { + return []; + } + return clippingParents2.filter(function(clippingParent) { + return isElement$1(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body"; + }); +} +function getClippingRect(element, boundary, rootBoundary, strategy) { + var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary); + var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents2[0]; + var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent, strategy); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent, strategy)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; +} +function computeOffsets(_ref) { + var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference2.x + reference2.width / 2 - element.width / 2; + var commonY = reference2.y + reference2.height / 2 - element.height / 2; + var offsets; + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference2.y - element.height + }; + break; + case bottom: + offsets = { + x: commonX, + y: reference2.y + reference2.height + }; + break; + case right: + offsets = { + x: reference2.x + reference2.width, + y: commonY + }; + break; + case left: + offsets = { + x: reference2.x - element.width, + y: commonY + }; + break; + default: + offsets = { + x: reference2.x, + y: reference2.y + }; + } + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + if (mainAxis != null) { + var len = mainAxis === "y" ? "height" : "width"; + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2); + break; + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2); + break; + } + } + return offsets; +} +function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement$1(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets2 = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; + if (elementContext === popper && offsetData) { + var offset2 = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function(key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x"; + overflowOffsets[key] += offset2[axis] * multiply; + }); + } + return overflowOffsets; +} +function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) { + return getVariation(placement2) === variation; + }) : basePlacements; + var allowedPlacements = placements$1.filter(function(placement2) { + return allowedAutoPlacements.indexOf(placement2) >= 0; + }); + if (allowedPlacements.length === 0) { + allowedPlacements = placements$1; + } + var overflows = allowedPlacements.reduce(function(acc, placement2) { + acc[placement2] = detectOverflow(state, { + placement: placement2, + boundary, + rootBoundary, + padding + })[getBasePlacement(placement2)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function(a, b) { + return overflows[a] - overflows[b]; + }); +} +function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; +} +function flip(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + if (state.modifiersData[name]._skip) { + return; + } + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) { + return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, { + placement: placement2, + boundary, + rootBoundary, + padding, + flipVariations, + allowedAutoPlacements + }) : placement2); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = /* @__PURE__ */ new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements2[0]; + for (var i = 0; i < placements2.length; i++) { + var placement = placements2[i]; + var _basePlacement = getBasePlacement(placement); + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? "width" : "height"; + var overflow = detectOverflow(state, { + placement, + boundary, + rootBoundary, + altBoundary, + padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + if (checks.every(function(check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + checksMap.set(placement, checks); + } + if (makeFallbackChecks) { + var numberOfChecks = flipVariations ? 3 : 1; + var _loop = function _loop2(_i2) { + var fittingPlacement = placements2.find(function(placement2) { + var checks2 = checksMap.get(placement2); + if (checks2) { + return checks2.slice(0, _i2).every(function(check) { + return check; + }); + } + }); + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + if (_ret === "break") break; + } + } + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } +} +const flip$1 = { + name: "flip", + enabled: true, + phase: "main", + fn: flip, + requiresIfExists: ["offset"], + data: { + _skip: false + } +}; +function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; +} +function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function(side) { + return overflow[side] >= 0; + }); +} +function hide(_ref) { + var state = _ref.state, name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: "reference" + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets, + popperEscapeOffsets, + isReferenceHidden, + hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-reference-hidden": isReferenceHidden, + "data-popper-escaped": hasPopperEscaped + }); +} +const hide$1 = { + name: "hide", + enabled: true, + phase: "main", + requiresIfExists: ["preventOverflow"], + fn: hide +}; +function distanceAndSkiddingToXY(placement, rects, offset2) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, { + placement + })) : offset2, skidding = _ref[0], distance = _ref[1]; + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; +} +function offset(_ref2) { + var state = _ref2.state, options = _ref2.options, name = _ref2.name; + var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function(acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2); + return acc; + }, {}); + var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; +} +const offset$1 = { + name: "offset", + enabled: true, + phase: "main", + requires: ["popperOffsets"], + fn: offset +}; +function popperOffsets(_ref) { + var state = _ref.state, name = _ref.name; + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + placement: state.placement + }); +} +const popperOffsets$1 = { + name: "popperOffsets", + enabled: true, + phase: "read", + fn: popperOffsets, + data: {} +}; +function getAltAxis(axis) { + return axis === "x" ? "y" : "x"; +} +function preventOverflow(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary, + rootBoundary, + padding, + altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets2 = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + if (!popperOffsets2) { + return; + } + if (checkMainAxis) { + var _offsetModifierState$; + var mainSide = mainAxis === "y" ? top : left; + var altSide = mainAxis === "y" ? bottom : right; + var len = mainAxis === "y" ? "height" : "width"; + var offset2 = popperOffsets2[mainAxis]; + var min$1 = offset2 + overflow[mainSide]; + var max$1 = offset2 - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset2 + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset2, tether ? max(max$1, tetherMax) : max$1); + popperOffsets2[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset2; + } + if (checkAltAxis) { + var _offsetModifierState$2; + var _mainSide = mainAxis === "x" ? top : left; + var _altSide = mainAxis === "x" ? bottom : right; + var _offset = popperOffsets2[altAxis]; + var _len = altAxis === "y" ? "height" : "width"; + var _min = _offset + overflow[_mainSide]; + var _max = _offset - overflow[_altSide]; + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + popperOffsets2[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + state.modifiersData[name] = data; +} +const preventOverflow$1 = { + name: "preventOverflow", + enabled: true, + phase: "main", + fn: preventOverflow, + requiresIfExists: ["offset"] +}; +function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; +} +function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } +} +function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = round(rect.width) / element.offsetWidth || 1; + var scaleY = round(rect.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; +} +function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078 + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; +} +function order(modifiers) { + var map = /* @__PURE__ */ new Map(); + var visited = /* @__PURE__ */ new Set(); + var result = []; + modifiers.forEach(function(modifier) { + map.set(modifier.name, modifier); + }); + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function(dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + modifiers.forEach(function(modifier) { + if (!visited.has(modifier.name)) { + sort(modifier); + } + }); + return result; +} +function orderModifiers(modifiers) { + var orderedModifiers = order(modifiers); + return modifierPhases.reduce(function(acc, phase) { + return acc.concat(orderedModifiers.filter(function(modifier) { + return modifier.phase === phase; + })); + }, []); +} +function debounce(fn2) { + var pending; + return function() { + if (!pending) { + pending = new Promise(function(resolve) { + Promise.resolve().then(function() { + pending = void 0; + resolve(fn2()); + }); + }); + } + return pending; + }; +} +function mergeByName(modifiers) { + var merged = modifiers.reduce(function(merged2, current) { + var existing = merged2[current.name]; + merged2[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged2; + }, {}); + return Object.keys(merged).map(function(key) { + return merged[key]; + }); +} +var DEFAULT_OPTIONS = { + placement: "bottom", + modifiers: [], + strategy: "absolute" +}; +function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return !args.some(function(element) { + return !(element && typeof element.getBoundingClientRect === "function"); + }); +} +function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper2(reference2, popper2, options) { + if (options === void 0) { + options = defaultOptions; + } + var state = { + placement: "bottom", + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference2, + popper: popper2 + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state, + setOptions: function setOptions(setOptionsAction) { + var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options2); + state.scrollParents = { + reference: isElement$1(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [], + popper: listScrollParents(popper2) + }; + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers))); + state.orderedModifiers = orderedModifiers.filter(function(m) { + return m.enabled; + }); + runModifierEffects(); + return instance.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper; + if (!areValidElements(reference3, popper3)) { + return; + } + state.rects = { + reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"), + popper: getLayoutRect(popper3) + }; + state.reset = false; + state.placement = state.options.placement; + state.orderedModifiers.forEach(function(modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name; + if (typeof fn2 === "function") { + state = fn2({ + state, + options: _options, + name, + instance + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: debounce(function() { + return new Promise(function(resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + if (!areValidElements(reference2, popper2)) { + return instance; + } + instance.setOptions(options).then(function(state2) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state2); + } + }); + function runModifierEffects() { + state.orderedModifiers.forEach(function(_ref) { + var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect2 = _ref.effect; + if (typeof effect2 === "function") { + var cleanupFn = effect2({ + state, + name, + instance, + options: options2 + }); + var noopFn = function noopFn2() { + }; + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + function cleanupModifierEffects() { + effectCleanupFns.forEach(function(fn2) { + return fn2(); + }); + effectCleanupFns = []; + } + return instance; + }; +} +var createPopper$2 = /* @__PURE__ */ popperGenerator(); +var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; +var createPopper$1 = /* @__PURE__ */ popperGenerator({ + defaultModifiers: defaultModifiers$1 +}); +var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; +var createPopper = /* @__PURE__ */ popperGenerator({ + defaultModifiers +}); +const Popper = /* @__PURE__ */ Object.freeze({ + __proto__: null, + afterMain, + afterRead, + afterWrite, + applyStyles: applyStyles$1, + arrow: arrow$1, + auto, + basePlacements, + beforeMain, + beforeRead, + beforeWrite, + bottom, + clippingParents, + computeStyles: computeStyles$1, + createPopper, + createPopperBase: createPopper$2, + createPopperLite: createPopper$1, + detectOverflow, + end, + eventListeners, + flip: flip$1, + hide: hide$1, + left, + main, + modifierPhases, + offset: offset$1, + placements, + popper, + popperGenerator, + popperOffsets: popperOffsets$1, + preventOverflow: preventOverflow$1, + read, + reference, + right, + start, + top, + variationPlacements, + viewport, + write +}); +const elementMap = /* @__PURE__ */ new Map(); +const Data = { + set(element, key, instance) { + if (!elementMap.has(element)) { + elementMap.set(element, /* @__PURE__ */ new Map()); + } + const instanceMap = elementMap.get(element); + if (!instanceMap.has(key) && instanceMap.size !== 0) { + console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); + return; + } + instanceMap.set(key, instance); + }, + get(element, key) { + if (elementMap.has(element)) { + return elementMap.get(element).get(key) || null; + } + return null; + }, + remove(element, key) { + if (!elementMap.has(element)) { + return; + } + const instanceMap = elementMap.get(element); + instanceMap.delete(key); + if (instanceMap.size === 0) { + elementMap.delete(element); + } + } +}; +const namespaceRegex = /[^.]*(?=\..*)\.|.*/; +const stripNameRegex = /\..*/; +const stripUidRegex = /::\d+$/; +const eventRegistry = {}; +let uidEvent = 1; +const customEvents = { + mouseenter: "mouseover", + mouseleave: "mouseout" +}; +const nativeEvents = /* @__PURE__ */ new Set([ + "click", + "dblclick", + "mouseup", + "mousedown", + "contextmenu", + "mousewheel", + "DOMMouseScroll", + "mouseover", + "mouseout", + "mousemove", + "selectstart", + "selectend", + "keydown", + "keypress", + "keyup", + "orientationchange", + "touchstart", + "touchmove", + "touchend", + "touchcancel", + "pointerdown", + "pointermove", + "pointerup", + "pointerleave", + "pointercancel", + "gesturestart", + "gesturechange", + "gestureend", + "focus", + "blur", + "change", + "reset", + "select", + "submit", + "focusin", + "focusout", + "load", + "unload", + "beforeunload", + "resize", + "move", + "DOMContentLoaded", + "readystatechange", + "error", + "abort", + "scroll" +]); +function makeEventUid(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; +} +function getElementEvents(element) { + const uid = makeEventUid(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; +} +function bootstrapHandler(element, fn2) { + return function handler(event) { + hydrateObj(event, { delegateTarget: element }); + if (handler.oneOff) { + EventHandler.off(element, event.type, fn2); + } + return fn2.apply(element, [event]); + }; +} +function bootstrapDelegationHandler(element, selector, fn2) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + for (let { target } = event; target && target !== this; target = target.parentNode) { + for (const domElement of domElements) { + if (domElement !== target) { + continue; + } + hydrateObj(event, { delegateTarget: target }); + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn2); + } + return fn2.apply(target, [event]); + } + } + }; +} +function findHandler(events, callable, delegationSelector = null) { + return Object.values(events).find((event) => event.callable === callable && event.delegationSelector === delegationSelector); +} +function normalizeParameters(originalTypeEvent, handler, delegationFunction) { + const isDelegated = typeof handler === "string"; + const callable = isDelegated ? delegationFunction : handler || delegationFunction; + let typeEvent = getTypeEvent(originalTypeEvent); + if (!nativeEvents.has(typeEvent)) { + typeEvent = originalTypeEvent; + } + return [isDelegated, callable, typeEvent]; +} +function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { + if (typeof originalTypeEvent !== "string" || !element) { + return; + } + let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + if (originalTypeEvent in customEvents) { + const wrapFunction = (fn22) => { + return function(event) { + const evt = event; + if (!evt.relatedTarget || evt.relatedTarget !== evt.delegateTarget && !evt.delegateTarget.contains(evt.relatedTarget)) { + return fn22.call(this, event); + } + }; + }; + callable = wrapFunction(callable); + } + const events = getElementEvents(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); + if (previousFunction) { + previousFunction.oneOff = previousFunction.oneOff && oneOff; + return; + } + const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, "")); + const fn2 = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); + fn2.delegationSelector = isDelegated ? handler : null; + fn2.callable = callable; + fn2.oneOff = oneOff; + fn2.uidEvent = uid; + handlers[uid] = fn2; + element.addEventListener(typeEvent, fn2, isDelegated); +} +function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn2 = findHandler(events[typeEvent], handler, delegationSelector != null ? delegationSelector : null); + if (!fn2) { + return; + } + element.removeEventListener(typeEvent, fn2, Boolean(delegationSelector)); + delete events[typeEvent][fn2.uidEvent]; +} +function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + for (const [handlerKey, event] of Object.entries(storeElementEvent)) { + if (handlerKey.includes(namespace)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } +} +function getTypeEvent(event) { + event = event.replace(stripNameRegex, ""); + return customEvents[event] || event; +} +const EventHandler = { + on(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, false); + }, + one(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, true); + }, + off(element, originalTypeEvent, handler, delegationFunction) { + if (typeof originalTypeEvent !== "string" || !element) { + return; + } + const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + const inNamespace = typeEvent !== originalTypeEvent; + const events = getElementEvents(element); + const storeElementEvent = events[typeEvent] || {}; + const isNamespace = originalTypeEvent.startsWith("."); + if (typeof callable !== "undefined") { + if (!Object.keys(storeElementEvent).length) { + return; + } + removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); + return; + } + if (isNamespace) { + for (const elementEvent of Object.keys(events)) { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); + } + } + for (const [keyHandlers, event] of Object.entries(storeElementEvent)) { + const handlerKey = keyHandlers.replace(stripUidRegex, ""); + if (!inNamespace || originalTypeEvent.includes(handlerKey)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + }, + trigger(element, event, args) { + if (typeof event !== "string" || !element) { + return null; + } + const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args); + element.dispatchEvent(evt); + return evt; + } +}; +function hydrateObj(obj, meta = {}) { + for (const [key, value] of Object.entries(meta)) { + try { + obj[key] = value; + } catch (e) { + Object.defineProperty(obj, key, { + configurable: true, + get() { + return value; + } + }); + } + } + return obj; +} +function normalizeData(value) { + if (value === "true") { + return true; + } + if (value === "false") { + return false; + } + if (value === Number(value).toString()) { + return Number(value); + } + if (value === "" || value === "null") { + return null; + } + if (typeof value !== "string") { + return value; + } + try { + return JSON.parse(decodeURIComponent(value)); + } catch (e) { + return value; + } +} +function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`); +} +const PREFIXES = ["tblr", "bs"]; +const Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-tblr-${normalizeDataKey(key)}`, value); + }, + removeDataAttribute(element, key) { + for (const prefix2 of PREFIXES) { + element.removeAttribute(`data-${prefix2}-${normalizeDataKey(key)}`); + } + }, + getDataAttributes(element) { + if (!element) { + return {}; + } + const attributes = {}; + for (const prefix2 of PREFIXES) { + const keys = Object.keys(element.dataset).filter((key) => key.startsWith(prefix2) && !key.startsWith(`${prefix2}Config`)); + for (const key of keys) { + let pureKey = key.replace(new RegExp(`^${prefix2}`), ""); + pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1); + if (!(pureKey in attributes)) { + attributes[pureKey] = normalizeData(element.dataset[key]); + } + } + } + return attributes; + }, + getDataAttribute(element, key) { + for (const prefix2 of PREFIXES) { + const value = element.getAttribute(`data-${prefix2}-${normalizeDataKey(key)}`); + if (value !== null) { + return normalizeData(value); + } + } + return null; + } +}; +const MAX_UID = 1e6; +const MILLISECONDS_MULTIPLIER = 1e3; +const TRANSITION_END = "transitionend"; +const parseSelector = (selector) => { + if (selector && window.CSS && window.CSS.escape) { + selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`); + } + return selector; +}; +const toType = (object) => { + if (object === null || object === void 0) { + return `${object}`; + } + return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); +}; +const getUID = (prefix2) => { + do { + prefix2 += Math.floor(Math.random() * MAX_UID); + } while (document.getElementById(prefix2)); + return prefix2; +}; +const getTransitionDurationFromElement = (element) => { + if (!element) { + return 0; + } + let { transitionDuration, transitionDelay } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } + transitionDuration = transitionDuration.split(",")[0]; + transitionDelay = transitionDelay.split(",")[0]; + return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; +}; +const triggerTransitionEnd = (element) => { + element.dispatchEvent(new Event(TRANSITION_END)); +}; +const isElement = (object) => { + if (!object || typeof object !== "object") { + return false; + } + return typeof object.nodeType !== "undefined"; +}; +const getElement = (object) => { + if (isElement(object)) { + return object; + } + if (typeof object === "string" && object.length > 0) { + return document.querySelector(parseSelector(object)); + } + return null; +}; +const isVisible = (element) => { + if (!isElement(element) || element.getClientRects().length === 0) { + return false; + } + const elementIsVisible = getComputedStyle(element).getPropertyValue("visibility") === "visible"; + const closedDetails = element.closest("details:not([open])"); + if (!closedDetails) { + return elementIsVisible; + } + if (closedDetails !== element) { + const summary = element.closest("summary"); + if (summary && summary.parentNode !== closedDetails) { + return false; + } + if (summary === null) { + return false; + } + } + return elementIsVisible; +}; +const isDisabled = (element) => { + if (!element || element.nodeType !== Node.ELEMENT_NODE) { + return true; + } + if (element.classList.contains("disabled")) { + return true; + } + if ("disabled" in element && typeof element.disabled !== "undefined") { + return Boolean(element.disabled); + } + return element.hasAttribute("disabled") && element.getAttribute("disabled") !== "false"; +}; +const findShadowRoot = (element) => { + if (!document.documentElement.attachShadow) { + return null; + } + if (typeof element.getRootNode === "function") { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + if (element instanceof ShadowRoot) { + return element; + } + if (!element.parentNode) { + return null; + } + return findShadowRoot(element.parentNode); +}; +const noop = () => { +}; +const reflow = (element) => { + element.offsetHeight; +}; +const isRTL = () => document.documentElement.dir === "rtl"; +const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => { + return typeof possibleCallback === "function" ? possibleCallback.call(args[0], ...args.slice(1)) : defaultValue; +}; +const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { + if (!waitForTransition) { + execute(callback); + return; + } + const durationPadding = 5; + const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; + let called = false; + const handler = ({ target }) => { + if (target !== transitionElement) { + return; + } + called = true; + transitionElement.removeEventListener(TRANSITION_END, handler); + execute(callback); + }; + transitionElement.addEventListener(TRANSITION_END, handler); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(transitionElement); + } + }, emulatedDuration); +}; +const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { + const listLength = list.length; + let index = list.indexOf(activeElement); + if (index === -1) { + return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; + } + index += shouldGetNext ? 1 : -1; + if (isCycleAllowed) { + index = (index + listLength) % listLength; + } + return list[Math.max(0, Math.min(index, listLength - 1))]; +}; +var __defProp$4 = Object.defineProperty; +var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols; +var __hasOwnProp$4 = Object.prototype.hasOwnProperty; +var __propIsEnum$4 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues$4 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$4.call(b, prop)) + __defNormalProp$4(a, prop, b[prop]); + if (__getOwnPropSymbols$4) + for (var prop of __getOwnPropSymbols$4(b)) { + if (__propIsEnum$4.call(b, prop)) + __defNormalProp$4(a, prop, b[prop]); + } + return a; +}; +class Config { + static get Default() { + return {}; + } + static get DefaultType() { + return {}; + } + static get NAME() { + throw new Error('You have to implement the static method "NAME", for each component!'); + } + _getConfig(config) { + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + return config; + } + _mergeConfigObj(config, element) { + const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, "config") : {}; + const ctor = this.constructor; + return __spreadValues$4(__spreadValues$4(__spreadValues$4(__spreadValues$4({}, ctor.Default), typeof jsonConfig === "object" ? jsonConfig : {}), isElement(element) ? Manipulator.getDataAttributes(element) : {}), typeof config === "object" ? config : {}); + } + _typeCheckConfig(config, configTypes) { + const ctor = this.constructor; + const types = configTypes || ctor.DefaultType; + for (const [property, expectedTypes] of Object.entries(types)) { + const value = config[property]; + const valueType = isElement(value) ? "element" : toType(value); + if (!new RegExp(expectedTypes).test(valueType)) { + throw new TypeError( + `${ctor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".` + ); + } + } + } +} +const VERSION = "5.3.8"; +class BaseComponent extends Config { + constructor(element, config) { + super(); + const resolved = getElement(element); + if (!resolved) { + return; + } + this._element = resolved; + this._config = this._getConfig(config); + const ctor = this.constructor; + Data.set(this._element, ctor.DATA_KEY, this); + } + dispose() { + const ctor = this.constructor; + Data.remove(this._element, ctor.DATA_KEY); + EventHandler.off(this._element, ctor.EVENT_KEY); + for (const propertyName of Object.getOwnPropertyNames(this)) { + this[propertyName] = null; + } + } + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + _getConfig(config) { + config = this._mergeConfigObj(config, this._element); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + static getInstance(element) { + return Data.get(getElement(element), this.DATA_KEY); + } + static getOrCreateInstance(element, config = {}) { + return this.getInstance(element) || new this(element, typeof config === "object" ? config : null); + } + static get VERSION() { + return VERSION; + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + static eventName(name) { + return `${name}${this.EVENT_KEY}`; + } +} +const getSelector = (element) => { + let selector = element.getAttribute("data-tblr-target") || element.getAttribute("data-bs-target"); + if (!selector || selector === "#") { + let hrefAttribute = element.getAttribute("href"); + if (!hrefAttribute || !hrefAttribute.includes("#") && !hrefAttribute.startsWith(".")) { + return null; + } + if (hrefAttribute.includes("#") && !hrefAttribute.startsWith("#")) { + hrefAttribute = `#${hrefAttribute.split("#")[1]}`; + } + selector = hrefAttribute && hrefAttribute !== "#" ? hrefAttribute.trim() : null; + } + return selector ? selector.split(",").map((sel) => parseSelector(sel)).join(",") : null; +}; +const SelectorEngine = { + find(selector, element = document.documentElement) { + return Array.from(element.querySelectorAll(selector)); + }, + findOne(selector, element = document.documentElement) { + return element.querySelector(selector); + }, + children(element, selector) { + return Array.from(element.children).filter((child) => child.matches(selector)); + }, + parents(element, selector) { + const parents = []; + let ancestor = element.parentNode && element.parentNode.closest(selector); + while (ancestor) { + parents.push(ancestor); + ancestor = ancestor.parentNode && ancestor.parentNode.closest(selector); + } + return parents; + }, + prev(element, selector) { + let previous = element.previousElementSibling; + while (previous) { + if (previous.matches(selector)) { + return [previous]; + } + previous = previous.previousElementSibling; + } + return []; + }, + next(element, selector) { + let next = element.nextElementSibling; + while (next) { + if (next.matches(selector)) { + return [next]; + } + next = next.nextElementSibling; + } + return []; + }, + focusableChildren(element) { + const focusables = [ + "a", + "button", + "input", + "textarea", + "select", + "details", + "[tabindex]", + '[contenteditable="true"]' + ].map((selector) => `${selector}:not([tabindex^="-"])`).join(","); + return this.find(focusables, element).filter((el) => !isDisabled(el) && isVisible(el)); + }, + getSelectorFromElement(element) { + const selector = getSelector(element); + if (selector) { + return SelectorEngine.findOne(selector) ? selector : null; + } + return null; + }, + getElementFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.findOne(selector) : null; + }, + getMultipleElementsFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.find(selector) : []; + } +}; +const enableDismissTrigger = (component, method = "hide") => { + const clickEvent = `click.dismiss${component.EVENT_KEY}`; + const name = component.NAME; + EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"], [data-tblr-dismiss="${name}"]`, function(event) { + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`); + const instance = component.getOrCreateInstance(target); + instance[method](); + }); +}; +const NAME$f = "alert"; +const DATA_KEY$a = "bs.alert"; +const EVENT_KEY$b = `.${DATA_KEY$a}`; +const EVENT_CLOSE = `close${EVENT_KEY$b}`; +const EVENT_CLOSED = `closed${EVENT_KEY$b}`; +const CLASS_NAME_FADE$5 = "fade"; +const CLASS_NAME_SHOW$8 = "show"; +class Alert extends BaseComponent { + static get NAME() { + return NAME$f; + } + close() { + const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); + if (closeEvent == null ? void 0 : closeEvent.defaultPrevented) { + return; + } + this._element.classList.remove(CLASS_NAME_SHOW$8); + const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); + this._queueCallback(() => this._destroyElement(), this._element, isAnimated); + } + _destroyElement() { + this._element.remove(); + EventHandler.trigger(this._element, EVENT_CLOSED); + this.dispose(); + } +} +enableDismissTrigger(Alert, "close"); +const NAME$e = "button"; +const DATA_KEY$9 = "bs.button"; +const EVENT_KEY$a = `.${DATA_KEY$9}`; +const DATA_API_KEY$6 = ".data-api"; +const CLASS_NAME_ACTIVE$3 = "active"; +const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"], [data-tblr-toggle="button"]'; +const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; +class Button extends BaseComponent { + static get NAME() { + return NAME$e; + } + toggle() { + this._element.setAttribute("aria-pressed", String(this._element.classList.toggle(CLASS_NAME_ACTIVE$3))); + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, (event) => { + var _a; + event.preventDefault(); + const target = (_a = event.target) == null ? void 0 : _a.closest(SELECTOR_DATA_TOGGLE$5); + if (!target) { + return; + } + const data = Button.getOrCreateInstance(target); + data.toggle(); +}); +const NAME$d = "swipe"; +const EVENT_KEY$9 = ".bs.swipe"; +const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; +const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; +const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; +const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; +const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; +const POINTER_TYPE_TOUCH = "touch"; +const POINTER_TYPE_PEN = "pen"; +const CLASS_NAME_POINTER_EVENT = "pointer-event"; +const SWIPE_THRESHOLD = 40; +const Default$c = { + endCallback: null, + leftCallback: null, + rightCallback: null +}; +const DefaultType$c = { + endCallback: "(function|null)", + leftCallback: "(function|null)", + rightCallback: "(function|null)" +}; +class Swipe extends Config { + constructor(element, config) { + super(); + this._element = element; + if (!element || !Swipe.isSupported()) { + return; + } + this._config = this._getConfig(config); + this._deltaX = 0; + this._supportPointerEvents = Boolean(window.PointerEvent); + this._initEvents(); + } + static get Default() { + return Default$c; + } + static get DefaultType() { + return DefaultType$c; + } + static get NAME() { + return NAME$d; + } + dispose() { + EventHandler.off(this._element, EVENT_KEY$9); + } + _start(event) { + if (!this._supportPointerEvents) { + this._deltaX = event.touches[0].clientX; + return; + } + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX; + } + } + _end(event) { + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX - this._deltaX; + } + this._handleSwipe(); + execute(this._config.endCallback); + } + _move(event) { + this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; + } + _handleSwipe() { + const absDeltaX = Math.abs(this._deltaX); + if (absDeltaX <= SWIPE_THRESHOLD) { + return; + } + const direction = absDeltaX / this._deltaX; + this._deltaX = 0; + if (!direction) { + return; + } + execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); + } + _initEvents() { + if (this._supportPointerEvents) { + EventHandler.on(this._element, EVENT_POINTERDOWN, (event) => this._start(event)); + EventHandler.on(this._element, EVENT_POINTERUP, (event) => this._end(event)); + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => this._start(event)); + EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => this._move(event)); + EventHandler.on(this._element, EVENT_TOUCHEND, (event) => this._end(event)); + } + } + _eventIsPointerPenTouch(event) { + return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); + } + static isSupported() { + return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0; + } +} +const NAME$c = "carousel"; +const DATA_KEY$8 = "bs.carousel"; +const EVENT_KEY$8 = `.${DATA_KEY$8}`; +const DATA_API_KEY$5 = ".data-api"; +const ARROW_LEFT_KEY$1 = "ArrowLeft"; +const ARROW_RIGHT_KEY$1 = "ArrowRight"; +const TOUCHEVENT_COMPAT_WAIT = 500; +const ORDER_NEXT = "next"; +const ORDER_PREV = "prev"; +const DIRECTION_LEFT = "left"; +const DIRECTION_RIGHT = "right"; +const EVENT_SLIDE = `slide${EVENT_KEY$8}`; +const EVENT_SLID = `slid${EVENT_KEY$8}`; +const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; +const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; +const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; +const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; +const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; +const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; +const CLASS_NAME_CAROUSEL = "carousel"; +const CLASS_NAME_ACTIVE$2 = "active"; +const CLASS_NAME_SLIDE = "slide"; +const CLASS_NAME_END = "carousel-item-end"; +const CLASS_NAME_START = "carousel-item-start"; +const CLASS_NAME_NEXT = "carousel-item-next"; +const CLASS_NAME_PREV = "carousel-item-prev"; +const SELECTOR_ACTIVE = ".active"; +const SELECTOR_ITEM = ".carousel-item"; +const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; +const SELECTOR_ITEM_IMG = ".carousel-item img"; +const SELECTOR_INDICATORS = ".carousel-indicators"; +const SELECTOR_DATA_SLIDE = "[data-bs-slide], [data-bs-slide-to], [data-tblr-slide], [data-tblr-slide-to]"; +const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"], [data-tblr-ride="carousel"]'; +const KEY_TO_DIRECTION = { + [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, + [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT +}; +const Default$b = { + interval: 5e3, + keyboard: true, + pause: "hover", + ride: false, + touch: true, + wrap: true +}; +const DefaultType$b = { + interval: "(number|boolean)", + keyboard: "boolean", + pause: "(string|boolean)", + ride: "(boolean|string)", + touch: "boolean", + wrap: "boolean" +}; +class Carousel extends BaseComponent { + constructor(element, config) { + super(element, config); + this._interval = null; + this._activeElement = null; + this._isSliding = false; + this.touchTimeout = null; + this._swipeHelper = null; + this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); + this._addEventListeners(); + if (this._config.ride === CLASS_NAME_CAROUSEL) { + this.cycle(); + } + } + static get Default() { + return Default$b; + } + static get DefaultType() { + return DefaultType$b; + } + static get NAME() { + return NAME$c; + } + next() { + this._slide(ORDER_NEXT); + } + nextWhenVisible() { + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + prev() { + this._slide(ORDER_PREV); + } + pause() { + if (this._isSliding) { + triggerTransitionEnd(this._element); + } + this._clearInterval(); + } + cycle() { + this._clearInterval(); + this._updateInterval(); + this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); + } + _maybeEnableCycle() { + if (!this._config.ride) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); + return; + } + this.cycle(); + } + to(index) { + const items = this._getItems(); + if (index > items.length - 1 || index < 0) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); + return; + } + const activeIndex = this._getItemIndex(this._getActive()); + if (activeIndex === index) { + return; + } + const order2 = index > activeIndex ? ORDER_NEXT : ORDER_PREV; + this._slide(order2, items[index]); + } + dispose() { + if (this._swipeHelper) { + this._swipeHelper.dispose(); + } + super.dispose(); + } + _configAfterMerge(config) { + config.defaultInterval = config.interval; + return config; + } + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, EVENT_KEYDOWN$1, (event) => this._keydown(event)); + } + if (this._config.pause === "hover") { + EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); + EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); + } + if (this._config.touch && Swipe.isSupported()) { + this._addTouchEventListeners(); + } + } + _addTouchEventListeners() { + for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { + EventHandler.on(img, EVENT_DRAG_START, (event) => event.preventDefault()); + } + const endCallBack = () => { + if (this._config.pause !== "hover") { + return; + } + this.pause(); + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + }; + const swipeConfig = { + leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), + rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), + endCallback: endCallBack + }; + this._swipeHelper = new Swipe(this._element, swipeConfig); + } + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + const direction = KEY_TO_DIRECTION[event.key]; + if (direction) { + event.preventDefault(); + this._slide(this._directionToOrder(direction)); + } + } + _getItemIndex(element) { + return this._getItems().indexOf(element); + } + _setActiveIndicatorElement(index) { + if (!this._indicatorsElement) { + return; + } + const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); + activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); + activeIndicator.removeAttribute("aria-current"); + const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"], [data-tblr-slide-to="${index}"]`, this._indicatorsElement); + if (newActiveIndicator) { + newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); + newActiveIndicator.setAttribute("aria-current", "true"); + } + } + _updateInterval() { + const element = this._activeElement || this._getActive(); + if (!element) { + return; + } + const elementInterval = Number.parseInt(element.getAttribute("data-bs-interval") || element.getAttribute("data-tblr-interval") || "", 10); + this._config.interval = elementInterval || this._config.defaultInterval; + } + _slide(order2, element = null) { + if (this._isSliding) { + return; + } + const activeElement = this._getActive(); + const isNext = order2 === ORDER_NEXT; + const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); + if (nextElement === activeElement) { + return; + } + const nextElementIndex = this._getItemIndex(nextElement); + const triggerEvent = (eventName) => { + return EventHandler.trigger(this._element, eventName, { + relatedTarget: nextElement, + direction: this._orderToDirection(order2), + from: this._getItemIndex(activeElement), + to: nextElementIndex + }); + }; + const slideEvent = triggerEvent(EVENT_SLIDE); + if (slideEvent.defaultPrevented) { + return; + } + if (!activeElement || !nextElement) { + return; + } + const isCycling = Boolean(this._interval); + this.pause(); + this._isSliding = true; + this._setActiveIndicatorElement(nextElementIndex); + this._activeElement = nextElement; + const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; + const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); + this._isSliding = false; + triggerEvent(EVENT_SLID); + }; + this._queueCallback(completeCallBack, activeElement, this._isAnimated()); + if (isCycling) { + this.cycle(); + } + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_SLIDE); + } + _getActive() { + return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + } + _getItems() { + return SelectorEngine.find(SELECTOR_ITEM, this._element); + } + _clearInterval() { + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + } + _directionToOrder(direction) { + if (isRTL()) { + return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; + } + return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + } + _orderToDirection(order2) { + if (isRTL()) { + return order2 === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return order2 === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { + return; + } + event.preventDefault(); + const carousel = Carousel.getOrCreateInstance(target); + const slideIndex = this.getAttribute("data-bs-slide-to") || this.getAttribute("data-tblr-slide-to"); + if (slideIndex) { + carousel.to(Number(slideIndex)); + carousel._maybeEnableCycle(); + return; + } + if (Manipulator.getDataAttribute(this, "slide") === "next") { + carousel.next(); + carousel._maybeEnableCycle(); + return; + } + carousel.prev(); + carousel._maybeEnableCycle(); +}); +EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { + const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); + for (const carousel of carousels) { + Carousel.getOrCreateInstance(carousel); + } +}); +const NAME$b = "collapse"; +const DATA_KEY$7 = "bs.collapse"; +const EVENT_KEY$7 = `.${DATA_KEY$7}`; +const DATA_API_KEY$4 = ".data-api"; +const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; +const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; +const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; +const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; +const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; +const CLASS_NAME_SHOW$7 = "show"; +const CLASS_NAME_COLLAPSE = "collapse"; +const CLASS_NAME_COLLAPSING = "collapsing"; +const CLASS_NAME_COLLAPSED = "collapsed"; +const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; +const CLASS_NAME_HORIZONTAL = "collapse-horizontal"; +const WIDTH = "width"; +const HEIGHT = "height"; +const SELECTOR_ACTIVES = ".collapse.show, .collapse.collapsing"; +const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"], [data-tblr-toggle="collapse"]'; +const Default$a = { + parent: null, + toggle: true +}; +const DefaultType$a = { + parent: "(null|element)", + toggle: "boolean" +}; +class Collapse extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isTransitioning = false; + this._triggerArray = []; + const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); + for (const elem of toggleList) { + const selector = SelectorEngine.getSelectorFromElement(elem); + const filterElement = SelectorEngine.find(selector).filter((foundElement) => foundElement === this._element); + if (selector !== null && filterElement.length) { + this._triggerArray.push(elem); + } + } + this._initializeChildren(); + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); + } + if (this._config.toggle) { + this.toggle(); + } + } + static get Default() { + return Default$a; + } + static get DefaultType() { + return DefaultType$a; + } + static get NAME() { + return NAME$b; + } + toggle() { + if (this._isShown()) { + this.hide(); + } else { + this.show(); + } + } + show() { + if (this._isTransitioning || this._isShown()) { + return; + } + let activeChildren = []; + if (this._config.parent) { + activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter((element) => element !== this._element).map((element) => Collapse.getOrCreateInstance(element, { toggle: false })); + } + if (activeChildren.length && activeChildren[0]._isTransitioning) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); + if (startEvent == null ? void 0 : startEvent.defaultPrevented) { + return; + } + for (const activeInstance of activeChildren) { + activeInstance.hide(); + } + const dimension = this._getDimension(); + this._element.classList.remove(CLASS_NAME_COLLAPSE); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = "0"; + this._addAriaAndCollapsedClass(this._triggerArray, true); + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + this._element.style[dimension] = ""; + EventHandler.trigger(this._element, EVENT_SHOWN$6); + }; + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + this._queueCallback(complete, this._element, true); + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + hide() { + if (this._isTransitioning || !this._isShown()) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); + if (startEvent == null ? void 0 : startEvent.defaultPrevented) { + return; + } + const dimension = this._getDimension(); + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + for (const trigger of this._triggerArray) { + const element = SelectorEngine.getElementFromSelector(trigger); + if (element && !this._isShown(element)) { + this._addAriaAndCollapsedClass([trigger], false); + } + } + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE); + EventHandler.trigger(this._element, EVENT_HIDDEN$6); + }; + this._element.style[dimension] = ""; + this._queueCallback(complete, this._element, true); + } + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$7); + } + _configAfterMerge(config) { + config.toggle = Boolean(config.toggle); + config.parent = getElement(config.parent); + return config; + } + _getDimension() { + return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; + } + _initializeChildren() { + if (!this._config.parent) { + return; + } + const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); + for (const element of children) { + const selected = SelectorEngine.getElementFromSelector(element); + if (selected) { + this._addAriaAndCollapsedClass([element], this._isShown(selected)); + } + } + } + _getFirstLevelChildren(selector) { + const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + return SelectorEngine.find(selector, this._config.parent).filter((element) => !children.includes(element)); + } + _addAriaAndCollapsedClass(triggerArray, isOpen) { + if (!triggerArray.length) { + return; + } + for (const element of triggerArray) { + element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); + element.setAttribute("aria-expanded", String(isOpen)); + } + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function(event) { + if (event.target.tagName === "A" || event.delegateTarget && event.delegateTarget.tagName === "A") { + event.preventDefault(); + } + for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { + Collapse.getOrCreateInstance(element, { toggle: false }).toggle(); + } +}); +var __defProp$3 = Object.defineProperty; +var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols; +var __hasOwnProp$3 = Object.prototype.hasOwnProperty; +var __propIsEnum$3 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues$3 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$3.call(b, prop)) + __defNormalProp$3(a, prop, b[prop]); + if (__getOwnPropSymbols$3) + for (var prop of __getOwnPropSymbols$3(b)) { + if (__propIsEnum$3.call(b, prop)) + __defNormalProp$3(a, prop, b[prop]); + } + return a; +}; +const NAME$a = "dropdown"; +const DATA_KEY$6 = "bs.dropdown"; +const EVENT_KEY$6 = `.${DATA_KEY$6}`; +const DATA_API_KEY$3 = ".data-api"; +const ESCAPE_KEY$2 = "Escape"; +const TAB_KEY$1 = "Tab"; +const ARROW_UP_KEY$1 = "ArrowUp"; +const ARROW_DOWN_KEY$1 = "ArrowDown"; +const RIGHT_MOUSE_BUTTON = 2; +const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; +const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; +const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; +const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; +const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; +const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; +const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; +const CLASS_NAME_SHOW$6 = "show"; +const CLASS_NAME_DROPUP = "dropup"; +const CLASS_NAME_DROPEND = "dropend"; +const CLASS_NAME_DROPSTART = "dropstart"; +const CLASS_NAME_DROPUP_CENTER = "dropup-center"; +const CLASS_NAME_DROPDOWN_CENTER = "dropdown-center"; +const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled), [data-tblr-toggle="dropdown"]:not(.disabled):not(:disabled)'; +const SELECTOR_DATA_TOGGLE_SHOWN = `.${CLASS_NAME_SHOW$6}[data-bs-toggle="dropdown"], .${CLASS_NAME_SHOW$6}[data-tblr-toggle="dropdown"]`; +const SELECTOR_MENU = ".dropdown-menu"; +const SELECTOR_NAVBAR = ".navbar"; +const SELECTOR_NAVBAR_NAV = ".navbar-nav"; +const SELECTOR_VISIBLE_ITEMS = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"; +const PLACEMENT_TOP = isRTL() ? "top-end" : "top-start"; +const PLACEMENT_TOPEND = isRTL() ? "top-start" : "top-end"; +const PLACEMENT_BOTTOM = isRTL() ? "bottom-end" : "bottom-start"; +const PLACEMENT_BOTTOMEND = isRTL() ? "bottom-start" : "bottom-end"; +const PLACEMENT_RIGHT = isRTL() ? "left-start" : "right-start"; +const PLACEMENT_LEFT = isRTL() ? "right-start" : "left-start"; +const PLACEMENT_TOPCENTER = "top"; +const PLACEMENT_BOTTOMCENTER = "bottom"; +const Default$9 = { + autoClose: true, + boundary: "clippingParents", + display: "dynamic", + offset: [0, 2], + popperConfig: null, + reference: "toggle" +}; +const DefaultType$9 = { + autoClose: "(boolean|string)", + boundary: "(string|element)", + display: "string", + offset: "(array|string|function)", + popperConfig: "(null|object|function)", + reference: "(string|element|object)" +}; +class Dropdown extends BaseComponent { + constructor(element, config) { + super(element, config); + this._popper = null; + this._parent = this._element.parentNode; + this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); + this._inNavbar = this._detectNavbar(); + } + static get Default() { + return Default$9; + } + static get DefaultType() { + return DefaultType$9; + } + static get NAME() { + return NAME$a; + } + toggle() { + this._isShown() ? this.hide() : this.show(); + } + show() { + if (isDisabled(this._element) || this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); + if (showEvent.defaultPrevented) { + return; + } + this._createPopper(); + if ("ontouchstart" in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, "mouseover", noop); + } + } + this._element.focus(); + this._element.setAttribute("aria-expanded", "true"); + this._menu.classList.add(CLASS_NAME_SHOW$6); + this._element.classList.add(CLASS_NAME_SHOW$6); + EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); + } + hide() { + if (isDisabled(this._element) || !this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + this._completeHide(relatedTarget); + } + dispose() { + if (this._popper) { + this._popper.destroy(); + } + super.dispose(); + } + update() { + this._inNavbar = this._detectNavbar(); + if (this._popper) { + this._popper.update(); + } + } + _completeHide(relatedTarget) { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); + if (hideEvent.defaultPrevented) { + return; + } + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, "mouseover", noop); + } + } + if (this._popper) { + this._popper.destroy(); + } + this._menu.classList.remove(CLASS_NAME_SHOW$6); + this._element.classList.remove(CLASS_NAME_SHOW$6); + this._element.setAttribute("aria-expanded", "false"); + Manipulator.removeDataAttribute(this._menu, "popper"); + EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); + } + _getConfig(config) { + config = super._getConfig(config); + if (typeof config.reference === "object" && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== "function") { + throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); + } + return config; + } + _createPopper() { + if (typeof Popper === "undefined") { + throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)"); + } + let referenceElement = this._element; + if (this._config.reference === "parent") { + referenceElement = this._parent; + } else if (isElement(this._config.reference)) { + referenceElement = getElement(this._config.reference); + } else if (typeof this._config.reference === "object") { + referenceElement = this._config.reference; + } + const popperConfig = this._getPopperConfig(); + this._popper = createPopper(referenceElement, this._menu, popperConfig); + } + _isShown() { + return this._menu.classList.contains(CLASS_NAME_SHOW$6); + } + _getPlacement() { + const parentDropdown = this._parent; + if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { + return PLACEMENT_RIGHT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { + return PLACEMENT_LEFT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { + return PLACEMENT_TOPCENTER; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { + return PLACEMENT_BOTTOMCENTER; + } + const isEnd = getComputedStyle(this._menu).getPropertyValue("--bs-position").trim() === "end"; + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { + return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } + return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; + } + _detectNavbar() { + return this._element.closest(SELECTOR_NAVBAR) !== null; + } + _getOffset() { + const { offset: offset2 } = this._config; + if (typeof offset2 === "string") { + return offset2.split(",").map((value) => Number.parseInt(value, 10)); + } + if (typeof offset2 === "function") { + return (popperData) => offset2(popperData, this._element); + } + return offset2; + } + _getPopperConfig() { + const defaultBsPopperConfig = { + placement: this._getPlacement(), + modifiers: [ + { + name: "preventOverflow", + options: { + boundary: this._config.boundary + } + }, + { + name: "offset", + options: { + offset: this._getOffset() + } + } + ] + }; + if (this._inNavbar || this._config.display === "static") { + Manipulator.setDataAttribute(this._menu, "popper", "static"); + defaultBsPopperConfig.modifiers = [{ + name: "applyStyles", + enabled: false + }]; + } + const popperConfig = execute(this._config.popperConfig, [void 0, defaultBsPopperConfig]); + return __spreadValues$3(__spreadValues$3({}, defaultBsPopperConfig), typeof popperConfig === "object" && popperConfig !== null ? popperConfig : {}); + } + _selectMenuItem({ key, target }) { + const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter((element) => isVisible(element)); + if (!items.length) { + return; + } + getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); + } + static clearMenus(event) { + if (event.button === RIGHT_MOUSE_BUTTON || event.type === "keyup" && event.key !== TAB_KEY$1) { + return; + } + const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); + for (const toggle of openToggles) { + const context = Dropdown.getInstance(toggle); + if (!context || context._config.autoClose === false) { + continue; + } + const composedPath = event.composedPath(); + const isMenuTarget = composedPath.includes(context._menu); + if (composedPath.includes(context._element) || context._config.autoClose === "inside" && !isMenuTarget || context._config.autoClose === "outside" && isMenuTarget) { + continue; + } + if (context._menu.contains(event.target) && (event.type === "keyup" && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { + continue; + } + const relatedTarget = { relatedTarget: context._element }; + if (event.type === "click") { + relatedTarget.clickEvent = event; + } + context._completeHide(relatedTarget); + } + } + static dataApiKeydownHandler(event) { + const isInput = /input|textarea/i.test(event.target.tagName); + const isEscapeEvent = event.key === ESCAPE_KEY$2; + const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); + if (!isUpOrDownEvent && !isEscapeEvent) { + return; + } + if (isInput && !isEscapeEvent) { + return; + } + event.preventDefault(); + const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); + const instance = Dropdown.getOrCreateInstance(getToggleButton); + if (isUpOrDownEvent) { + event.stopPropagation(); + instance.show(); + instance._selectMenuItem(event); + return; + } + if (instance._isShown()) { + event.stopPropagation(); + instance.hide(); + getToggleButton.focus(); + } + } +} +EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); +EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); +EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); +EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); +EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function(event) { + event.preventDefault(); + Dropdown.getOrCreateInstance(this).toggle(); +}); +const NAME$9 = "backdrop"; +const CLASS_NAME_FADE$4 = "fade"; +const CLASS_NAME_SHOW$5 = "show"; +const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; +const Default$8 = { + className: "modal-backdrop", + clickCallback: null, + isAnimated: false, + isVisible: true, + rootElement: "body" +}; +const DefaultType$8 = { + className: "string", + clickCallback: "(function|null)", + isAnimated: "boolean", + isVisible: "boolean", + rootElement: "(element|string)" +}; +class Backdrop extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isAppended = false; + this._element = null; + } + static get Default() { + return Default$8; + } + static get DefaultType() { + return DefaultType$8; + } + static get NAME() { + return NAME$9; + } + show(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._append(); + const element = this._getElement(); + if (this._config.isAnimated) { + reflow(element); + } + element.classList.add(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + execute(callback); + }); + } + hide(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._getElement().classList.remove(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + this.dispose(); + execute(callback); + }); + } + dispose() { + if (!this._isAppended) { + return; + } + EventHandler.off(this._element, EVENT_MOUSEDOWN); + this._element.remove(); + this._isAppended = false; + } + _getElement() { + if (!this._element) { + const backdrop = document.createElement("div"); + backdrop.className = this._config.className; + if (this._config.isAnimated) { + backdrop.classList.add(CLASS_NAME_FADE$4); + } + this._element = backdrop; + } + return this._element; + } + _configAfterMerge(config) { + config.rootElement = getElement(config.rootElement); + return config; + } + _append() { + if (this._isAppended) { + return; + } + const element = this._getElement(); + this._config.rootElement.append(element); + EventHandler.on(element, EVENT_MOUSEDOWN, () => { + execute(this._config.clickCallback); + }); + this._isAppended = true; + } + _emulateAnimation(callback) { + executeAfterTransition(callback, this._getElement(), this._config.isAnimated); + } +} +const NAME$8 = "focustrap"; +const DATA_KEY$5 = "bs.focustrap"; +const EVENT_KEY$5 = `.${DATA_KEY$5}`; +const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; +const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; +const TAB_KEY = "Tab"; +const TAB_NAV_FORWARD = "forward"; +const TAB_NAV_BACKWARD = "backward"; +const Default$7 = { + autofocus: true, + trapElement: null +}; +const DefaultType$7 = { + autofocus: "boolean", + trapElement: "element" +}; +class FocusTrap extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isActive = false; + this._lastTabNavDirection = null; + } + static get Default() { + return Default$7; + } + static get DefaultType() { + return DefaultType$7; + } + static get NAME() { + return NAME$8; + } + activate() { + if (this._isActive) { + return; + } + if (this._config.autofocus) { + this._config.trapElement.focus(); + } + EventHandler.off(document, EVENT_KEY$5); + EventHandler.on(document, EVENT_FOCUSIN$2, (event) => this._handleFocusin(event)); + EventHandler.on(document, EVENT_KEYDOWN_TAB, (event) => this._handleKeydown(event)); + this._isActive = true; + } + deactivate() { + if (!this._isActive) { + return; + } + this._isActive = false; + EventHandler.off(document, EVENT_KEY$5); + } + _handleFocusin(event) { + const { trapElement } = this._config; + if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { + return; + } + const elements = SelectorEngine.focusableChildren(trapElement); + if (elements.length === 0) { + trapElement.focus(); + } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { + elements[elements.length - 1].focus(); + } else { + elements[0].focus(); + } + } + _handleKeydown(event) { + if (event.key !== TAB_KEY) { + return; + } + this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; + } +} +const SELECTOR_FIXED_CONTENT = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"; +const SELECTOR_STICKY_CONTENT = ".sticky-top"; +const PROPERTY_PADDING = "padding-right"; +const PROPERTY_MARGIN = "margin-right"; +class ScrollBarHelper { + constructor() { + this._element = document.body; + } + getWidth() { + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); + } + hide() { + const width = this.getWidth(); + this._disableOverFlow(); + this._setElementAttributes(this._element, PROPERTY_PADDING, (calculatedValue) => calculatedValue + width); + this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, (calculatedValue) => calculatedValue + width); + this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, (calculatedValue) => calculatedValue - width); + } + reset() { + this._resetElementAttributes(this._element, "overflow"); + this._resetElementAttributes(this._element, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); + } + isOverflowing() { + return this.getWidth() > 0; + } + _disableOverFlow() { + this._saveInitialAttribute(this._element, "overflow"); + this._element.style.overflow = "hidden"; + } + _setElementAttributes(selector, styleProperty, callback) { + const scrollbarWidth = this.getWidth(); + const manipulationCallBack = (element) => { + if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { + return; + } + this._saveInitialAttribute(element, styleProperty); + const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); + element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _saveInitialAttribute(element, styleProperty) { + const actualValue = element.style.getPropertyValue(styleProperty); + if (actualValue) { + Manipulator.setDataAttribute(element, styleProperty, actualValue); + } + } + _resetElementAttributes(selector, styleProperty) { + const manipulationCallBack = (element) => { + const value = Manipulator.getDataAttribute(element, styleProperty); + if (value === null) { + element.style.removeProperty(styleProperty); + return; + } + Manipulator.removeDataAttribute(element, styleProperty); + element.style.setProperty(styleProperty, String(value)); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _applyManipulationCallback(selector, callBack) { + if (isElement(selector)) { + callBack(selector); + return; + } + for (const sel of SelectorEngine.find(selector, this._element)) { + callBack(sel); + } + } +} +const NAME$7 = "modal"; +const DATA_KEY$4 = "bs.modal"; +const EVENT_KEY$4 = `.${DATA_KEY$4}`; +const DATA_API_KEY$2 = ".data-api"; +const ESCAPE_KEY$1 = "Escape"; +const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; +const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; +const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; +const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; +const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; +const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; +const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; +const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; +const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; +const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; +const CLASS_NAME_OPEN = "modal-open"; +const CLASS_NAME_FADE$3 = "fade"; +const CLASS_NAME_SHOW$4 = "show"; +const CLASS_NAME_STATIC = "modal-static"; +const OPEN_SELECTOR$1 = ".modal.show"; +const SELECTOR_DIALOG = ".modal-dialog"; +const SELECTOR_MODAL_BODY = ".modal-body"; +const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"], [data-tblr-toggle="modal"]'; +const Default$6 = { + backdrop: true, + focus: true, + keyboard: true +}; +const DefaultType$6 = { + backdrop: "(boolean|string)", + focus: "boolean", + keyboard: "boolean" +}; +class Modal extends BaseComponent { + constructor(element, config) { + super(element, config); + this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._isShown = false; + this._isTransitioning = false; + this._scrollBar = new ScrollBarHelper(); + this._addEventListeners(); + } + static get Default() { + return Default$6; + } + static get DefaultType() { + return DefaultType$6; + } + static get NAME() { + return NAME$7; + } + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._isTransitioning = true; + this._scrollBar.hide(); + document.body.classList.add(CLASS_NAME_OPEN); + this._adjustDialog(); + this._backdrop.show(() => this._showElement(relatedTarget)); + } + hide() { + if (!this._isShown || this._isTransitioning) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); + if (hideEvent.defaultPrevented) { + return; + } + this._isShown = false; + this._isTransitioning = true; + this._focustrap.deactivate(); + this._element.classList.remove(CLASS_NAME_SHOW$4); + this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); + } + dispose() { + EventHandler.off(window, EVENT_KEY$4); + EventHandler.off(this._dialog, EVENT_KEY$4); + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + _initializeBackDrop() { + return new Backdrop({ + isVisible: Boolean(this._config.backdrop), + isAnimated: this._isAnimated() + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _showElement(relatedTarget) { + if (!document.body.contains(this._element)) { + document.body.append(this._element); + } + this._element.style.display = "block"; + this._element.removeAttribute("aria-hidden"); + this._element.setAttribute("aria-modal", "true"); + this._element.setAttribute("role", "dialog"); + this._element.scrollTop = 0; + const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); + if (modalBody) { + modalBody.scrollTop = 0; + } + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW$4); + const transitionComplete = () => { + if (this._config.focus) { + this._focustrap.activate(); + } + this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_SHOWN$4, { + relatedTarget + }); + }; + this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, (event) => { + if (event.key !== ESCAPE_KEY$1) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + this._triggerBackdropTransition(); + }); + EventHandler.on(window, EVENT_RESIZE$1, () => { + if (this._isShown && !this._isTransitioning) { + this._adjustDialog(); + } + }); + EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, (event) => { + EventHandler.one(this._element, EVENT_CLICK_DISMISS, (event2) => { + if (this._element !== event.target || this._element !== event2.target) { + return; + } + if (this._config.backdrop === "static") { + this._triggerBackdropTransition(); + return; + } + if (this._config.backdrop) { + this.hide(); + } + }); + }); + } + _hideModal() { + this._element.style.display = "none"; + this._element.setAttribute("aria-hidden", "true"); + this._element.removeAttribute("aria-modal"); + this._element.removeAttribute("role"); + this._isTransitioning = false; + this._backdrop.hide(() => { + document.body.classList.remove(CLASS_NAME_OPEN); + this._resetAdjustments(); + this._scrollBar.reset(); + EventHandler.trigger(this._element, EVENT_HIDDEN$4); + }); + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_FADE$3); + } + _triggerBackdropTransition() { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); + if (hideEvent.defaultPrevented) { + return; + } + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const initialOverflowY = this._element.style.overflowY; + if (initialOverflowY === "hidden" || this._element.classList.contains(CLASS_NAME_STATIC)) { + return; + } + if (!isModalOverflowing) { + this._element.style.overflowY = "hidden"; + } + this._element.classList.add(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.classList.remove(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.style.overflowY = initialOverflowY; + }, this._dialog); + }, this._dialog); + this._element.focus(); + } + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const scrollbarWidth = this._scrollBar.getWidth(); + const isBodyOverflowing = scrollbarWidth > 0; + if (isBodyOverflowing && !isModalOverflowing) { + const property = isRTL() ? "paddingLeft" : "paddingRight"; + this._element.style[property] = `${scrollbarWidth}px`; + } + if (!isBodyOverflowing && isModalOverflowing) { + const property = isRTL() ? "paddingRight" : "paddingLeft"; + this._element.style[property] = `${scrollbarWidth}px`; + } + } + _resetAdjustments() { + this._element.style.paddingLeft = ""; + this._element.style.paddingRight = ""; + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + EventHandler.one(target, EVENT_SHOW$4, (showEvent) => { + if (showEvent.defaultPrevented) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$4, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); + if (alreadyOpen) { + Modal.getInstance(alreadyOpen).hide(); + } + const data = Modal.getOrCreateInstance(target); + data.toggle(this); +}); +enableDismissTrigger(Modal); +const NAME$6 = "offcanvas"; +const DATA_KEY$3 = "bs.offcanvas"; +const EVENT_KEY$3 = `.${DATA_KEY$3}`; +const DATA_API_KEY$1 = ".data-api"; +const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; +const ESCAPE_KEY = "Escape"; +const CLASS_NAME_SHOW$3 = "show"; +const CLASS_NAME_SHOWING$1 = "showing"; +const CLASS_NAME_HIDING = "hiding"; +const CLASS_NAME_BACKDROP = "offcanvas-backdrop"; +const OPEN_SELECTOR = ".offcanvas.show"; +const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; +const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; +const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; +const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; +const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; +const EVENT_RESIZE = `resize${EVENT_KEY$3}`; +const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; +const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; +const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"], [data-tblr-toggle="offcanvas"]'; +const Default$5 = { + backdrop: true, + keyboard: true, + scroll: false +}; +const DefaultType$5 = { + backdrop: "(boolean|string)", + keyboard: "boolean", + scroll: "boolean" +}; +class Offcanvas extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isShown = false; + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._addEventListeners(); + } + static get Default() { + return Default$5; + } + static get DefaultType() { + return DefaultType$5; + } + static get NAME() { + return NAME$6; + } + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { relatedTarget }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._backdrop.show(); + if (!this._config.scroll) { + new ScrollBarHelper().hide(); + } + this._element.setAttribute("aria-modal", "true"); + this._element.setAttribute("role", "dialog"); + this._element.classList.add(CLASS_NAME_SHOWING$1); + const completeCallBack = () => { + if (!this._config.scroll || this._config.backdrop) { + this._focustrap.activate(); + } + this._element.classList.add(CLASS_NAME_SHOW$3); + this._element.classList.remove(CLASS_NAME_SHOWING$1); + EventHandler.trigger(this._element, EVENT_SHOWN$3, { relatedTarget }); + }; + this._queueCallback(completeCallBack, this._element, true); + } + hide() { + if (!this._isShown) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); + if (hideEvent.defaultPrevented) { + return; + } + this._focustrap.deactivate(); + this._element.blur(); + this._isShown = false; + this._element.classList.add(CLASS_NAME_HIDING); + this._backdrop.hide(); + const completeCallback = () => { + this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); + this._element.removeAttribute("aria-modal"); + this._element.removeAttribute("role"); + if (!this._config.scroll) { + new ScrollBarHelper().reset(); + } + EventHandler.trigger(this._element, EVENT_HIDDEN$3); + }; + this._queueCallback(completeCallback, this._element, true); + } + dispose() { + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + _initializeBackDrop() { + const clickCallback = () => { + if (this._config.backdrop === "static") { + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + return; + } + this.hide(); + }; + const isBackdropVisible = Boolean(this._config.backdrop); + return new Backdrop({ + className: CLASS_NAME_BACKDROP, + isVisible: isBackdropVisible, + isAnimated: true, + rootElement: this._element.parentNode, + clickCallback: isBackdropVisible ? clickCallback : null + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => { + if (event.key !== ESCAPE_KEY) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + }); + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$3, () => { + if (isVisible(this)) { + this.focus(); + } + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); + if (alreadyOpen && alreadyOpen !== target) { + Offcanvas.getInstance(alreadyOpen).hide(); + } + const data = Offcanvas.getOrCreateInstance(target); + data.toggle(this); +}); +EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { + for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { + Offcanvas.getOrCreateInstance(selector).show(); + } +}); +EventHandler.on(window, EVENT_RESIZE, () => { + for (const element of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]")) { + if (getComputedStyle(element).position !== "fixed") { + Offcanvas.getOrCreateInstance(element).hide(); + } + } +}); +enableDismissTrigger(Offcanvas); +const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; +const DefaultAllowlist = { + "*": ["class", "dir", "id", "lang", "role", ARIA_ATTRIBUTE_PATTERN], + a: ["target", "href", "title", "rel"], + area: [], + b: [], + br: [], + col: [], + code: [], + dd: [], + div: [], + dl: [], + dt: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ["src", "srcset", "alt", "title", "width", "height"], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] +}; +const uriAttributes = /* @__PURE__ */ new Set([ + "background", + "cite", + "href", + "itemtype", + "longdesc", + "poster", + "src", + "xlink:href" +]); +const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i; +const allowedAttribute = (attribute, allowedAttributeList) => { + const attributeName = attribute.nodeName.toLowerCase(); + if (allowedAttributeList.includes(attributeName)) { + if (uriAttributes.has(attributeName)) { + return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue)); + } + return true; + } + return allowedAttributeList.filter((attributeRegex) => attributeRegex instanceof RegExp).some((regex) => regex.test(attributeName)); +}; +function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + if (sanitizeFunction && typeof sanitizeFunction === "function") { + return sanitizeFunction(unsafeHtml); + } + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, "text/html"); + const elements = Array.from(createdDocument.body.querySelectorAll("*")); + for (const element of elements) { + const elementName = element.nodeName.toLowerCase(); + if (!Object.keys(allowList).includes(elementName)) { + element.remove(); + continue; + } + const attributeList = Array.from(element.attributes); + const allowedAttributes = [...allowList["*"] || [], ...allowList[elementName] || []]; + for (const attribute of attributeList) { + if (!allowedAttribute(attribute, allowedAttributes)) { + element.removeAttribute(attribute.nodeName); + } + } + } + return createdDocument.body.innerHTML; +} +var __defProp$2 = Object.defineProperty; +var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols; +var __hasOwnProp$2 = Object.prototype.hasOwnProperty; +var __propIsEnum$2 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues$2 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$2.call(b, prop)) + __defNormalProp$2(a, prop, b[prop]); + if (__getOwnPropSymbols$2) + for (var prop of __getOwnPropSymbols$2(b)) { + if (__propIsEnum$2.call(b, prop)) + __defNormalProp$2(a, prop, b[prop]); + } + return a; +}; +const NAME$5 = "TemplateFactory"; +const Default$4 = { + allowList: DefaultAllowlist, + content: {}, + extraClass: "", + html: false, + sanitize: true, + sanitizeFn: null, + template: "
" +}; +const DefaultType$4 = { + allowList: "object", + content: "object", + extraClass: "(string|function)", + html: "boolean", + sanitize: "boolean", + sanitizeFn: "(null|function)", + template: "string" +}; +const DefaultContentType = { + entry: "(string|element|function|null)", + selector: "(string|element)" +}; +class TemplateFactory extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + } + static get Default() { + return Default$4; + } + static get DefaultType() { + return DefaultType$4; + } + static get NAME() { + return NAME$5; + } + getContent() { + return Object.values(this._config.content).map((config) => this._resolvePossibleFunction(config)).filter(Boolean); + } + hasContent() { + return this.getContent().length > 0; + } + changeContent(content) { + this._checkContent(content); + this._config.content = __spreadValues$2(__spreadValues$2({}, this._config.content), content); + return this; + } + toHtml() { + const templateWrapper = document.createElement("div"); + templateWrapper.innerHTML = this._maybeSanitize(this._config.template); + for (const [selector, text] of Object.entries(this._config.content)) { + this._setContent(templateWrapper, text, selector); + } + const template = templateWrapper.children[0]; + const extraClass = this._resolvePossibleFunction(this._config.extraClass); + if (extraClass) { + template.classList.add(...extraClass.split(" ")); + } + return template; + } + _typeCheckConfig(config) { + super._typeCheckConfig(config); + this._checkContent(config.content); + } + _checkContent(arg) { + for (const [selector, content] of Object.entries(arg)) { + super._typeCheckConfig({ selector, entry: content }, DefaultContentType); + } + } + _setContent(template, content, selector) { + const templateElement = SelectorEngine.findOne(selector, template); + if (!templateElement) { + return; + } + content = this._resolvePossibleFunction(content); + if (!content) { + templateElement.remove(); + return; + } + if (isElement(content)) { + this._putElementInTemplate(getElement(content), templateElement); + return; + } + if (this._config.html) { + templateElement.innerHTML = this._maybeSanitize(content); + return; + } + templateElement.textContent = content; + } + _maybeSanitize(arg) { + return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; + } + _resolvePossibleFunction(arg) { + return execute(arg, [void 0, this]); + } + _putElementInTemplate(element, templateElement) { + if (this._config.html) { + templateElement.innerHTML = ""; + templateElement.append(element); + return; + } + templateElement.textContent = element.textContent; + } +} +var __defProp$1 = Object.defineProperty; +var __defProps$1 = Object.defineProperties; +var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols; +var __hasOwnProp$1 = Object.prototype.hasOwnProperty; +var __propIsEnum$1 = Object.prototype.propertyIsEnumerable; +var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues$1 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$1.call(b, prop)) + __defNormalProp$1(a, prop, b[prop]); + if (__getOwnPropSymbols$1) + for (var prop of __getOwnPropSymbols$1(b)) { + if (__propIsEnum$1.call(b, prop)) + __defNormalProp$1(a, prop, b[prop]); + } + return a; +}; +var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b)); +const NAME$4 = "tooltip"; +const DISALLOWED_ATTRIBUTES = /* @__PURE__ */ new Set(["sanitize", "allowList", "sanitizeFn"]); +const CLASS_NAME_FADE$2 = "fade"; +const CLASS_NAME_MODAL = "modal"; +const CLASS_NAME_SHOW$2 = "show"; +const SELECTOR_TOOLTIP_INNER = ".tooltip-inner"; +const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; +const EVENT_MODAL_HIDE = "hide.bs.modal"; +const TRIGGER_HOVER = "hover"; +const TRIGGER_FOCUS = "focus"; +const TRIGGER_CLICK = "click"; +const TRIGGER_MANUAL = "manual"; +const EVENT_HIDE$2 = "hide"; +const EVENT_HIDDEN$2 = "hidden"; +const EVENT_SHOW$2 = "show"; +const EVENT_SHOWN$2 = "shown"; +const EVENT_INSERTED = "inserted"; +const EVENT_CLICK$1 = "click"; +const EVENT_FOCUSIN$1 = "focusin"; +const EVENT_FOCUSOUT$1 = "focusout"; +const EVENT_MOUSEENTER = "mouseenter"; +const EVENT_MOUSELEAVE = "mouseleave"; +const AttachmentMap = { + AUTO: "auto", + TOP: "top", + RIGHT: isRTL() ? "left" : "right", + BOTTOM: "bottom", + LEFT: isRTL() ? "right" : "left" +}; +const Default$3 = { + allowList: DefaultAllowlist, + animation: true, + boundary: "clippingParents", + container: false, + customClass: "", + delay: 0, + fallbackPlacements: ["top", "right", "bottom", "left"], + html: false, + offset: [0, 6], + placement: "top", + popperConfig: null, + sanitize: true, + sanitizeFn: null, + selector: false, + template: '', + title: "", + trigger: "hover focus" +}; +const DefaultType$3 = { + allowList: "object", + animation: "boolean", + boundary: "(string|element)", + container: "(string|element|boolean)", + customClass: "(string|function)", + delay: "(number|object)", + fallbackPlacements: "array", + html: "boolean", + offset: "(array|string|function)", + placement: "(string|function)", + popperConfig: "(null|object|function)", + sanitize: "boolean", + sanitizeFn: "(null|function)", + selector: "(string|boolean)", + template: "string", + title: "(string|element|function)", + trigger: "string" +}; +class Tooltip extends BaseComponent { + constructor(element, config) { + if (typeof Popper === "undefined") { + throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)"); + } + super(element, config); + this._isEnabled = true; + this._timeout = 0; + this._isHovered = null; + this._activeTrigger = {}; + this._popper = null; + this._templateFactory = null; + this._newContent = null; + this.tip = null; + this._hideModalHandler = null; + this._setListeners(); + if (!this._config.selector) { + this._fixTitle(); + } + } + static get Default() { + return Default$3; + } + static get DefaultType() { + return DefaultType$3; + } + static get NAME() { + return NAME$4; + } + enable() { + this._isEnabled = true; + } + disable() { + this._isEnabled = false; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle() { + if (!this._isEnabled) { + return; + } + if (this._isShown()) { + this._leave(); + return; + } + this._enter(); + } + dispose() { + clearTimeout(this._timeout); + EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + if (this._element.getAttribute("data-bs-original-title") || this._element.getAttribute("data-tblr-original-title")) { + this._element.setAttribute( + "title", + this._element.getAttribute("data-bs-original-title") || this._element.getAttribute("data-tblr-original-title") || "" + ); + } + this._disposePopper(); + super.dispose(); + } + show() { + if (this._element.style.display === "none") { + throw new Error("Please use show on visible elements"); + } + if (!(this._isWithContent() && this._isEnabled)) { + return; + } + const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); + const shadowRoot = findShadowRoot(this._element); + const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } + this._disposePopper(); + const tip = this._getTipElement(); + this._element.setAttribute("aria-describedby", tip.getAttribute("id")); + const { container } = this._config; + if (!this._element.ownerDocument.documentElement.contains(this.tip)) { + container.append(tip); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); + } + this._popper = this._createPopper(tip); + tip.classList.add(CLASS_NAME_SHOW$2); + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, "mouseover", noop); + } + } + const complete = () => { + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); + if (this._isHovered === false) { + this._leave(); + } + this._isHovered = false; + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + hide() { + if (!this._isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); + if (hideEvent.defaultPrevented) { + return; + } + const tip = this._getTipElement(); + tip.classList.remove(CLASS_NAME_SHOW$2); + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, "mouseover", noop); + } + } + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + this._isHovered = null; + const complete = () => { + if (this._isWithActiveTrigger()) { + return; + } + if (!this._isHovered) { + this._disposePopper(); + } + this._element.removeAttribute("aria-describedby"); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + update() { + if (this._popper) { + this._popper.update(); + } + } + _isWithContent() { + return Boolean(this._getTitle()); + } + _getTipElement() { + if (!this.tip) { + this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); + } + return this.tip; + } + _createTipElement(content) { + const tip = this._getTemplateFactory(content).toHtml(); + if (!tip) { + return null; + } + tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); + tip.classList.add(`bs-${this.constructor.NAME}-auto`); + const tipId = getUID(this.constructor.NAME).toString(); + tip.setAttribute("id", tipId); + if (this._isAnimated()) { + tip.classList.add(CLASS_NAME_FADE$2); + } + return tip; + } + setContent(content) { + this._newContent = content; + if (this._isShown()) { + this._disposePopper(); + this.show(); + } + } + _getTemplateFactory(content) { + if (this._templateFactory) { + this._templateFactory.changeContent(content); + } else { + this._templateFactory = new TemplateFactory(__spreadProps$1(__spreadValues$1({}, this._config), { + content, + extraClass: this._resolvePossibleFunction(this._config.customClass) + })); + } + return this._templateFactory; + } + _getContentForTemplate() { + return { + [SELECTOR_TOOLTIP_INNER]: this._getTitle() + }; + } + _getTitle() { + return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title") || this._element.getAttribute("data-tblr-original-title") || ""; + } + _initializeOnDelegatedTarget(event) { + return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); + } + _isAnimated() { + return this._config.animation || this.tip !== null && this.tip.classList.contains(CLASS_NAME_FADE$2); + } + _isShown() { + return this.tip !== null && this.tip.classList.contains(CLASS_NAME_SHOW$2); + } + _createPopper(tip) { + const placement = execute(this._config.placement, [this, tip, this._element]); + const attachment = AttachmentMap[placement.toUpperCase()]; + return createPopper(this._element, tip, this._getPopperConfig(attachment)); + } + _getOffset() { + const { offset: offset2 } = this._config; + if (typeof offset2 === "string") { + return offset2.split(",").map((value) => Number.parseInt(value, 10)); + } + if (typeof offset2 === "function") { + return (popperData) => offset2(popperData, this._element); + } + return offset2; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this._element, this._element]); + } + _getPopperConfig(attachment) { + const defaultBsPopperConfig = { + placement: attachment, + modifiers: [ + { + name: "flip", + options: { + fallbackPlacements: this._config.fallbackPlacements + } + }, + { + name: "offset", + options: { + offset: this._getOffset() + } + }, + { + name: "preventOverflow", + options: { + boundary: this._config.boundary + } + }, + { + name: "arrow", + options: { + element: `.${this.constructor.NAME}-arrow` + } + }, + { + name: "preSetPlacement", + enabled: true, + phase: "beforeMain", + fn: (data) => { + this._getTipElement().setAttribute("data-popper-placement", data.state.placement); + } + } + ] + }; + const popperConfig = execute(this._config.popperConfig, [void 0, defaultBsPopperConfig]); + return __spreadValues$1(__spreadValues$1({}, defaultBsPopperConfig), typeof popperConfig === "object" && popperConfig !== null ? popperConfig : {}); + } + _setListeners() { + const triggers = this._config.trigger.split(" "); + for (const trigger of triggers) { + if (trigger === "click") { + EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]); + context.toggle(); + }); + } else if (trigger !== TRIGGER_MANUAL) { + const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); + const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); + EventHandler.on(this._element, eventIn, this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === "focusin" ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + context._enter(); + }); + EventHandler.on(this._element, eventOut, this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === "focusout" ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); + context._leave(); + }); + } + } + this._hideModalHandler = () => { + if (this._element) { + this.hide(); + } + }; + EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + } + _fixTitle() { + const title = this._element.getAttribute("title"); + if (!title) { + return; + } + if (!this._element.getAttribute("aria-label") && !this._element.textContent.trim()) { + this._element.setAttribute("aria-label", title); + } + this._element.setAttribute("data-bs-original-title", title); + this._element.removeAttribute("title"); + } + _enter() { + if (this._isShown() || this._isHovered) { + this._isHovered = true; + return; + } + this._isHovered = true; + this._setTimeout(() => { + if (this._isHovered) { + this.show(); + } + }, this._config.delay.show); + } + _leave() { + if (this._isWithActiveTrigger()) { + return; + } + this._isHovered = false; + this._setTimeout(() => { + if (!this._isHovered) { + this.hide(); + } + }, this._config.delay.hide); + } + _setTimeout(handler, timeout) { + clearTimeout(this._timeout); + this._timeout = setTimeout(handler, timeout); + } + _isWithActiveTrigger() { + return Object.values(this._activeTrigger).includes(true); + } + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this._element); + for (const dataAttribute of Object.keys(dataAttributes)) { + if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { + delete dataAttributes[dataAttribute]; + } + } + config = __spreadValues$1(__spreadValues$1({}, dataAttributes), typeof config === "object" && config ? config : {}); + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + config.container = config.container === false ? document.body : getElement(config.container); + if (typeof config.delay === "number") { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + if (typeof config.title === "number") { + config.title = config.title.toString(); + } + if (typeof config.content === "number") { + config.content = config.content.toString(); + } + return config; + } + _getDelegateConfig() { + const config = {}; + for (const [key, value] of Object.entries(this._config)) { + if (this.constructor.Default[key] !== value) { + config[key] = value; + } + } + config.selector = false; + config.trigger = "manual"; + return config; + } + _disposePopper() { + if (this._popper) { + this._popper.destroy(); + this._popper = null; + } + if (this.tip) { + this.tip.remove(); + this.tip = null; + } + } +} +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +const NAME$3 = "popover"; +const SELECTOR_TITLE = ".popover-header"; +const SELECTOR_CONTENT = ".popover-body"; +const Default$2 = __spreadProps(__spreadValues({}, Tooltip.Default), { + content: "", + offset: [0, 8], + placement: "right", + template: '', + trigger: "click" +}); +const DefaultType$2 = __spreadProps(__spreadValues({}, Tooltip.DefaultType), { + content: "(null|string|element|function)" +}); +class Popover extends Tooltip { + static get Default() { + return Default$2; + } + static get DefaultType() { + return DefaultType$2; + } + static get NAME() { + return NAME$3; + } + _isWithContent() { + return Boolean(this._getTitle() || this._getContent()); + } + _getContentForTemplate() { + return { + [SELECTOR_TITLE]: this._getTitle(), + [SELECTOR_CONTENT]: this._getContent() + }; + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } +} +const NAME$2 = "scrollspy"; +const DATA_KEY$2 = "bs.scrollspy"; +const EVENT_KEY$2 = `.${DATA_KEY$2}`; +const DATA_API_KEY = ".data-api"; +const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; +const EVENT_CLICK = `click${EVENT_KEY$2}`; +const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; +const CLASS_NAME_DROPDOWN_ITEM = "dropdown-item"; +const CLASS_NAME_ACTIVE$1 = "active"; +const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"], [data-tblr-spy="scroll"]'; +const SELECTOR_TARGET_LINKS = "[href]"; +const SELECTOR_NAV_LIST_GROUP = ".nav, .list-group"; +const SELECTOR_NAV_LINKS = ".nav-link"; +const SELECTOR_NAV_ITEMS = ".nav-item"; +const SELECTOR_LIST_ITEMS = ".list-group-item"; +const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; +const SELECTOR_DROPDOWN = ".dropdown"; +const SELECTOR_DROPDOWN_TOGGLE$1 = ".dropdown-toggle"; +const Default$1 = { + offset: null, + rootMargin: "0px 0px -25%", + smoothScroll: false, + target: null, + threshold: [0.1, 0.5, 1] +}; +const DefaultType$1 = { + offset: "(number|null)", + rootMargin: "string", + smoothScroll: "boolean", + target: "element", + threshold: "array" +}; +class ScrollSpy extends BaseComponent { + constructor(element, config) { + super(element, config); + this._targetLinks = /* @__PURE__ */ new Map(); + this._observableSections = /* @__PURE__ */ new Map(); + this._rootElement = getComputedStyle(this._element).overflowY === "visible" ? null : this._element; + this._activeTarget = null; + this._observer = null; + this._previousScrollData = { + visibleEntryTop: 0, + parentScrollTop: 0 + }; + this.refresh(); + } + static get Default() { + return Default$1; + } + static get DefaultType() { + return DefaultType$1; + } + static get NAME() { + return NAME$2; + } + refresh() { + this._initializeTargetsAndObservables(); + this._maybeEnableSmoothScroll(); + if (this._observer) { + this._observer.disconnect(); + } else { + this._observer = this._getNewObserver(); + } + for (const section of this._observableSections.values()) { + this._observer.observe(section); + } + } + dispose() { + this._observer.disconnect(); + super.dispose(); + } + _configAfterMerge(config) { + config.target = getElement(config.target) || document.body; + config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; + if (typeof config.threshold === "string") { + config.threshold = config.threshold.split(",").map((value) => Number.parseFloat(value)); + } + return config; + } + _maybeEnableSmoothScroll() { + if (!this._config.smoothScroll) { + return; + } + EventHandler.off(this._config.target, EVENT_CLICK); + EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, (event) => { + const observableSection = this._observableSections.get(event.target.hash); + if (observableSection) { + event.preventDefault(); + const root = this._rootElement || window; + const height = observableSection.offsetTop - this._element.offsetTop; + if ("scrollTo" in root) { + root.scrollTo({ top: height, behavior: "smooth" }); + return; + } + root.scrollTop = height; + } + }); + } + _getNewObserver() { + const options = { + root: this._rootElement, + threshold: this._config.threshold, + rootMargin: this._config.rootMargin + }; + return new IntersectionObserver((entries) => this._observerCallback(entries), options); + } + _observerCallback(entries) { + const targetElement = (entry) => this._targetLinks.get(`#${entry.target.id}`); + const activate = (entry) => { + this._previousScrollData.visibleEntryTop = entry.target.offsetTop; + this._process(targetElement(entry)); + }; + const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; + const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = parentScrollTop; + for (const entry of entries) { + if (!entry.isIntersecting) { + this._activeTarget = null; + this._clearActiveClass(targetElement(entry)); + continue; + } + const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; + if (userScrollsDown && entryIsLowerThanPrevious) { + activate(entry); + if (!parentScrollTop) { + return; + } + continue; + } + if (!userScrollsDown && !entryIsLowerThanPrevious) { + activate(entry); + } + } + } + _initializeTargetsAndObservables() { + this._targetLinks = /* @__PURE__ */ new Map(); + this._observableSections = /* @__PURE__ */ new Map(); + const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); + for (const anchor of targetLinks) { + if (!anchor.hash || isDisabled(anchor)) { + continue; + } + const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element); + if (isVisible(observableSection)) { + this._targetLinks.set(decodeURI(anchor.hash), anchor); + this._observableSections.set(anchor.hash, observableSection); + } + } + } + _process(target) { + if (this._activeTarget === target) { + return; + } + this._clearActiveClass(this._config.target); + this._activeTarget = target; + target.classList.add(CLASS_NAME_ACTIVE$1); + this._activateParents(target); + EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target }); + } + _activateParents(target) { + if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { + SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); + return; + } + for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { + for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { + item.classList.add(CLASS_NAME_ACTIVE$1); + } + } + } + _clearActiveClass(parent) { + parent.classList.remove(CLASS_NAME_ACTIVE$1); + const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); + for (const node of activeNodes) { + node.classList.remove(CLASS_NAME_ACTIVE$1); + } + } +} +EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { + for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { + ScrollSpy.getOrCreateInstance(spy); + } +}); +const NAME$1 = "tab"; +const DATA_KEY$1 = "bs.tab"; +const EVENT_KEY$1 = `.${DATA_KEY$1}`; +const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; +const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; +const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; +const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; +const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; +const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; +const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; +const ARROW_LEFT_KEY = "ArrowLeft"; +const ARROW_RIGHT_KEY = "ArrowRight"; +const ARROW_UP_KEY = "ArrowUp"; +const ARROW_DOWN_KEY = "ArrowDown"; +const HOME_KEY = "Home"; +const END_KEY = "End"; +const CLASS_NAME_ACTIVE = "active"; +const CLASS_NAME_FADE$1 = "fade"; +const CLASS_NAME_SHOW$1 = "show"; +const CLASS_DROPDOWN = "dropdown"; +const SELECTOR_DROPDOWN_TOGGLE = ".dropdown-toggle"; +const SELECTOR_DROPDOWN_MENU = ".dropdown-menu"; +const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`; +const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; +const SELECTOR_OUTER = ".nav-item, .list-group-item"; +const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; +const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"], [data-tblr-toggle="tab"], [data-tblr-toggle="pill"], [data-tblr-toggle="list"]'; +const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; +const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle="list"]`; +class Tab extends BaseComponent { + constructor(element) { + super(element); + this._parent = this._element.closest(SELECTOR_TAB_PANEL); + if (!this._parent) { + return; + } + this._setInitialAttributes(this._parent, this._getChildren()); + EventHandler.on(this._element, EVENT_KEYDOWN, (event) => this._keydown(event)); + } + static get NAME() { + return NAME$1; + } + show() { + const innerElem = this._element; + if (this._elemIsActive(innerElem)) { + return; + } + const active = this._getActiveElem(); + const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { relatedTarget: innerElem }) : null; + const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { relatedTarget: active }); + if ((showEvent == null ? void 0 : showEvent.defaultPrevented) || (hideEvent == null ? void 0 : hideEvent.defaultPrevented)) { + return; + } + this._deactivate(active, innerElem); + this._activate(innerElem, active); + } + _activate(element, relatedElem) { + if (!element) { + return; + } + element.classList.add(CLASS_NAME_ACTIVE); + this._activate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute("role") !== "tab") { + element.classList.add(CLASS_NAME_SHOW$1); + return; + } + element.removeAttribute("tabindex"); + element.setAttribute("aria-selected", "true"); + this._toggleDropDown(element, true); + EventHandler.trigger(element, EVENT_SHOWN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _deactivate(element, relatedElem) { + if (!element) { + return; + } + element.classList.remove(CLASS_NAME_ACTIVE); + element.blur(); + this._deactivate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute("role") !== "tab") { + element.classList.remove(CLASS_NAME_SHOW$1); + return; + } + element.setAttribute("aria-selected", "false"); + element.setAttribute("tabindex", "-1"); + this._toggleDropDown(element, false); + EventHandler.trigger(element, EVENT_HIDDEN$1, { relatedTarget: relatedElem }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _keydown(event) { + if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) { + return; + } + event.stopPropagation(); + event.preventDefault(); + const children = this._getChildren().filter((element) => !isDisabled(element)); + let nextActiveElement; + if ([HOME_KEY, END_KEY].includes(event.key)) { + nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]; + } else { + const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); + nextActiveElement = getNextActiveElement(children, event.target, isNext, true); + } + if (nextActiveElement) { + nextActiveElement.focus({ preventScroll: true }); + Tab.getOrCreateInstance(nextActiveElement).show(); + } + } + _getChildren() { + return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); + } + _getActiveElem() { + return this._getChildren().find((child) => this._elemIsActive(child)) || null; + } + _setInitialAttributes(parent, children) { + this._setAttributeIfNotExists(parent, "role", "tablist"); + for (const child of children) { + this._setInitialAttributesOnChild(child); + } + } + _setInitialAttributesOnChild(child) { + child = this._getInnerElement(child); + const isActive = this._elemIsActive(child); + const outerElem = this._getOuterElement(child); + child.setAttribute("aria-selected", String(isActive)); + if (outerElem !== child) { + this._setAttributeIfNotExists(outerElem, "role", "presentation"); + } + if (!isActive) { + child.setAttribute("tabindex", "-1"); + } + this._setAttributeIfNotExists(child, "role", "tab"); + this._setInitialAttributesOnTargetPanel(child); + } + _setInitialAttributesOnTargetPanel(child) { + const target = SelectorEngine.getElementFromSelector(child); + if (!target) { + return; + } + this._setAttributeIfNotExists(target, "role", "tabpanel"); + if (child.id) { + this._setAttributeIfNotExists(target, "aria-labelledby", `${child.id}`); + } + } + _toggleDropDown(element, open) { + const outerElem = this._getOuterElement(element); + if (!outerElem.classList.contains(CLASS_DROPDOWN)) { + return; + } + const toggle = (selector, className) => { + const el = SelectorEngine.findOne(selector, outerElem); + if (el) { + el.classList.toggle(className, open); + } + }; + toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); + toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); + outerElem.setAttribute("aria-expanded", String(open)); + } + _setAttributeIfNotExists(element, attribute, value) { + if (!element.hasAttribute(attribute)) { + element.setAttribute(attribute, value); + } + } + _elemIsActive(elem) { + return elem.classList.contains(CLASS_NAME_ACTIVE); + } + _getInnerElement(elem) { + return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); + } + _getOuterElement(elem) { + return elem.closest(SELECTOR_OUTER) || elem; + } +} +EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function(event) { + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + Tab.getOrCreateInstance(this).show(); +}); +EventHandler.on(window, EVENT_LOAD_DATA_API, () => { + for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { + Tab.getOrCreateInstance(element); + } +}); +const NAME = "toast"; +const DATA_KEY = "bs.toast"; +const EVENT_KEY = `.${DATA_KEY}`; +const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; +const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; +const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; +const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; +const EVENT_HIDE = `hide${EVENT_KEY}`; +const EVENT_HIDDEN = `hidden${EVENT_KEY}`; +const EVENT_SHOW = `show${EVENT_KEY}`; +const EVENT_SHOWN = `shown${EVENT_KEY}`; +const CLASS_NAME_FADE = "fade"; +const CLASS_NAME_HIDE = "hide"; +const CLASS_NAME_SHOW = "show"; +const CLASS_NAME_SHOWING = "showing"; +const DefaultType = { + animation: "boolean", + autohide: "boolean", + delay: "number" +}; +const Default = { + animation: true, + autohide: true, + delay: 5e3 +}; +class Toast extends BaseComponent { + constructor(element, config) { + super(element, config); + this._timeout = null; + this._hasMouseInteraction = false; + this._hasKeyboardInteraction = false; + this._setListeners(); + } + static get Default() { + return Default; + } + static get DefaultType() { + return DefaultType; + } + static get NAME() { + return NAME; + } + show() { + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); + if (showEvent == null ? void 0 : showEvent.defaultPrevented) { + return; + } + this._clearTimeout(); + if (this._config.animation) { + this._element.classList.add(CLASS_NAME_FADE); + } + const complete = () => { + this._element.classList.remove(CLASS_NAME_SHOWING); + EventHandler.trigger(this._element, EVENT_SHOWN); + this._maybeScheduleHide(); + }; + this._element.classList.remove(CLASS_NAME_HIDE); + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + hide() { + if (!this.isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); + if (hideEvent == null ? void 0 : hideEvent.defaultPrevented) { + return; + } + const complete = () => { + this._element.classList.add(CLASS_NAME_HIDE); + this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); + EventHandler.trigger(this._element, EVENT_HIDDEN); + }; + this._element.classList.add(CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + dispose() { + this._clearTimeout(); + if (this.isShown()) { + this._element.classList.remove(CLASS_NAME_SHOW); + } + super.dispose(); + } + isShown() { + return this._element.classList.contains(CLASS_NAME_SHOW); + } + _maybeScheduleHide() { + if (!this._config.autohide) { + return; + } + if (this._hasMouseInteraction || this._hasKeyboardInteraction) { + return; + } + this._timeout = setTimeout(() => { + this.hide(); + }, this._config.delay); + } + _onInteraction(event, isInteracting) { + switch (event.type) { + case "mouseover": + case "mouseout": { + this._hasMouseInteraction = isInteracting; + break; + } + case "focusin": + case "focusout": { + this._hasKeyboardInteraction = isInteracting; + break; + } + } + if (isInteracting) { + this._clearTimeout(); + return; + } + const nextElement = event.relatedTarget; + if (this._element === nextElement || this._element.contains(nextElement)) { + return; + } + this._maybeScheduleHide(); + } + _setListeners() { + EventHandler.on(this._element, EVENT_MOUSEOVER, (event) => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_MOUSEOUT, (event) => this._onInteraction(event, false)); + EventHandler.on(this._element, EVENT_FOCUSIN, (event) => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_FOCUSOUT, (event) => this._onInteraction(event, false)); + } + _clearTimeout() { + clearTimeout(this._timeout); + this._timeout = null; + } +} +enableDismissTrigger(Toast); +const bootstrap = { + Alert, + Button, + Carousel, + Collapse, + Dropdown, + Modal, + Offcanvas, + Popover, + ScrollSpy, + Tab, + Toast, + Tooltip +}; +const dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')); +dropdownTriggerList.map(function(dropdownTriggerEl) { + const options = { + boundary: dropdownTriggerEl.getAttribute("data-bs-boundary") === "viewport" ? document.querySelector(".btn") : "clippingParents" + }; + return new Dropdown(dropdownTriggerEl, options); +}); +const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); +tooltipTriggerList.map(function(tooltipTriggerEl) { + var _a; + const options = { + delay: { show: 50, hide: 50 }, + html: tooltipTriggerEl.getAttribute("data-bs-html") === "true", + placement: (_a = tooltipTriggerEl.getAttribute("data-bs-placement")) != null ? _a : "auto" + }; + return new Tooltip(tooltipTriggerEl, options); +}); +const popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); +popoverTriggerList.map(function(popoverTriggerEl) { + var _a; + const options = { + delay: { show: 50, hide: 50 }, + html: popoverTriggerEl.getAttribute("data-bs-html") === "true", + placement: (_a = popoverTriggerEl.getAttribute("data-bs-placement")) != null ? _a : "auto" + }; + return new Popover(popoverTriggerEl, options); +}); +const switchesTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')); +switchesTriggerList.map(function(switchTriggerEl) { + switchTriggerEl.addEventListener("click", (e) => { + e.stopPropagation(); + switchTriggerEl.classList.toggle("active"); + }); +}); +const EnableActivationTabsFromLocationHash = () => { + const locationHash = window.location.hash; + if (locationHash) { + const tabsList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]')); + const matchedTabs = tabsList.filter((tab) => tab.hash === locationHash); + matchedTabs.map((tab) => { + new Tab(tab).show(); + }); + } +}; +EnableActivationTabsFromLocationHash(); +const toastsTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')); +toastsTriggerList.map(function(toastTriggerEl) { + const target = toastTriggerEl.getAttribute("data-bs-target"); + if (target === null) { + return; + } + const toastEl = new Toast(target); + toastTriggerEl.addEventListener("click", () => { + toastEl.show(); + }); +}); +const sortableElements = document.querySelectorAll("[data-sortable]"); +if (sortableElements.length) { + sortableElements.forEach(function(element) { + let options = {}; + try { + const rawOptions = element.getAttribute("data-sortable"); + options = rawOptions ? JSON.parse(rawOptions) : {}; + } catch (e) { + } + if (window.Sortable) { + new window.Sortable(element, options); + } + }); +} +const prefix = "tblr-"; +const hexToRgba = (hex, opacity) => { + const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); + return result ? `rgba(${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}, ${opacity})` : null; +}; +const getColor = (color, opacity = 1) => { + const c = getComputedStyle(document.body).getPropertyValue(`--${prefix}${color}`).trim(); + if (opacity !== 1) { + return hexToRgba(c, opacity); + } + return c; +}; +const tabler = /* @__PURE__ */ Object.freeze({ + __proto__: null, + getColor, + hexToRgba, + prefix +}); +export { + Alert, + Button, + Carousel, + Collapse, + Dropdown, + Modal, + Offcanvas, + Popover, + Popper, + ScrollSpy, + Tab, + Toast, + Tooltip, + bootstrap, + tabler +}; +//# sourceMappingURL=tabler.esm.js.map diff --git a/storage/public/dist/js/tabler.esm.js.map b/storage/public/dist/js/tabler.esm.js.map new file mode 100644 index 0000000..016d92f --- /dev/null +++ b/storage/public/dist/js/tabler.esm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tabler.esm.js","sources":["../../js/src/autosize.ts","../../js/src/countup.ts","../../js/src/input-mask.ts","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/enums.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/math.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/userAgent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/within.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getVariation.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/flip.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/hide.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/offset.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/debounce.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/createPopper.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/popper-lite.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/popper.js","../../js/src/bootstrap/dom/data.ts","../../js/src/bootstrap/dom/event-handler.ts","../../js/src/bootstrap/dom/manipulator.ts","../../js/src/bootstrap/util/index.ts","../../js/src/bootstrap/util/config.ts","../../js/src/bootstrap/base-component.ts","../../js/src/bootstrap/dom/selector-engine.ts","../../js/src/bootstrap/util/component-functions.ts","../../js/src/bootstrap/alert.ts","../../js/src/bootstrap/button.ts","../../js/src/bootstrap/util/swipe.ts","../../js/src/bootstrap/carousel.ts","../../js/src/bootstrap/collapse.ts","../../js/src/bootstrap/dropdown.ts","../../js/src/bootstrap/util/backdrop.ts","../../js/src/bootstrap/util/focustrap.ts","../../js/src/bootstrap/util/scrollbar.ts","../../js/src/bootstrap/modal.ts","../../js/src/bootstrap/offcanvas.ts","../../js/src/bootstrap/util/sanitizer.ts","../../js/src/bootstrap/util/template-factory.ts","../../js/src/bootstrap/tooltip.ts","../../js/src/bootstrap/popover.ts","../../js/src/bootstrap/scrollspy.ts","../../js/src/bootstrap/tab.ts","../../js/src/bootstrap/toast.ts","../../js/src/bootstrap.ts","../../js/src/dropdown.ts","../../js/src/tooltip.ts","../../js/src/popover.ts","../../js/src/switch-icon.ts","../../js/src/tab.ts","../../js/src/toast.ts","../../js/src/sortable.ts","../../js/src/tabler.ts"],"sourcesContent":["// Autosize plugin\nconst autosizeElements: NodeListOf = document.querySelectorAll('[data-bs-toggle=\"autosize\"]')\n\nif (autosizeElements.length) {\n autosizeElements.forEach(function (element: HTMLElement) {\n if (window.autosize) {\n window.autosize(element)\n }\n })\n}\n","const countupElements: NodeListOf = document.querySelectorAll('[data-countup]')\n\nif (countupElements.length) {\n countupElements.forEach(function (element: HTMLElement) {\n let options: Record = {}\n try {\n const dataOptions = element.getAttribute('data-countup') ? JSON.parse(element.getAttribute('data-countup')!) : {}\n options = Object.assign(\n {\n enableScrollSpy: true,\n },\n dataOptions,\n )\n } catch (error) {\n // ignore invalid JSON\n }\n\n const value = parseInt(element.innerHTML, 10)\n\n if (window.countUp && window.countUp.CountUp) {\n const countUp = new window.countUp.CountUp(element, value, options)\n if (!countUp.error) {\n countUp.start()\n }\n }\n })\n}\n","// Input mask plugin\n\nconst maskElementList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-mask]'))\nmaskElementList.map(function (maskEl: HTMLElement) {\n window.IMask &&\n new window.IMask(maskEl, {\n mask: maskEl.dataset.mask,\n lazy: maskEl.dataset['mask-visible'] === 'true',\n })\n})\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst elementMap = new Map>()\n\nconst Data = {\n set(element: HTMLElement, key: string, instance: object): void {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)!\n\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element: HTMLElement, key: string): T | null {\n if (elementMap.has(element)) {\n return (elementMap.get(element)!.get(key) as T) || null\n }\n\n return null\n },\n\n remove(element: HTMLElement, key: string): void {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)!\n\n instanceMap.delete(key)\n\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\ntype EventCallback = (this: EventTarget, ...args: unknown[]) => void\n\ninterface BootstrapHandler {\n (event: Event): void\n oneOff?: boolean\n delegationSelector?: string | null\n callable?: EventCallback\n uidEvent?: string | number\n}\n\ninterface EventableElement extends EventTarget {\n uidEvent?: string | number\n}\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry: Record>> = {}\nlet uidEvent = 1\nconst customEvents: Record = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\nfunction makeEventUid(element: EventableElement | EventCallback, uid?: string): string | number {\n return (uid && `${uid}::${uidEvent++}`) || (element as EventableElement).uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element: EventableElement): Record> {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element: EventTarget, fn: EventCallback): BootstrapHandler {\n return function handler(event: Event) {\n hydrateObj(event, { delegateTarget: element })\n\n if ((handler as BootstrapHandler).oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n } as BootstrapHandler\n}\n\nfunction bootstrapDelegationHandler(element: EventTarget, selector: string, fn: EventCallback): BootstrapHandler {\n return function handler(this: EventTarget, event: Event) {\n const domElements = (element as HTMLElement).querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = (target as HTMLElement).parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if ((handler as BootstrapHandler).oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n } as BootstrapHandler\n}\n\nfunction findHandler(\n events: Record,\n callable: EventCallback,\n delegationSelector: string | null = null\n): BootstrapHandler | undefined {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(\n originalTypeEvent: string,\n handler: string | EventCallback | undefined,\n delegationFunction: EventCallback | undefined\n): [boolean, EventCallback, string] {\n const isDelegated = typeof handler === 'string'\n const callable = isDelegated ? delegationFunction! : (handler || delegationFunction)!\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(\n element: EventTarget | null,\n originalTypeEvent: string,\n handler: string | EventCallback | undefined,\n delegationFunction: EventCallback | undefined,\n oneOff: boolean\n): void {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n if (originalTypeEvent in customEvents) {\n const wrapFunction = (fn: EventCallback): EventCallback => {\n return function (this: EventTarget, event: unknown) {\n const evt = event as MouseEvent & { delegateTarget: HTMLElement }\n if (!evt.relatedTarget || (evt.relatedTarget !== evt.delegateTarget && !evt.delegateTarget.contains(evt.relatedTarget as Node))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler as string : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn: BootstrapHandler = isDelegated ?\n bootstrapDelegationHandler(element, handler as string, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler as string : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(\n element: EventTarget,\n events: Record>,\n typeEvent: string,\n handler: EventCallback,\n delegationSelector?: string | null\n): void {\n const fn = findHandler(events[typeEvent], handler, delegationSelector ?? null)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent!]\n}\n\nfunction removeNamespacedHandlers(\n element: EventTarget,\n events: Record>,\n typeEvent: string,\n namespace: string\n): void {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable!, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event: string): string {\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element: EventTarget | null, event: string, handler: string | EventCallback, delegationFunction?: EventCallback): void {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element: EventTarget | null, event: string, handler: string | EventCallback, delegationFunction?: EventCallback): void {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element: EventTarget | null, originalTypeEvent: string, handler?: string | EventCallback, delegationFunction?: EventCallback): void {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler as string : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable!, event.delegationSelector)\n }\n }\n },\n\n trigger(element: EventTarget | null, event: string, args?: Record): Event | null {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n\n element.dispatchEvent(evt)\n\n return evt\n }\n}\n\nfunction hydrateObj(obj: T, meta: Record = {}): T {\n for (const [key, value] of Object.entries(meta)) {\n try {\n (obj as Record)[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\ntype DataValue = string | number | boolean | null | Record\n\nfunction normalizeData(value: string): DataValue {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key: string): string {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst PREFIXES = ['tblr', 'bs'] as const\n\nconst Manipulator = {\n setDataAttribute(element: HTMLElement, key: string, value: string): void {\n element.setAttribute(`data-tblr-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element: HTMLElement, key: string): void {\n for (const prefix of PREFIXES) {\n element.removeAttribute(`data-${prefix}-${normalizeDataKey(key)}`)\n }\n },\n\n getDataAttributes(element: HTMLElement | null): Record {\n if (!element) {\n return {}\n }\n\n const attributes: Record = {}\n\n for (const prefix of PREFIXES) {\n const keys = Object.keys(element.dataset).filter(key => key.startsWith(prefix) && !key.startsWith(`${prefix}Config`))\n\n for (const key of keys) {\n let pureKey = key.replace(new RegExp(`^${prefix}`), '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n if (!(pureKey in attributes)) {\n attributes[pureKey] = normalizeData(element.dataset[key]!)\n }\n }\n }\n\n return attributes\n },\n\n getDataAttribute(element: HTMLElement, key: string): DataValue {\n for (const prefix of PREFIXES) {\n const value = element.getAttribute(`data-${prefix}-${normalizeDataKey(key)}`)\n if (value !== null) {\n return normalizeData(value)\n }\n }\n\n return null\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\nconst parseSelector = (selector: string): string => {\n if (selector && window.CSS && window.CSS.escape) {\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\nconst toType = (object: unknown): string => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)![1].toLowerCase()\n}\n\nconst getUID = (prefix: string): string => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = (element: HTMLElement): number => {\n if (!element) {\n return 0\n }\n\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = (element: HTMLElement): void => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = (object: unknown): object is HTMLElement => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n return typeof (object as HTMLElement).nodeType !== 'undefined'\n}\n\nconst getElement = (object: unknown): HTMLElement | null => {\n if (isElement(object)) {\n return object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = (element: HTMLElement): boolean => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = (element: HTMLElement | null | undefined): boolean => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if ('disabled' in element && typeof element.disabled !== 'undefined') {\n return Boolean(element.disabled)\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = (element: Node): ShadowRoot | null => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = (): void => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = (element: HTMLElement): void => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst isRTL = (): boolean => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback: unknown, args: unknown[] = [], defaultValue: unknown = possibleCallback): unknown => {\n return typeof possibleCallback === 'function' ? possibleCallback.call(args[0], ...args.slice(1)) : defaultValue\n}\n\nconst executeAfterTransition = (callback: () => void, transitionElement: HTMLElement, waitForTransition = true): void => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }: Event): void => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\nconst getNextActiveElement = (list: T[], activeElement: T, shouldGetNext: boolean, isCycleAllowed: boolean): T => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\nimport type { ComponentConfig, ComponentConfigType, ConfigStatic } from '../types'\n\nclass Config {\n static get Default(): ComponentConfig {\n return {}\n }\n\n static get DefaultType(): ComponentConfigType {\n return {}\n }\n\n static get NAME(): string {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config?: ComponentConfig): ComponentConfig {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n return config\n }\n\n _mergeConfigObj(config?: ComponentConfig, element?: HTMLElement): ComponentConfig {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element!, 'config') : {}\n const ctor = this.constructor as unknown as ConfigStatic\n\n return {\n ...ctor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element!) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config: ComponentConfig, configTypes?: ComponentConfigType): void {\n const ctor = this.constructor as unknown as ConfigStatic\n const types = configTypes || ctor.DefaultType\n\n for (const [property, expectedTypes] of Object.entries(types)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${ctor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config'\nimport { executeAfterTransition, getElement } from './util/index.js'\nimport type { BaseComponentStatic, ComponentConfig, ElementSelector } from './types'\n\nconst VERSION = '5.3.8'\n\nclass BaseComponent extends Config {\n _element!: HTMLElement\n _config!: ComponentConfig\n\n constructor(element: ElementSelector, config?: ComponentConfig) {\n super()\n\n const resolved = getElement(element)\n if (!resolved) {\n return\n }\n\n this._element = resolved\n this._config = this._getConfig(config)\n\n const ctor = this.constructor as unknown as BaseComponentStatic\n Data.set(this._element, ctor.DATA_KEY, this)\n }\n\n dispose(): void {\n const ctor = this.constructor as unknown as BaseComponentStatic\n Data.remove(this._element, ctor.DATA_KEY)\n EventHandler.off(this._element, ctor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n (this as Record)[propertyName] = null\n }\n }\n\n _queueCallback(callback: () => void, element: HTMLElement, isAnimated = true): void {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config?: ComponentConfig): ComponentConfig {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n static getInstance(element: ElementSelector): BaseComponent | null {\n return Data.get(getElement(element)!, this.DATA_KEY)\n }\n\n static getOrCreateInstance(element: ElementSelector, config: ComponentConfig = {}): BaseComponent {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION(): string {\n return VERSION\n }\n\n static get DATA_KEY(): string {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY(): string {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name: string): string {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index'\n\nconst getSelector = (element: HTMLElement): string | null => {\n let selector = element.getAttribute('data-tblr-target') || element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector: string, element: Element = document.documentElement): HTMLElement[] {\n return Array.from(element.querySelectorAll(selector))\n },\n\n findOne(selector: string, element: Element = document.documentElement): HTMLElement | null {\n return element.querySelector(selector)\n },\n\n children(element: HTMLElement, selector: string): HTMLElement[] {\n return Array.from(element.children).filter(child => child.matches(selector)) as HTMLElement[]\n },\n\n parents(element: HTMLElement, selector: string): HTMLElement[] {\n const parents: HTMLElement[] = []\n let ancestor = element.parentNode && (element.parentNode as HTMLElement).closest(selector)\n\n while (ancestor) {\n parents.push(ancestor as HTMLElement)\n ancestor = ancestor.parentNode && (ancestor.parentNode as HTMLElement).closest(selector)\n }\n\n return parents\n },\n\n prev(element: HTMLElement, selector: string): HTMLElement[] {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous as HTMLElement]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element: HTMLElement, selector: string): HTMLElement[] {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next as HTMLElement]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element: HTMLElement): HTMLElement[] {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element: HTMLElement): string | null {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element: HTMLElement): HTMLElement | null {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element: HTMLElement): HTMLElement[] {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index'\n\ninterface DismissibleComponent {\n EVENT_KEY: string\n NAME: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getOrCreateInstance(element: HTMLElement | string | null): any\n}\n\nconst enableDismissTrigger = (component: DismissibleComponent, method = 'hide'): void => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"], [data-tblr-dismiss=\"${name}\"]`, function (this: HTMLElement, event: Event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions'\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nclass Alert extends BaseComponent {\n static get NAME(): string {\n return NAME\n }\n\n close(): void {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent?.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n _destroyElement(): void {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n}\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler.js'\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"], [data-tblr-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nclass Button extends BaseComponent {\n static get NAME(): string {\n return NAME\n }\n\n toggle(): void {\n this._element.setAttribute('aria-pressed', String(this._element.classList.toggle(CLASS_NAME_ACTIVE)))\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, (event: Event) => {\n event.preventDefault()\n\n const target = (event.target as HTMLElement)?.closest(SELECTOR_DATA_TOGGLE) as HTMLElement | null\n if (!target) {\n return\n }\n\n const data = Button.getOrCreateInstance(target) as Button\n data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config'\nimport { execute } from './index'\nimport type { ComponentConfig, ComponentConfigType } from '../types'\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\ninterface SwipeConfig {\n endCallback: (() => void) | null\n leftCallback: (() => void) | null\n rightCallback: (() => void) | null\n}\n\nconst Default: SwipeConfig = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType: ComponentConfigType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\nclass Swipe extends Config {\n declare _config: SwipeConfig & ComponentConfig\n _element: HTMLElement\n _deltaX: number\n _supportPointerEvents: boolean\n\n constructor(element: HTMLElement, config?: ComponentConfig) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config) as SwipeConfig & ComponentConfig\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n dispose(): void {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n _start(event: Event): void {\n if (!this._supportPointerEvents) {\n this._deltaX = (event as TouchEvent).touches[0].clientX\n return\n }\n\n if (this._eventIsPointerPenTouch(event as PointerEvent)) {\n this._deltaX = (event as PointerEvent).clientX\n }\n }\n\n _end(event: Event): void {\n if (this._eventIsPointerPenTouch(event as PointerEvent)) {\n this._deltaX = (event as PointerEvent).clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event: Event): void {\n this._deltaX = (event as TouchEvent).touches && (event as TouchEvent).touches.length > 1 ?\n 0 :\n (event as TouchEvent).touches[0].clientX - this._deltaX\n }\n\n _handleSwipe(): void {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents(): void {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, (event: Event) => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, (event: Event) => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, (event: Event) => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, (event: Event) => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, (event: Event) => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event: PointerEvent): boolean {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n static isSupported(): boolean {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport {\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index'\nimport Swipe from './util/swipe'\nimport type { ComponentConfig, ComponentConfigType } from './types'\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to], [data-tblr-slide], [data-tblr-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"], [data-tblr-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION: Record = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default: ComponentConfig = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType: ComponentConfigType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\nclass Carousel extends BaseComponent {\n _interval: ReturnType | null\n _activeElement: HTMLElement | null\n _isSliding: boolean\n touchTimeout: ReturnType | null\n _swipeHelper: Swipe | null\n _indicatorsElement: HTMLElement | null\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n next(): void {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible(): void {\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev(): void {\n this._slide(ORDER_PREV)\n }\n\n pause(): void {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle(): void {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval as number)\n }\n\n _maybeEnableCycle(): void {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index: number): void {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive()!)\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose(): void {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners(): void {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, (event: Event) => this._keydown(event as KeyboardEvent))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners(): void {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, (event: Event) => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + (this._config.interval as number))\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event: KeyboardEvent): void {\n if (/input|textarea/i.test((event.target as HTMLElement).tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element: HTMLElement): number {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index: number): void {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator!.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator!.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"], [data-tblr-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval(): void {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval') || element.getAttribute('data-tblr-interval') || '', 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order: string, element: HTMLElement | null = null): void {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement!, isNext, this._config.wrap as boolean) as HTMLElement\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = (eventName: string) => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement!),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated(): boolean {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive(): HTMLElement | null {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems(): HTMLElement[] {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval(): void {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction: string): string {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order: string): string {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (this: HTMLElement, event: Event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target) as Carousel\n const slideIndex = this.getAttribute('data-bs-slide-to') || this.getAttribute('data-tblr-slide-to')\n\n if (slideIndex) {\n carousel.to(Number(slideIndex))\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport { getElement, reflow } from './util/index'\nimport type { ComponentConfig, ComponentConfigType, ElementSelector } from './types'\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"], [data-tblr-toggle=\"collapse\"]'\n\nconst Default: ComponentConfig = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType: ComponentConfigType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\nclass Collapse extends BaseComponent {\n _isTransitioning: boolean\n _triggerArray: HTMLElement[]\n\n constructor(element: ElementSelector, config?: ComponentConfig) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector!)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n toggle(): void {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show(): void {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren: Collapse[] = []\n\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }) as Collapse)\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent?.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = '0'\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}` as 'scrollWidth' | 'scrollHeight'\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide(): void {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent?.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element: HTMLElement = this._element): boolean {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.toggle = Boolean(config.toggle)\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension(): typeof WIDTH | typeof HEIGHT {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren(): void {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector: string): HTMLElement[] {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent as HTMLElement)\n return SelectorEngine.find(selector, this._config.parent as HTMLElement).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray: HTMLElement[], isOpen: boolean): void {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', String(isOpen))\n }\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n if ((event.target as HTMLElement).tagName === 'A' || ((event as any).delegateTarget && (event as any).delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n (Collapse.getOrCreateInstance(element, { toggle: false }) as Collapse).toggle()\n }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport {\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index'\nimport type { ComponentConfig, ComponentConfigType } from './types'\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled), [data-tblr-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `.${CLASS_NAME_SHOW}[data-bs-toggle=\"dropdown\"], .${CLASS_NAME_SHOW}[data-tblr-toggle=\"dropdown\"]`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default: ComponentConfig = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType: ComponentConfigType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\nclass Dropdown extends BaseComponent {\n _popper: Popper.Instance | null\n _parent: HTMLElement\n _menu: HTMLElement\n _inNavbar: boolean\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode as HTMLElement\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)!\n this._inNavbar = this._detectNavbar()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n toggle(): void {\n this._isShown() ? this.hide() : this.show()\n }\n\n show(): void {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...(document.body.children as any))) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', 'true')\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide(): void {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose(): void {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update(): void {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n _completeHide(relatedTarget: Record): void {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...(document.body.children as any))) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config: Partial): ComponentConfig {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof (config.reference as any).getBoundingClientRect !== 'function'\n ) {\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper(): void {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\n }\n\n let referenceElement: HTMLElement | Popper.VirtualElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference as HTMLElement | string)!\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference as Popper.VirtualElement\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown(): boolean {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement(): string {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar(): boolean {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset(): number[] | ((popperData: any) => number[]) {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return (popperData: any) => (offset as Function)(popperData, this._element)\n }\n\n return offset as number[]\n }\n\n _getPopperConfig(): Partial {\n const defaultBsPopperConfig: Partial = {\n placement: this._getPlacement() as Popper.Placement,\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n const popperConfig = execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n return {\n ...defaultBsPopperConfig,\n ...(typeof popperConfig === 'object' && popperConfig !== null ? popperConfig : {})\n }\n }\n\n _selectMenuItem({ key, target }: { key: string; target: HTMLElement }): void {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n static clearMenus(event: Event & { button?: number; key?: string; composedPath?: () => EventTarget[] }): void {\n if ((event as MouseEvent).button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && (event as KeyboardEvent).key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle) as Dropdown | null\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n if (context._menu.contains(event.target as Node) && ((event.type === 'keyup' && (event as KeyboardEvent).key === TAB_KEY) || /input|select|option|textarea|form/i.test((event.target as HTMLElement).tagName))) {\n continue\n }\n\n const relatedTarget: Record = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(this: HTMLElement, event: KeyboardEvent): void {\n const isInput = /input|textarea/i.test((event.target as HTMLElement).tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, (event as any).delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton!) as Dropdown\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event as any)\n return\n }\n\n if (instance._isShown()) {\n event.stopPropagation()\n instance.hide()\n getToggleButton!.focus()\n }\n }\n}\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n event.preventDefault()\n ;(Dropdown.getOrCreateInstance(this) as Dropdown).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config'\nimport {\n execute, executeAfterTransition, getElement, reflow\n} from './index'\nimport type { ComponentConfig, ComponentConfigType } from '../types'\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\ninterface BackdropConfig {\n className: string\n clickCallback: (() => void) | null\n isAnimated: boolean\n isVisible: boolean\n rootElement: HTMLElement | string\n}\n\nconst Default: BackdropConfig = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n rootElement: 'body'\n}\n\nconst DefaultType: ComponentConfigType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\nclass Backdrop extends Config {\n declare _config: BackdropConfig & ComponentConfig\n _isAppended: boolean\n _element: HTMLElement | null\n\n constructor(config?: ComponentConfig) {\n super()\n this._config = this._getConfig(config) as BackdropConfig & ComponentConfig\n this._isAppended = false\n this._element = null\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n show(callback?: () => void): void {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback?: () => void): void {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose(): void {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element!.remove()\n this._isAppended = false\n }\n\n _getElement(): HTMLElement {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append(): void {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n ;(this._config.rootElement as HTMLElement).append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback: () => void): void {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config'\nimport type { ComponentConfig, ComponentConfigType } from '../types'\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\ninterface FocusTrapConfig {\n autofocus: boolean\n trapElement: HTMLElement | null\n}\n\nconst Default: FocusTrapConfig = {\n autofocus: true,\n trapElement: null\n}\n\nconst DefaultType: ComponentConfigType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\nclass FocusTrap extends Config {\n declare _config: FocusTrapConfig & ComponentConfig\n _isActive: boolean\n _lastTabNavDirection: string | null\n\n constructor(config?: ComponentConfig) {\n super()\n this._config = this._getConfig(config) as FocusTrapConfig & ComponentConfig\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n activate(): void {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement!.focus()\n }\n\n EventHandler.off(document, EVENT_KEY)\n EventHandler.on(document, EVENT_FOCUSIN, (event: FocusEvent) => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, (event: KeyboardEvent) => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate(): void {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n _handleFocusin(event: FocusEvent): void {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement!.contains(event.target as Node)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement!.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollbar.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\nclass ScrollBarHelper {\n _element: HTMLElement\n\n constructor() {\n this._element = document.body\n }\n\n getWidth(): number {\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide(): void {\n const width = this.getWidth()\n this._disableOverFlow()\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset(): void {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing(): boolean {\n return this.getWidth() > 0\n }\n\n _disableOverFlow(): void {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector: string | HTMLElement, styleProperty: string, callback: (value: number) => number): void {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = (element: HTMLElement): void => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element: HTMLElement, styleProperty: string): void {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector: string | HTMLElement, styleProperty: string): void {\n const manipulationCallBack = (element: HTMLElement): void => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, String(value))\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector: string | HTMLElement, callBack: (element: HTMLElement) => void): void {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport Backdrop from './util/backdrop'\nimport { enableDismissTrigger } from './util/component-functions'\nimport FocusTrap from './util/focustrap'\nimport {\n isRTL, isVisible, reflow\n} from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"], [data-tblr-toggle=\"modal\"]'\n\ninterface ComponentConfig {\n [key: string]: any\n}\n\ninterface ComponentConfigType {\n [key: string]: string\n}\n\nconst Default: ComponentConfig = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType: ComponentConfigType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n _dialog: HTMLElement | null\n _backdrop: Backdrop\n _focustrap: FocusTrap\n _isShown: boolean\n _isTransitioning: boolean\n _scrollBar: ScrollBarHelper\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n toggle(relatedTarget?: HTMLElement): void {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget?: HTMLElement): void {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide(): void {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose(): void {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate(): void {\n this._adjustDialog()\n }\n\n _initializeBackDrop(): Backdrop {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap(): FocusTrap {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget?: HTMLElement): void {\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', 'true')\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog!, this._isAnimated())\n }\n\n _addEventListeners(): void {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event: Event) => {\n if ((event as KeyboardEvent).key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, (event: Event) => {\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, (event2: Event) => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal(): void {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', 'true')\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated(): boolean {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition(): void {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog!)\n }, this._dialog!)\n\n this._element.focus()\n }\n\n _adjustDialog(): void {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments(): void {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, (showEvent: Event) => {\n if (showEvent.defaultPrevented) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n ;(Modal.getInstance(alreadyOpen) as Modal).hide()\n }\n\n const data = Modal.getOrCreateInstance(target) as Modal\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport Backdrop from './util/backdrop'\nimport { enableDismissTrigger } from './util/component-functions'\nimport FocusTrap from './util/focustrap'\nimport { isDisabled, isVisible } from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"], [data-tblr-toggle=\"offcanvas\"]'\n\ninterface ComponentConfig {\n [key: string]: any\n}\n\ninterface ComponentConfigType {\n [key: string]: string\n}\n\nconst Default: ComponentConfig = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType: ComponentConfigType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n _isShown: boolean\n _backdrop: Backdrop\n _focustrap: FocusTrap\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n toggle(relatedTarget?: HTMLElement): void {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget?: HTMLElement): void {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', 'true')\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide(): void {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose(): void {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n _initializeBackDrop(): Backdrop {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n const isBackdropVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: isBackdropVisible,\n isAnimated: true,\n rootElement: this._element.parentNode as HTMLElement,\n clickCallback: isBackdropVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap(): FocusTrap {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners(): void {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event: Event) => {\n if ((event as KeyboardEvent).key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n ;(Offcanvas.getInstance(alreadyOpen) as Offcanvas).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target) as Offcanvas\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n ;(Offcanvas.getOrCreateInstance(selector) as Offcanvas).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n ;(Offcanvas.getOrCreateInstance(element) as Offcanvas).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport type { AllowList, SanitizeFn } from '../types'\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist: AllowList = {\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute: Attr, allowedAttributeList: (string | RegExp)[]): boolean => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue!))\n }\n\n return true\n }\n\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => (regex as RegExp).test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml: string, allowList: AllowList, sanitizeFunction?: SanitizeFn): string {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = Array.from(createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = Array.from(element.attributes)\n const allowedAttributes = [...(allowList['*'] || []), ...(allowList[elementName] || [])]\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer'\nimport { execute, getElement, isElement } from './index'\nimport type { AllowList, ComponentConfig, ComponentConfigType, SanitizeFn } from '../types'\n\nconst NAME = 'TemplateFactory'\n\ninterface TemplateFactoryConfig {\n allowList: AllowList\n content: Record\n extraClass: string | (() => string)\n html: boolean\n sanitize: boolean\n sanitizeFn: SanitizeFn | null\n template: string\n}\n\nconst Default: TemplateFactoryConfig = {\n allowList: DefaultAllowlist,\n content: {},\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType: ComponentConfigType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType: ComponentConfigType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\nclass TemplateFactory extends Config {\n declare _config: TemplateFactoryConfig & ComponentConfig\n\n constructor(config?: ComponentConfig) {\n super()\n this._config = this._getConfig(config) as TemplateFactoryConfig & ComponentConfig\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n getContent(): unknown[] {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent(): boolean {\n return this.getContent().length > 0\n }\n\n changeContent(content: Record): this {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml(): Element {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...(extraClass as string).split(' '))\n }\n\n return template\n }\n\n _typeCheckConfig(config: ComponentConfig): void {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg: Record): void {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template: HTMLElement, content: unknown, selector: string): void {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content)!, templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content as string)\n return\n }\n\n templateElement.textContent = content as string\n }\n\n _maybeSanitize(arg: string): string {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn!) : arg\n }\n\n _resolvePossibleFunction(arg: unknown): unknown {\n return execute(arg, [undefined, this])\n }\n\n _putElementInTemplate(element: HTMLElement, templateElement: Element): void {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport { execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index'\nimport { DefaultAllowlist } from './util/sanitizer'\nimport TemplateFactory from './util/template-factory'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\ninterface ComponentConfig {\n [key: string]: any\n}\n\ninterface ComponentConfigType {\n [key: string]: string\n}\n\nconst AttachmentMap: Record = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default: ComponentConfig = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' +\n '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType: ComponentConfigType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n _isEnabled: boolean\n _timeout: ReturnType | number\n _isHovered: boolean | null\n _activeTrigger: Record\n _popper: Popper.Instance | null\n _templateFactory: TemplateFactory | null\n _newContent: Record | null\n tip: HTMLElement | null\n _hideModalHandler: (() => void) | null\n\n constructor(element: HTMLElement | string, config?: Partial) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org/docs/v2/)')\n }\n\n super(element, config)\n\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n this.tip = null\n this._hideModalHandler = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n enable(): void {\n this._isEnabled = true\n }\n\n disable(): void {\n this._isEnabled = false\n }\n\n toggleEnabled(): void {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(): void {\n if (!this._isEnabled) {\n return\n }\n\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose(): void {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title') || this._element.getAttribute('data-tblr-original-title')) {\n this._element.setAttribute('title',\n this._element.getAttribute('data-bs-original-title') ||\n this._element.getAttribute('data-tblr-original-title') || '')\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show(): void {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip!.getAttribute('id')!)\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip!)\n\n tip!.classList.add(CLASS_NAME_SHOW)\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...(document.body.children as any))) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip!, this._isAnimated())\n }\n\n hide(): void {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip!.classList.remove(CLASS_NAME_SHOW)\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...(document.body.children as any))) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip!, this._isAnimated())\n }\n\n update(): void {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n _isWithContent(): boolean {\n return Boolean(this._getTitle())\n }\n\n _getTipElement(): HTMLElement | null {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content: Record): HTMLElement | null {\n const tip = this._getTemplateFactory(content).toHtml() as HTMLElement\n\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n tip.classList.add(`bs-${(this.constructor as typeof Tooltip).NAME}-auto`)\n\n const tipId = getUID((this.constructor as typeof Tooltip).NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content: Record): void {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content: Record): TemplateFactory {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate(): Record {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle(): string {\n return this._resolvePossibleFunction(this._config.title) ||\n this._element.getAttribute('data-bs-original-title') ||\n this._element.getAttribute('data-tblr-original-title') || ''\n }\n\n _initializeOnDelegatedTarget(event: Event & { delegateTarget?: HTMLElement }): Tooltip {\n return (this.constructor as typeof Tooltip).getOrCreateInstance(event.delegateTarget!, this._getDelegateConfig()) as Tooltip\n }\n\n _isAnimated(): boolean {\n return this._config.animation || (this.tip !== null && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown(): boolean {\n return this.tip !== null && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip: HTMLElement): Popper.Instance {\n const placement = execute(this._config.placement, [this, tip, this._element]) as string\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset(): number[] | ((popperData: any) => number[]) {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map((value: string) => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return (popperData: any) => (offset as Function)(popperData, this._element)\n }\n\n return offset as number[]\n }\n\n _resolvePossibleFunction(arg: any): any {\n return execute(arg, [this._element, this._element])\n }\n\n _getPopperConfig(attachment: string): Partial {\n const defaultBsPopperConfig: Partial = {\n placement: attachment as Popper.Placement,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${(this.constructor as typeof Tooltip).NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: (data: any) => {\n this._getTipElement()!.setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n const popperConfig = execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n return {\n ...defaultBsPopperConfig,\n ...(typeof popperConfig === 'object' && popperConfig !== null ? popperConfig : {})\n }\n }\n\n _setListeners(): void {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_CLICK), this._config.selector, (event: Event) => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n (this.constructor as typeof Tooltip).eventName(EVENT_MOUSEENTER) :\n (this.constructor as typeof Tooltip).eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n (this.constructor as typeof Tooltip).eventName(EVENT_MOUSELEAVE) :\n (this.constructor as typeof Tooltip).eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, (event: Event) => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, (event: Event & { relatedTarget?: HTMLElement }) => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget as Node)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle(): void {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent!.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title)\n this._element.removeAttribute('title')\n }\n\n _enter(): void {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave(): void {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler: () => void, timeout: number): void {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger(): boolean {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config: Partial): ComponentConfig {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig(): Partial {\n const config: Partial = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if ((this.constructor as typeof Tooltip).Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n return config\n }\n\n _disposePopper(): void {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\ninterface ComponentConfig {\n [key: string]: any\n}\n\ninterface ComponentConfigType {\n [key: string]: string\n}\n\nconst Default: ComponentConfig = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType: ComponentConfigType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n _isWithContent(): boolean {\n return Boolean(this._getTitle() || this._getContent())\n }\n\n _getContentForTemplate(): Record {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent(): any {\n return this._resolvePossibleFunction(this._config.content)\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport { getElement, isDisabled, isVisible } from './util/index'\nimport type { ComponentConfig, ComponentConfigType } from './types'\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"], [data-tblr-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default: ComponentConfig = {\n offset: null,\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType: ComponentConfigType = {\n offset: '(number|null)',\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\nclass ScrollSpy extends BaseComponent {\n _targetLinks: Map\n _observableSections: Map\n _rootElement: HTMLElement | null\n _activeTarget: HTMLElement | null\n _observer: IntersectionObserver | null\n _previousScrollData: {\n visibleEntryTop: number\n parentScrollTop: number\n }\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n refresh(): void {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose(): void {\n this._observer!.disconnect()\n super.dispose()\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.target = getElement(config.target) || document.body\n\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map((value: string) => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll(): void {\n if (!this._config.smoothScroll) {\n return\n }\n\n EventHandler.off(this._config.target as HTMLElement, EVENT_CLICK)\n\n EventHandler.on(this._config.target as HTMLElement, EVENT_CLICK, SELECTOR_TARGET_LINKS, (event: Event) => {\n const observableSection = this._observableSections.get((event.target as HTMLAnchorElement).hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if ('scrollTo' in root) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n (root as HTMLElement).scrollTop = height\n }\n })\n }\n\n _getNewObserver(): IntersectionObserver {\n const options: IntersectionObserverInit = {\n root: this._rootElement,\n threshold: this._config.threshold as number[],\n rootMargin: this._config.rootMargin as string\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n _observerCallback(entries: IntersectionObserverEntry[]): void {\n const targetElement = (entry: IntersectionObserverEntry) => this._targetLinks.get(`#${entry.target.id}`)\n const activate = (entry: IntersectionObserverEntry) => {\n this._previousScrollData.visibleEntryTop = (entry.target as HTMLElement).offsetTop\n this._process(targetElement(entry)!)\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry)!)\n\n continue\n }\n\n const entryIsLowerThanPrevious = (entry.target as HTMLElement).offsetTop >= this._previousScrollData.visibleEntryTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables(): void {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target as HTMLElement)\n\n for (const anchor of targetLinks) {\n if (!(anchor as HTMLAnchorElement).hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI((anchor as HTMLAnchorElement).hash), this._element)\n\n if (isVisible(observableSection!)) {\n this._targetLinks.set(decodeURI((anchor as HTMLAnchorElement).hash), anchor)\n this._observableSections.set((anchor as HTMLAnchorElement).hash, observableSection!)\n }\n }\n }\n\n _process(target: HTMLElement): void {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target as HTMLElement)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target: HTMLElement): void {\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN)!)!\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n item.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _clearActiveClass(parent: HTMLElement): void {\n parent.classList.remove(CLASS_NAME_ACTIVE)\n\n const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n for (const node of activeNodes) {\n node.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n}\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n ScrollSpy.getOrCreateInstance(spy)\n }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport { getNextActiveElement, isDisabled } from './util/index'\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"], [data-tblr-toggle=\"tab\"], [data-tblr-toggle=\"pill\"], [data-tblr-toggle=\"list\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle=\"list\"]`\n\nclass Tab extends BaseComponent {\n _parent: HTMLElement | null\n\n constructor(element: HTMLElement | string) {\n super(element)\n this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n if (!this._parent) {\n return\n }\n\n this._setInitialAttributes(this._parent, this._getChildren())\n\n EventHandler.on(this._element, EVENT_KEYDOWN, (event: KeyboardEvent) => this._keydown(event))\n }\n\n static get NAME(): string {\n return NAME\n }\n\n show(): void {\n const innerElem = this._element\n if (this._elemIsActive(innerElem)) {\n return\n }\n\n const active = this._getActiveElem()\n\n const hideEvent = active ?\n EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n null\n\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n if (showEvent?.defaultPrevented || hideEvent?.defaultPrevented) {\n return\n }\n\n this._deactivate(active, innerElem)\n this._activate(innerElem, active)\n }\n\n _activate(element: HTMLElement | null, relatedElem?: HTMLElement | null): void {\n if (!element) {\n return\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n\n this._activate(SelectorEngine.getElementFromSelector(element))\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW)\n return\n }\n\n element.removeAttribute('tabindex')\n element.setAttribute('aria-selected', 'true')\n this._toggleDropDown(element, true)\n EventHandler.trigger(element, EVENT_SHOWN, {\n relatedTarget: relatedElem\n })\n }\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n }\n\n _deactivate(element: HTMLElement | null, relatedElem?: HTMLElement | null): void {\n if (!element) {\n return\n }\n\n element.classList.remove(CLASS_NAME_ACTIVE)\n element.blur()\n\n this._deactivate(SelectorEngine.getElementFromSelector(element))\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.remove(CLASS_NAME_SHOW)\n return\n }\n\n element.setAttribute('aria-selected', 'false')\n element.setAttribute('tabindex', '-1')\n this._toggleDropDown(element, false)\n EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n }\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n }\n\n _keydown(event: KeyboardEvent): void {\n if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n return\n }\n\n event.stopPropagation()\n event.preventDefault()\n\n const children = this._getChildren().filter(element => !isDisabled(element))\n let nextActiveElement: HTMLElement | undefined\n\n if ([HOME_KEY, END_KEY].includes(event.key)) {\n nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n } else {\n const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n nextActiveElement = getNextActiveElement(children, event.target as HTMLElement, isNext, true) as HTMLElement\n }\n\n if (nextActiveElement) {\n nextActiveElement.focus({ preventScroll: true })\n ;(Tab.getOrCreateInstance(nextActiveElement) as Tab).show()\n }\n }\n\n _getChildren(): HTMLElement[] {\n return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent!)\n }\n\n _getActiveElem(): HTMLElement | null {\n return this._getChildren().find(child => this._elemIsActive(child)) || null\n }\n\n _setInitialAttributes(parent: HTMLElement, children: HTMLElement[]): void {\n this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n for (const child of children) {\n this._setInitialAttributesOnChild(child)\n }\n }\n\n _setInitialAttributesOnChild(child: HTMLElement): void {\n child = this._getInnerElement(child)!\n const isActive = this._elemIsActive(child)\n const outerElem = this._getOuterElement(child)\n child.setAttribute('aria-selected', String(isActive))\n\n if (outerElem !== child) {\n this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n }\n\n if (!isActive) {\n child.setAttribute('tabindex', '-1')\n }\n\n this._setAttributeIfNotExists(child, 'role', 'tab')\n\n this._setInitialAttributesOnTargetPanel(child)\n }\n\n _setInitialAttributesOnTargetPanel(child: HTMLElement): void {\n const target = SelectorEngine.getElementFromSelector(child)\n\n if (!target) {\n return\n }\n\n this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n if (child.id) {\n this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n }\n }\n\n _toggleDropDown(element: HTMLElement, open: boolean): void {\n const outerElem = this._getOuterElement(element)\n if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n return\n }\n\n const toggle = (selector: string, className: string) => {\n const el = SelectorEngine.findOne(selector, outerElem)\n if (el) {\n el.classList.toggle(className, open)\n }\n }\n\n toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n outerElem.setAttribute('aria-expanded', String(open))\n }\n\n _setAttributeIfNotExists(element: HTMLElement, attribute: string, value: string): void {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value)\n }\n }\n\n _elemIsActive(elem: HTMLElement): boolean {\n return elem.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n _getInnerElement(elem: HTMLElement): HTMLElement | null {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n }\n\n _getOuterElement(elem: HTMLElement): HTMLElement {\n return elem.closest(SELECTOR_OUTER) || elem\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n ;(Tab.getOrCreateInstance(this) as Tab).show()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element)\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions'\nimport { reflow } from './util/index.js'\nimport type { ComponentConfig, ComponentConfigType, ElementSelector } from './types'\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType: ComponentConfigType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default: ComponentConfig = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nclass Toast extends BaseComponent {\n _timeout: ReturnType | null\n _hasMouseInteraction: boolean\n _hasKeyboardInteraction: boolean\n\n constructor(element: ElementSelector, config?: ComponentConfig) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n show(): void {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent?.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide(): void {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent?.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose(): void {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown(): boolean {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _maybeScheduleHide(): void {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event: Event, isInteracting: boolean): void {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = (event as FocusEvent).relatedTarget as Node | null\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners(): void {\n EventHandler.on(this._element, EVENT_MOUSEOVER, (event: Event) => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, (event: Event) => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, (event: Event) => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, (event: Event) => this._onInteraction(event, false))\n }\n\n _clearTimeout(): void {\n clearTimeout(this._timeout!)\n this._timeout = null\n }\n}\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","export * as Popper from '@popperjs/core'\n\nexport { default as Alert } from './bootstrap/alert'\nexport { default as Button } from './bootstrap/button'\nexport { default as Carousel } from './bootstrap/carousel'\nexport { default as Collapse } from './bootstrap/collapse'\nexport { default as Dropdown } from './bootstrap/dropdown'\nexport { default as Modal } from './bootstrap/modal'\nexport { default as Offcanvas } from './bootstrap/offcanvas'\nexport { default as Popover } from './bootstrap/popover'\nexport { default as ScrollSpy } from './bootstrap/scrollspy'\nexport { default as Tab } from './bootstrap/tab'\nexport { default as Toast } from './bootstrap/toast'\nexport { default as Tooltip } from './bootstrap/tooltip'\n\nimport Alert from './bootstrap/alert'\nimport Button from './bootstrap/button'\nimport Carousel from './bootstrap/carousel'\nimport Collapse from './bootstrap/collapse'\nimport Dropdown from './bootstrap/dropdown'\nimport Modal from './bootstrap/modal'\nimport Offcanvas from './bootstrap/offcanvas'\nimport Popover from './bootstrap/popover'\nimport ScrollSpy from './bootstrap/scrollspy'\nimport Tab from './bootstrap/tab'\nimport Toast from './bootstrap/toast'\nimport Tooltip from './bootstrap/tooltip'\n\nexport const bootstrap = {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n","import { Dropdown } from './bootstrap'\n\n/*\nCore dropdowns\n */\nconst dropdownTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"dropdown\"]'))\ndropdownTriggerList.map(function (dropdownTriggerEl: HTMLElement) {\n const options = {\n boundary: dropdownTriggerEl.getAttribute('data-bs-boundary') === 'viewport' ? document.querySelector('.btn') : 'clippingParents',\n }\n return new Dropdown(dropdownTriggerEl, options)\n})\n","import { Tooltip } from './bootstrap'\n\nconst tooltipTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"tooltip\"]'))\ntooltipTriggerList.map(function (tooltipTriggerEl: HTMLElement) {\n const options = {\n delay: { show: 50, hide: 50 },\n html: tooltipTriggerEl.getAttribute('data-bs-html') === 'true',\n placement: tooltipTriggerEl.getAttribute('data-bs-placement') ?? 'auto',\n }\n return new Tooltip(tooltipTriggerEl, options)\n})\n","import { Popover } from './bootstrap'\n\n/*\nCore popovers\n */\nconst popoverTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\npopoverTriggerList.map(function (popoverTriggerEl: HTMLElement) {\n const options = {\n delay: { show: 50, hide: 50 },\n html: popoverTriggerEl.getAttribute('data-bs-html') === 'true',\n placement: popoverTriggerEl.getAttribute('data-bs-placement') ?? 'auto',\n }\n return new Popover(popoverTriggerEl, options)\n})\n","/*\nSwitch icons\n */\nconst switchesTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"switch-icon\"]'))\nswitchesTriggerList.map(function (switchTriggerEl: HTMLElement) {\n switchTriggerEl.addEventListener('click', (e: MouseEvent) => {\n e.stopPropagation()\n\n switchTriggerEl.classList.toggle('active')\n })\n})\n","import { Tab } from './bootstrap'\n\nexport const EnableActivationTabsFromLocationHash = (): void => {\n const locationHash: string = window.location.hash\n\n if (locationHash) {\n const tabsList: HTMLAnchorElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"tab\"]'))\n const matchedTabs = tabsList.filter((tab: HTMLAnchorElement) => tab.hash === locationHash)\n\n matchedTabs.map((tab: HTMLAnchorElement) => {\n new Tab(tab).show()\n })\n }\n}\n\nEnableActivationTabsFromLocationHash()\n","import { Toast } from './bootstrap'\n\n/*\nToasts\n */\nconst toastsTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"toast\"]'))\ntoastsTriggerList.map(function (toastTriggerEl: HTMLElement) {\n const target = toastTriggerEl.getAttribute('data-bs-target')\n if (target === null) {\n return\n }\n\n const toastEl = new Toast(target)\n\n toastTriggerEl.addEventListener('click', () => {\n toastEl.show()\n })\n})\n","// SortableJS plugin\n// Initializes Sortable on elements marked with [data-sortable]\n// Allows options via JSON in data attribute: data-sortable='{\"animation\":150}'\n\nconst sortableElements: NodeListOf = document.querySelectorAll('[data-sortable]')\n\nif (sortableElements.length) {\n sortableElements.forEach(function (element: HTMLElement) {\n let options: Record = {}\n\n try {\n const rawOptions = element.getAttribute('data-sortable')\n options = rawOptions ? JSON.parse(rawOptions) : {}\n } catch (e) {\n // ignore invalid JSON\n }\n\n if (window.Sortable) {\n // eslint-disable-next-line no-new\n new window.Sortable(element, options)\n }\n })\n}\n","export const prefix: string = 'tblr-'\n\nexport const hexToRgba = (hex: string, opacity: number): string | null => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\n return result ? `rgba(${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}, ${opacity})` : null\n}\n\nexport const getColor = (color: string, opacity: number = 1): string | null => {\n const c = getComputedStyle(document.body).getPropertyValue(`--${prefix}${color}`).trim()\n\n if (opacity !== 1) {\n return hexToRgba(c, opacity)\n }\n\n return c\n}\n"],"names":["isElement","name","effect","style","getComputedStyle","window","min","max","mathMax","mathMin","toPaddingObject","popperOffsets","offset","popper","hash","clippingParents","reference","allPlacements","placements","placement","_loop","_i","checks","fn","merged","defaultModifiers","createPopper","options","state","noopFn","computeStyles","applyStyles","flip","preventOverflow","arrow","hide","prefix","__spreadValues","NAME","DATA_KEY","EVENT_KEY","CLASS_NAME_FADE","CLASS_NAME_SHOW","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Default","DefaultType","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_LOAD_DATA_API","order","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","Popper.createPopper","EVENT_FOCUSIN","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","OPEN_SELECTOR","CLASS_NAME_SHOWING","EVENT_CLICK","EVENT_FOCUSOUT","__spreadProps","SELECTOR_DROPDOWN_TOGGLE"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]} \ No newline at end of file diff --git a/storage/public/dist/js/tabler.js b/storage/public/dist/js/tabler.js new file mode 100644 index 0000000..2d00593 --- /dev/null +++ b/storage/public/dist/js/tabler.js @@ -0,0 +1,5020 @@ +(function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.tabler = {})); +})(this, (function(exports2) { + "use strict"; + const autosizeElements = document.querySelectorAll('[data-bs-toggle="autosize"]'); + if (autosizeElements.length) { + autosizeElements.forEach(function(element) { + if (window.autosize) { + window.autosize(element); + } + }); + } + const countupElements = document.querySelectorAll("[data-countup]"); + if (countupElements.length) { + countupElements.forEach(function(element) { + let options = {}; + try { + const dataOptions = element.getAttribute("data-countup") ? JSON.parse(element.getAttribute("data-countup")) : {}; + options = Object.assign( + { + enableScrollSpy: true + }, + dataOptions + ); + } catch (error) { + } + const value = parseInt(element.innerHTML, 10); + if (window.countUp && window.countUp.CountUp) { + const countUp = new window.countUp.CountUp(element, value, options); + if (!countUp.error) { + countUp.start(); + } + } + }); + } + const maskElementList = [].slice.call(document.querySelectorAll("[data-mask]")); + maskElementList.map(function(maskEl) { + window.IMask && new window.IMask(maskEl, { + mask: maskEl.dataset.mask, + lazy: maskEl.dataset["mask-visible"] === "true" + }); + }); + var top = "top"; + var bottom = "bottom"; + var right = "right"; + var left = "left"; + var auto = "auto"; + var basePlacements = [top, bottom, right, left]; + var start = "start"; + var end = "end"; + var clippingParents = "clippingParents"; + var viewport = "viewport"; + var popper = "popper"; + var reference = "reference"; + var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); + }, []); + var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); + }, []); + var beforeRead = "beforeRead"; + var read = "read"; + var afterRead = "afterRead"; + var beforeMain = "beforeMain"; + var main = "main"; + var afterMain = "afterMain"; + var beforeWrite = "beforeWrite"; + var write = "write"; + var afterWrite = "afterWrite"; + var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + function getNodeName(element) { + return element ? (element.nodeName || "").toLowerCase() : null; + } + function getWindow(node) { + if (node == null) { + return window; + } + if (node.toString() !== "[object Window]") { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + return node; + } + function isElement$1(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; + } + function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; + } + function isShadowRoot(node) { + if (typeof ShadowRoot === "undefined") { + return false; + } + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; + } + function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function(name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function(name2) { + var value = attributes[name2]; + if (value === false) { + element.removeAttribute(name2); + } else { + element.setAttribute(name2, value === true ? "" : value); + } + }); + }); + } + function effect$2(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: "0", + top: "0", + margin: "0" + }, + arrow: { + position: "absolute" + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + return function() { + Object.keys(state.elements).forEach(function(name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); + var style = styleProperties.reduce(function(style2, property) { + style2[property] = ""; + return style2; + }, {}); + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function(attribute) { + element.removeAttribute(attribute); + }); + }); + }; + } + const applyStyles$1 = { + name: "applyStyles", + enabled: true, + phase: "write", + fn: applyStyles, + effect: effect$2, + requires: ["computeStyles"] + }; + function getBasePlacement(placement) { + return placement.split("-")[0]; + } + var max = Math.max; + var min = Math.min; + var round = Math.round; + function getUAString() { + var uaData = navigator.userAgentData; + if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { + return uaData.brands.map(function(item) { + return item.brand + "/" + item.version; + }).join(" "); + } + return navigator.userAgent; + } + function isLayoutViewport() { + return !/^((?!chrome|android).)*safari/i.test(getUAString()); + } + function getBoundingClientRect(element, includeScale, isFixedStrategy) { + if (includeScale === void 0) { + includeScale = false; + } + if (isFixedStrategy === void 0) { + isFixedStrategy = false; + } + var clientRect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + if (includeScale && isHTMLElement(element)) { + scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; + scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; + } + var _ref = isElement$1(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport; + var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; + var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; + var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; + var width = clientRect.width / scaleX; + var height = clientRect.height / scaleY; + return { + width, + height, + top: y, + right: x + width, + bottom: y + height, + left: x, + x, + y + }; + } + function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); + var width = element.offsetWidth; + var height = element.offsetHeight; + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + return { + x: element.offsetLeft, + y: element.offsetTop, + width, + height + }; + } + function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); + if (parent.contains(child)) { + return true; + } else if (rootNode && isShadowRoot(rootNode)) { + var next = child; + do { + if (next && parent.isSameNode(next)) { + return true; + } + next = next.parentNode || next.host; + } while (next); + } + return false; + } + function getComputedStyle$1(element) { + return getWindow(element).getComputedStyle(element); + } + function isTableElement(element) { + return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0; + } + function getDocumentElement(element) { + return ((isElement$1(element) ? element.ownerDocument : ( + // $FlowFixMe[prop-missing] + element.document + )) || window.document).documentElement; + } + function getParentNode(element) { + if (getNodeName(element) === "html") { + return element; + } + return ( + // this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + getDocumentElement(element) + ); + } + function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 + getComputedStyle$1(element).position === "fixed") { + return null; + } + return element.offsetParent; + } + function getContainingBlock(element) { + var isFirefox = /firefox/i.test(getUAString()); + var isIE = /Trident/i.test(getUAString()); + if (isIE && isHTMLElement(element)) { + var elementCss = getComputedStyle$1(element); + if (elementCss.position === "fixed") { + return null; + } + } + var currentNode = getParentNode(element); + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle$1(currentNode); + if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + return null; + } + function getOffsetParent(element) { + var window2 = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === "static") { + offsetParent = getTrueOffsetParent(offsetParent); + } + if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle$1(offsetParent).position === "static")) { + return window2; + } + return offsetParent || getContainingBlock(element) || window2; + } + function getMainAxisFromPlacement(placement) { + return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y"; + } + function within(min$1, value, max$1) { + return max(min$1, min(value, max$1)); + } + function withinMaxClamp(min2, value, max2) { + var v = within(min2, value, max2); + return v > max2 ? max2 : v; + } + function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; + } + function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); + } + function expandToHashMap(value, keys) { + return keys.reduce(function(hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); + } + var toPaddingObject = function toPaddingObject2(padding, state) { + padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); + }; + function arrow(_ref) { + var _state$modifiersData$; + var state = _ref.state, name = _ref.name, options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets2 = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? "height" : "width"; + if (!arrowElement || !popperOffsets2) { + return; + } + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === "y" ? top : left; + var maxProp = axis === "y" ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len]; + var startDiff = popperOffsets2[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; + var min2 = paddingObject[minProp]; + var max2 = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset2 = within(min2, center, max2); + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$); + } + function effect$1(_ref2) { + var state = _ref2.state, options = _ref2.options; + var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element; + if (arrowElement == null) { + return; + } + if (typeof arrowElement === "string") { + arrowElement = state.elements.popper.querySelector(arrowElement); + if (!arrowElement) { + return; + } + } + if (!contains(state.elements.popper, arrowElement)) { + return; + } + state.elements.arrow = arrowElement; + } + const arrow$1 = { + name: "arrow", + enabled: true, + phase: "main", + fn: arrow, + effect: effect$1, + requires: ["popperOffsets"], + requiresIfExists: ["preventOverflow"] + }; + function getVariation(placement) { + return placement.split("-")[1]; + } + var unsetSides = { + top: "auto", + right: "auto", + bottom: "auto", + left: "auto" + }; + function roundOffsetsByDPR(_ref, win) { + var x = _ref.x, y = _ref.y; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; + } + function mapToStyles(_ref2) { + var _Object$assign2; + var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y; + var _ref3 = typeof roundOffsets === "function" ? roundOffsets({ + x, + y + }) : { + x, + y + }; + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty("x"); + var hasY = offsets.hasOwnProperty("y"); + var sideX = left; + var sideY = top; + var win = window; + if (adaptive) { + var offsetParent = getOffsetParent(popper2); + var heightProp = "clientHeight"; + var widthProp = "clientWidth"; + if (offsetParent === getWindow(popper2)) { + offsetParent = getDocumentElement(popper2); + if (getComputedStyle$1(offsetParent).position !== "static" && position === "absolute") { + heightProp = "scrollHeight"; + widthProp = "scrollWidth"; + } + } + offsetParent = offsetParent; + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : ( + // $FlowFixMe[prop-missing] + offsetParent[heightProp] + ); + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : ( + // $FlowFixMe[prop-missing] + offsetParent[widthProp] + ); + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + var commonStyles = Object.assign({ + position + }, adaptive && unsetSides); + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x, + y + }, getWindow(popper2)) : { + x, + y + }; + x = _ref4.x; + y = _ref4.y; + if (gpuAcceleration) { + var _Object$assign; + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2)); + } + function computeStyles(_ref5) { + var state = _ref5.state, options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration, + isFixed: state.options.strategy === "fixed" + }; + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive, + roundOffsets + }))); + } + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: "absolute", + adaptive: false, + roundOffsets + }))); + } + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-placement": state.placement + }); + } + const computeStyles$1 = { + name: "computeStyles", + enabled: true, + phase: "beforeWrite", + fn: computeStyles, + data: {} + }; + var passive = { + passive: true + }; + function effect(_ref) { + var state = _ref.state, instance = _ref.instance, options = _ref.options; + var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize; + var window2 = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.addEventListener("scroll", instance.update, passive); + }); + } + if (resize) { + window2.addEventListener("resize", instance.update, passive); + } + return function() { + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.removeEventListener("scroll", instance.update, passive); + }); + } + if (resize) { + window2.removeEventListener("resize", instance.update, passive); + } + }; + } + const eventListeners = { + name: "eventListeners", + enabled: true, + phase: "write", + fn: function fn() { + }, + effect, + data: {} + }; + var hash$1 = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" + }; + function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function(matched) { + return hash$1[matched]; + }); + } + var hash = { + start: "end", + end: "start" + }; + function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function(matched) { + return hash[matched]; + }); + } + function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft, + scrollTop + }; + } + function getWindowScrollBarX(element) { + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; + } + function getViewportRect(element, strategy) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + var layoutViewport = isLayoutViewport(); + if (layoutViewport || !layoutViewport && strategy === "fixed") { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + return { + width, + height, + x: x + getWindowScrollBarX(element), + y + }; + } + function getDocumentRect(element) { + var _element$ownerDocumen; + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + if (getComputedStyle$1(body || html).direction === "rtl") { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + return { + width, + height, + x, + y + }; + } + function isScrollParent(element) { + var _getComputedStyle = getComputedStyle$1(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY; + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); + } + function getScrollParent(node) { + if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) { + return node.ownerDocument.body; + } + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + return getScrollParent(getParentNode(node)); + } + function listScrollParents(element, list) { + var _element$ownerDocumen; + if (list === void 0) { + list = []; + } + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : ( + // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents(getParentNode(target))) + ); + } + function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); + } + function getInnerBoundingClientRect(element, strategy) { + var rect = getBoundingClientRect(element, false, strategy === "fixed"); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; + } + function getClientRectFromMixedType(element, clippingParent, strategy) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement$1(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); + } + function getClippingParents(element) { + var clippingParents2 = listScrollParents(getParentNode(element)); + var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle$1(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + if (!isElement$1(clipperElement)) { + return []; + } + return clippingParents2.filter(function(clippingParent) { + return isElement$1(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body"; + }); + } + function getClippingRect(element, boundary, rootBoundary, strategy) { + var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary); + var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents2[0]; + var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent, strategy); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent, strategy)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; + } + function computeOffsets(_ref) { + var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference2.x + reference2.width / 2 - element.width / 2; + var commonY = reference2.y + reference2.height / 2 - element.height / 2; + var offsets; + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference2.y - element.height + }; + break; + case bottom: + offsets = { + x: commonX, + y: reference2.y + reference2.height + }; + break; + case right: + offsets = { + x: reference2.x + reference2.width, + y: commonY + }; + break; + case left: + offsets = { + x: reference2.x - element.width, + y: commonY + }; + break; + default: + offsets = { + x: reference2.x, + y: reference2.y + }; + } + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + if (mainAxis != null) { + var len = mainAxis === "y" ? "height" : "width"; + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2); + break; + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2); + break; + } + } + return offsets; + } + function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement$1(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets2 = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; + if (elementContext === popper && offsetData) { + var offset2 = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function(key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x"; + overflowOffsets[key] += offset2[axis] * multiply; + }); + } + return overflowOffsets; + } + function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) { + return getVariation(placement2) === variation; + }) : basePlacements; + var allowedPlacements = placements$1.filter(function(placement2) { + return allowedAutoPlacements.indexOf(placement2) >= 0; + }); + if (allowedPlacements.length === 0) { + allowedPlacements = placements$1; + } + var overflows = allowedPlacements.reduce(function(acc, placement2) { + acc[placement2] = detectOverflow(state, { + placement: placement2, + boundary, + rootBoundary, + padding + })[getBasePlacement(placement2)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function(a, b) { + return overflows[a] - overflows[b]; + }); + } + function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; + } + function flip(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + if (state.modifiersData[name]._skip) { + return; + } + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) { + return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, { + placement: placement2, + boundary, + rootBoundary, + padding, + flipVariations, + allowedAutoPlacements + }) : placement2); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = /* @__PURE__ */ new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements2[0]; + for (var i = 0; i < placements2.length; i++) { + var placement = placements2[i]; + var _basePlacement = getBasePlacement(placement); + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? "width" : "height"; + var overflow = detectOverflow(state, { + placement, + boundary, + rootBoundary, + altBoundary, + padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + if (checks.every(function(check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + checksMap.set(placement, checks); + } + if (makeFallbackChecks) { + var numberOfChecks = flipVariations ? 3 : 1; + var _loop = function _loop2(_i2) { + var fittingPlacement = placements2.find(function(placement2) { + var checks2 = checksMap.get(placement2); + if (checks2) { + return checks2.slice(0, _i2).every(function(check) { + return check; + }); + } + }); + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + if (_ret === "break") break; + } + } + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } + } + const flip$1 = { + name: "flip", + enabled: true, + phase: "main", + fn: flip, + requiresIfExists: ["offset"], + data: { + _skip: false + } + }; + function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; + } + function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function(side) { + return overflow[side] >= 0; + }); + } + function hide(_ref) { + var state = _ref.state, name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: "reference" + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets, + popperEscapeOffsets, + isReferenceHidden, + hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-reference-hidden": isReferenceHidden, + "data-popper-escaped": hasPopperEscaped + }); + } + const hide$1 = { + name: "hide", + enabled: true, + phase: "main", + requiresIfExists: ["preventOverflow"], + fn: hide + }; + function distanceAndSkiddingToXY(placement, rects, offset2) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, { + placement + })) : offset2, skidding = _ref[0], distance = _ref[1]; + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; + } + function offset(_ref2) { + var state = _ref2.state, options = _ref2.options, name = _ref2.name; + var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function(acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2); + return acc; + }, {}); + var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; + } + const offset$1 = { + name: "offset", + enabled: true, + phase: "main", + requires: ["popperOffsets"], + fn: offset + }; + function popperOffsets(_ref) { + var state = _ref.state, name = _ref.name; + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + placement: state.placement + }); + } + const popperOffsets$1 = { + name: "popperOffsets", + enabled: true, + phase: "read", + fn: popperOffsets, + data: {} + }; + function getAltAxis(axis) { + return axis === "x" ? "y" : "x"; + } + function preventOverflow(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary, + rootBoundary, + padding, + altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets2 = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + if (!popperOffsets2) { + return; + } + if (checkMainAxis) { + var _offsetModifierState$; + var mainSide = mainAxis === "y" ? top : left; + var altSide = mainAxis === "y" ? bottom : right; + var len = mainAxis === "y" ? "height" : "width"; + var offset2 = popperOffsets2[mainAxis]; + var min$1 = offset2 + overflow[mainSide]; + var max$1 = offset2 - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset2 + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset2, tether ? max(max$1, tetherMax) : max$1); + popperOffsets2[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset2; + } + if (checkAltAxis) { + var _offsetModifierState$2; + var _mainSide = mainAxis === "x" ? top : left; + var _altSide = mainAxis === "x" ? bottom : right; + var _offset = popperOffsets2[altAxis]; + var _len = altAxis === "y" ? "height" : "width"; + var _min = _offset + overflow[_mainSide]; + var _max = _offset - overflow[_altSide]; + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + popperOffsets2[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + state.modifiersData[name] = data; + } + const preventOverflow$1 = { + name: "preventOverflow", + enabled: true, + phase: "main", + fn: preventOverflow, + requiresIfExists: ["offset"] + }; + function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; + } + function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } + } + function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = round(rect.width) / element.offsetWidth || 1; + var scaleY = round(rect.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; + } + function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078 + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; + } + function order(modifiers) { + var map = /* @__PURE__ */ new Map(); + var visited = /* @__PURE__ */ new Set(); + var result = []; + modifiers.forEach(function(modifier) { + map.set(modifier.name, modifier); + }); + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function(dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + modifiers.forEach(function(modifier) { + if (!visited.has(modifier.name)) { + sort(modifier); + } + }); + return result; + } + function orderModifiers(modifiers) { + var orderedModifiers = order(modifiers); + return modifierPhases.reduce(function(acc, phase) { + return acc.concat(orderedModifiers.filter(function(modifier) { + return modifier.phase === phase; + })); + }, []); + } + function debounce(fn) { + var pending; + return function() { + if (!pending) { + pending = new Promise(function(resolve) { + Promise.resolve().then(function() { + pending = void 0; + resolve(fn()); + }); + }); + } + return pending; + }; + } + function mergeByName(modifiers) { + var merged = modifiers.reduce(function(merged2, current) { + var existing = merged2[current.name]; + merged2[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged2; + }, {}); + return Object.keys(merged).map(function(key) { + return merged[key]; + }); + } + var DEFAULT_OPTIONS = { + placement: "bottom", + modifiers: [], + strategy: "absolute" + }; + function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return !args.some(function(element) { + return !(element && typeof element.getBoundingClientRect === "function"); + }); + } + function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper2(reference2, popper2, options) { + if (options === void 0) { + options = defaultOptions; + } + var state = { + placement: "bottom", + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference2, + popper: popper2 + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state, + setOptions: function setOptions(setOptionsAction) { + var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options2); + state.scrollParents = { + reference: isElement$1(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [], + popper: listScrollParents(popper2) + }; + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers))); + state.orderedModifiers = orderedModifiers.filter(function(m) { + return m.enabled; + }); + runModifierEffects(); + return instance.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper; + if (!areValidElements(reference3, popper3)) { + return; + } + state.rects = { + reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"), + popper: getLayoutRect(popper3) + }; + state.reset = false; + state.placement = state.options.placement; + state.orderedModifiers.forEach(function(modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + var _state$orderedModifie = state.orderedModifiers[index], fn = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name; + if (typeof fn === "function") { + state = fn({ + state, + options: _options, + name, + instance + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: debounce(function() { + return new Promise(function(resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + if (!areValidElements(reference2, popper2)) { + return instance; + } + instance.setOptions(options).then(function(state2) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state2); + } + }); + function runModifierEffects() { + state.orderedModifiers.forEach(function(_ref) { + var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect2 = _ref.effect; + if (typeof effect2 === "function") { + var cleanupFn = effect2({ + state, + name, + instance, + options: options2 + }); + var noopFn = function noopFn2() { + }; + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + function cleanupModifierEffects() { + effectCleanupFns.forEach(function(fn) { + return fn(); + }); + effectCleanupFns = []; + } + return instance; + }; + } + var createPopper$2 = /* @__PURE__ */ popperGenerator(); + var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; + var createPopper$1 = /* @__PURE__ */ popperGenerator({ + defaultModifiers: defaultModifiers$1 + }); + var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; + var createPopper = /* @__PURE__ */ popperGenerator({ + defaultModifiers + }); + const Popper = /* @__PURE__ */ Object.freeze({ + __proto__: null, + afterMain, + afterRead, + afterWrite, + applyStyles: applyStyles$1, + arrow: arrow$1, + auto, + basePlacements, + beforeMain, + beforeRead, + beforeWrite, + bottom, + clippingParents, + computeStyles: computeStyles$1, + createPopper, + createPopperBase: createPopper$2, + createPopperLite: createPopper$1, + detectOverflow, + end, + eventListeners, + flip: flip$1, + hide: hide$1, + left, + main, + modifierPhases, + offset: offset$1, + placements, + popper, + popperGenerator, + popperOffsets: popperOffsets$1, + preventOverflow: preventOverflow$1, + read, + reference, + right, + start, + top, + variationPlacements, + viewport, + write + }); + const elementMap = /* @__PURE__ */ new Map(); + const Data = { + set(element, key, instance) { + if (!elementMap.has(element)) { + elementMap.set(element, /* @__PURE__ */ new Map()); + } + const instanceMap = elementMap.get(element); + if (!instanceMap.has(key) && instanceMap.size !== 0) { + console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); + return; + } + instanceMap.set(key, instance); + }, + get(element, key) { + if (elementMap.has(element)) { + return elementMap.get(element).get(key) || null; + } + return null; + }, + remove(element, key) { + if (!elementMap.has(element)) { + return; + } + const instanceMap = elementMap.get(element); + instanceMap.delete(key); + if (instanceMap.size === 0) { + elementMap.delete(element); + } + } + }; + const namespaceRegex = /[^.]*(?=\..*)\.|.*/; + const stripNameRegex = /\..*/; + const stripUidRegex = /::\d+$/; + const eventRegistry = {}; + let uidEvent = 1; + const customEvents = { + mouseenter: "mouseover", + mouseleave: "mouseout" + }; + const nativeEvents = /* @__PURE__ */ new Set([ + "click", + "dblclick", + "mouseup", + "mousedown", + "contextmenu", + "mousewheel", + "DOMMouseScroll", + "mouseover", + "mouseout", + "mousemove", + "selectstart", + "selectend", + "keydown", + "keypress", + "keyup", + "orientationchange", + "touchstart", + "touchmove", + "touchend", + "touchcancel", + "pointerdown", + "pointermove", + "pointerup", + "pointerleave", + "pointercancel", + "gesturestart", + "gesturechange", + "gestureend", + "focus", + "blur", + "change", + "reset", + "select", + "submit", + "focusin", + "focusout", + "load", + "unload", + "beforeunload", + "resize", + "move", + "DOMContentLoaded", + "readystatechange", + "error", + "abort", + "scroll" + ]); + function makeEventUid(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; + } + function getElementEvents(element) { + const uid = makeEventUid(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; + } + function bootstrapHandler(element, fn) { + return function handler(event) { + hydrateObj(event, { delegateTarget: element }); + if (handler.oneOff) { + EventHandler.off(element, event.type, fn); + } + return fn.apply(element, [event]); + }; + } + function bootstrapDelegationHandler(element, selector, fn) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + for (let { target } = event; target && target !== this; target = target.parentNode) { + for (const domElement of domElements) { + if (domElement !== target) { + continue; + } + hydrateObj(event, { delegateTarget: target }); + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn); + } + return fn.apply(target, [event]); + } + } + }; + } + function findHandler(events, callable, delegationSelector = null) { + return Object.values(events).find((event) => event.callable === callable && event.delegationSelector === delegationSelector); + } + function normalizeParameters(originalTypeEvent, handler, delegationFunction) { + const isDelegated = typeof handler === "string"; + const callable = isDelegated ? delegationFunction : handler || delegationFunction; + let typeEvent = getTypeEvent(originalTypeEvent); + if (!nativeEvents.has(typeEvent)) { + typeEvent = originalTypeEvent; + } + return [isDelegated, callable, typeEvent]; + } + function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { + if (typeof originalTypeEvent !== "string" || !element) { + return; + } + let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + if (originalTypeEvent in customEvents) { + const wrapFunction = (fn2) => { + return function(event) { + const evt = event; + if (!evt.relatedTarget || evt.relatedTarget !== evt.delegateTarget && !evt.delegateTarget.contains(evt.relatedTarget)) { + return fn2.call(this, event); + } + }; + }; + callable = wrapFunction(callable); + } + const events = getElementEvents(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); + if (previousFunction) { + previousFunction.oneOff = previousFunction.oneOff && oneOff; + return; + } + const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, "")); + const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); + fn.delegationSelector = isDelegated ? handler : null; + fn.callable = callable; + fn.oneOff = oneOff; + fn.uidEvent = uid; + handlers[uid] = fn; + element.addEventListener(typeEvent, fn, isDelegated); + } + function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn = findHandler(events[typeEvent], handler, delegationSelector != null ? delegationSelector : null); + if (!fn) { + return; + } + element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); + delete events[typeEvent][fn.uidEvent]; + } + function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + for (const [handlerKey, event] of Object.entries(storeElementEvent)) { + if (handlerKey.includes(namespace)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + } + function getTypeEvent(event) { + event = event.replace(stripNameRegex, ""); + return customEvents[event] || event; + } + const EventHandler = { + on(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, false); + }, + one(element, event, handler, delegationFunction) { + addHandler(element, event, handler, delegationFunction, true); + }, + off(element, originalTypeEvent, handler, delegationFunction) { + if (typeof originalTypeEvent !== "string" || !element) { + return; + } + const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); + const inNamespace = typeEvent !== originalTypeEvent; + const events = getElementEvents(element); + const storeElementEvent = events[typeEvent] || {}; + const isNamespace = originalTypeEvent.startsWith("."); + if (typeof callable !== "undefined") { + if (!Object.keys(storeElementEvent).length) { + return; + } + removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); + return; + } + if (isNamespace) { + for (const elementEvent of Object.keys(events)) { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); + } + } + for (const [keyHandlers, event] of Object.entries(storeElementEvent)) { + const handlerKey = keyHandlers.replace(stripUidRegex, ""); + if (!inNamespace || originalTypeEvent.includes(handlerKey)) { + removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); + } + } + }, + trigger(element, event, args) { + if (typeof event !== "string" || !element) { + return null; + } + const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args); + element.dispatchEvent(evt); + return evt; + } + }; + function hydrateObj(obj, meta = {}) { + for (const [key, value] of Object.entries(meta)) { + try { + obj[key] = value; + } catch (e) { + Object.defineProperty(obj, key, { + configurable: true, + get() { + return value; + } + }); + } + } + return obj; + } + function normalizeData(value) { + if (value === "true") { + return true; + } + if (value === "false") { + return false; + } + if (value === Number(value).toString()) { + return Number(value); + } + if (value === "" || value === "null") { + return null; + } + if (typeof value !== "string") { + return value; + } + try { + return JSON.parse(decodeURIComponent(value)); + } catch (e) { + return value; + } + } + function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`); + } + const PREFIXES = ["tblr", "bs"]; + const Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-tblr-${normalizeDataKey(key)}`, value); + }, + removeDataAttribute(element, key) { + for (const prefix2 of PREFIXES) { + element.removeAttribute(`data-${prefix2}-${normalizeDataKey(key)}`); + } + }, + getDataAttributes(element) { + if (!element) { + return {}; + } + const attributes = {}; + for (const prefix2 of PREFIXES) { + const keys = Object.keys(element.dataset).filter((key) => key.startsWith(prefix2) && !key.startsWith(`${prefix2}Config`)); + for (const key of keys) { + let pureKey = key.replace(new RegExp(`^${prefix2}`), ""); + pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1); + if (!(pureKey in attributes)) { + attributes[pureKey] = normalizeData(element.dataset[key]); + } + } + } + return attributes; + }, + getDataAttribute(element, key) { + for (const prefix2 of PREFIXES) { + const value = element.getAttribute(`data-${prefix2}-${normalizeDataKey(key)}`); + if (value !== null) { + return normalizeData(value); + } + } + return null; + } + }; + const MAX_UID = 1e6; + const MILLISECONDS_MULTIPLIER = 1e3; + const TRANSITION_END = "transitionend"; + const parseSelector = (selector) => { + if (selector && window.CSS && window.CSS.escape) { + selector = selector.replace(/#([^\s"#']+)/g, (match, id) => `#${CSS.escape(id)}`); + } + return selector; + }; + const toType = (object) => { + if (object === null || object === void 0) { + return `${object}`; + } + return Object.prototype.toString.call(object).match(/\s([a-z]+)/i)[1].toLowerCase(); + }; + const getUID = (prefix2) => { + do { + prefix2 += Math.floor(Math.random() * MAX_UID); + } while (document.getElementById(prefix2)); + return prefix2; + }; + const getTransitionDurationFromElement = (element) => { + if (!element) { + return 0; + } + let { transitionDuration, transitionDelay } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } + transitionDuration = transitionDuration.split(",")[0]; + transitionDelay = transitionDelay.split(",")[0]; + return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }; + const triggerTransitionEnd = (element) => { + element.dispatchEvent(new Event(TRANSITION_END)); + }; + const isElement = (object) => { + if (!object || typeof object !== "object") { + return false; + } + return typeof object.nodeType !== "undefined"; + }; + const getElement = (object) => { + if (isElement(object)) { + return object; + } + if (typeof object === "string" && object.length > 0) { + return document.querySelector(parseSelector(object)); + } + return null; + }; + const isVisible = (element) => { + if (!isElement(element) || element.getClientRects().length === 0) { + return false; + } + const elementIsVisible = getComputedStyle(element).getPropertyValue("visibility") === "visible"; + const closedDetails = element.closest("details:not([open])"); + if (!closedDetails) { + return elementIsVisible; + } + if (closedDetails !== element) { + const summary = element.closest("summary"); + if (summary && summary.parentNode !== closedDetails) { + return false; + } + if (summary === null) { + return false; + } + } + return elementIsVisible; + }; + const isDisabled = (element) => { + if (!element || element.nodeType !== Node.ELEMENT_NODE) { + return true; + } + if (element.classList.contains("disabled")) { + return true; + } + if ("disabled" in element && typeof element.disabled !== "undefined") { + return Boolean(element.disabled); + } + return element.hasAttribute("disabled") && element.getAttribute("disabled") !== "false"; + }; + const findShadowRoot = (element) => { + if (!document.documentElement.attachShadow) { + return null; + } + if (typeof element.getRootNode === "function") { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + if (element instanceof ShadowRoot) { + return element; + } + if (!element.parentNode) { + return null; + } + return findShadowRoot(element.parentNode); + }; + const noop = () => { + }; + const reflow = (element) => { + element.offsetHeight; + }; + const isRTL = () => document.documentElement.dir === "rtl"; + const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => { + return typeof possibleCallback === "function" ? possibleCallback.call(args[0], ...args.slice(1)) : defaultValue; + }; + const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { + if (!waitForTransition) { + execute(callback); + return; + } + const durationPadding = 5; + const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; + let called = false; + const handler = ({ target }) => { + if (target !== transitionElement) { + return; + } + called = true; + transitionElement.removeEventListener(TRANSITION_END, handler); + execute(callback); + }; + transitionElement.addEventListener(TRANSITION_END, handler); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(transitionElement); + } + }, emulatedDuration); + }; + const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { + const listLength = list.length; + let index = list.indexOf(activeElement); + if (index === -1) { + return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]; + } + index += shouldGetNext ? 1 : -1; + if (isCycleAllowed) { + index = (index + listLength) % listLength; + } + return list[Math.max(0, Math.min(index, listLength - 1))]; + }; + var __defProp$4 = Object.defineProperty; + var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols; + var __hasOwnProp$4 = Object.prototype.hasOwnProperty; + var __propIsEnum$4 = Object.prototype.propertyIsEnumerable; + var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __spreadValues$4 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$4.call(b, prop)) + __defNormalProp$4(a, prop, b[prop]); + if (__getOwnPropSymbols$4) + for (var prop of __getOwnPropSymbols$4(b)) { + if (__propIsEnum$4.call(b, prop)) + __defNormalProp$4(a, prop, b[prop]); + } + return a; + }; + class Config { + static get Default() { + return {}; + } + static get DefaultType() { + return {}; + } + static get NAME() { + throw new Error('You have to implement the static method "NAME", for each component!'); + } + _getConfig(config) { + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + return config; + } + _mergeConfigObj(config, element) { + const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, "config") : {}; + const ctor = this.constructor; + return __spreadValues$4(__spreadValues$4(__spreadValues$4(__spreadValues$4({}, ctor.Default), typeof jsonConfig === "object" ? jsonConfig : {}), isElement(element) ? Manipulator.getDataAttributes(element) : {}), typeof config === "object" ? config : {}); + } + _typeCheckConfig(config, configTypes) { + const ctor = this.constructor; + const types = configTypes || ctor.DefaultType; + for (const [property, expectedTypes] of Object.entries(types)) { + const value = config[property]; + const valueType = isElement(value) ? "element" : toType(value); + if (!new RegExp(expectedTypes).test(valueType)) { + throw new TypeError( + `${ctor.NAME.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".` + ); + } + } + } + } + const VERSION = "5.3.8"; + class BaseComponent extends Config { + constructor(element, config) { + super(); + const resolved = getElement(element); + if (!resolved) { + return; + } + this._element = resolved; + this._config = this._getConfig(config); + const ctor = this.constructor; + Data.set(this._element, ctor.DATA_KEY, this); + } + dispose() { + const ctor = this.constructor; + Data.remove(this._element, ctor.DATA_KEY); + EventHandler.off(this._element, ctor.EVENT_KEY); + for (const propertyName of Object.getOwnPropertyNames(this)) { + this[propertyName] = null; + } + } + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + _getConfig(config) { + config = this._mergeConfigObj(config, this._element); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + static getInstance(element) { + return Data.get(getElement(element), this.DATA_KEY); + } + static getOrCreateInstance(element, config = {}) { + return this.getInstance(element) || new this(element, typeof config === "object" ? config : null); + } + static get VERSION() { + return VERSION; + } + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + static eventName(name) { + return `${name}${this.EVENT_KEY}`; + } + } + const getSelector = (element) => { + let selector = element.getAttribute("data-tblr-target") || element.getAttribute("data-bs-target"); + if (!selector || selector === "#") { + let hrefAttribute = element.getAttribute("href"); + if (!hrefAttribute || !hrefAttribute.includes("#") && !hrefAttribute.startsWith(".")) { + return null; + } + if (hrefAttribute.includes("#") && !hrefAttribute.startsWith("#")) { + hrefAttribute = `#${hrefAttribute.split("#")[1]}`; + } + selector = hrefAttribute && hrefAttribute !== "#" ? hrefAttribute.trim() : null; + } + return selector ? selector.split(",").map((sel) => parseSelector(sel)).join(",") : null; + }; + const SelectorEngine = { + find(selector, element = document.documentElement) { + return Array.from(element.querySelectorAll(selector)); + }, + findOne(selector, element = document.documentElement) { + return element.querySelector(selector); + }, + children(element, selector) { + return Array.from(element.children).filter((child) => child.matches(selector)); + }, + parents(element, selector) { + const parents = []; + let ancestor = element.parentNode && element.parentNode.closest(selector); + while (ancestor) { + parents.push(ancestor); + ancestor = ancestor.parentNode && ancestor.parentNode.closest(selector); + } + return parents; + }, + prev(element, selector) { + let previous = element.previousElementSibling; + while (previous) { + if (previous.matches(selector)) { + return [previous]; + } + previous = previous.previousElementSibling; + } + return []; + }, + next(element, selector) { + let next = element.nextElementSibling; + while (next) { + if (next.matches(selector)) { + return [next]; + } + next = next.nextElementSibling; + } + return []; + }, + focusableChildren(element) { + const focusables = [ + "a", + "button", + "input", + "textarea", + "select", + "details", + "[tabindex]", + '[contenteditable="true"]' + ].map((selector) => `${selector}:not([tabindex^="-"])`).join(","); + return this.find(focusables, element).filter((el) => !isDisabled(el) && isVisible(el)); + }, + getSelectorFromElement(element) { + const selector = getSelector(element); + if (selector) { + return SelectorEngine.findOne(selector) ? selector : null; + } + return null; + }, + getElementFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.findOne(selector) : null; + }, + getMultipleElementsFromSelector(element) { + const selector = getSelector(element); + return selector ? SelectorEngine.find(selector) : []; + } + }; + const enableDismissTrigger = (component, method = "hide") => { + const clickEvent = `click.dismiss${component.EVENT_KEY}`; + const name = component.NAME; + EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"], [data-tblr-dismiss="${name}"]`, function(event) { + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`); + const instance = component.getOrCreateInstance(target); + instance[method](); + }); + }; + const NAME$f = "alert"; + const DATA_KEY$a = "bs.alert"; + const EVENT_KEY$b = `.${DATA_KEY$a}`; + const EVENT_CLOSE = `close${EVENT_KEY$b}`; + const EVENT_CLOSED = `closed${EVENT_KEY$b}`; + const CLASS_NAME_FADE$5 = "fade"; + const CLASS_NAME_SHOW$8 = "show"; + class Alert extends BaseComponent { + static get NAME() { + return NAME$f; + } + close() { + const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); + if (closeEvent == null ? void 0 : closeEvent.defaultPrevented) { + return; + } + this._element.classList.remove(CLASS_NAME_SHOW$8); + const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); + this._queueCallback(() => this._destroyElement(), this._element, isAnimated); + } + _destroyElement() { + this._element.remove(); + EventHandler.trigger(this._element, EVENT_CLOSED); + this.dispose(); + } + } + enableDismissTrigger(Alert, "close"); + const NAME$e = "button"; + const DATA_KEY$9 = "bs.button"; + const EVENT_KEY$a = `.${DATA_KEY$9}`; + const DATA_API_KEY$6 = ".data-api"; + const CLASS_NAME_ACTIVE$3 = "active"; + const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"], [data-tblr-toggle="button"]'; + const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; + class Button extends BaseComponent { + static get NAME() { + return NAME$e; + } + toggle() { + this._element.setAttribute("aria-pressed", String(this._element.classList.toggle(CLASS_NAME_ACTIVE$3))); + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, (event) => { + var _a; + event.preventDefault(); + const target = (_a = event.target) == null ? void 0 : _a.closest(SELECTOR_DATA_TOGGLE$5); + if (!target) { + return; + } + const data = Button.getOrCreateInstance(target); + data.toggle(); + }); + const NAME$d = "swipe"; + const EVENT_KEY$9 = ".bs.swipe"; + const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`; + const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`; + const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`; + const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`; + const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`; + const POINTER_TYPE_TOUCH = "touch"; + const POINTER_TYPE_PEN = "pen"; + const CLASS_NAME_POINTER_EVENT = "pointer-event"; + const SWIPE_THRESHOLD = 40; + const Default$c = { + endCallback: null, + leftCallback: null, + rightCallback: null + }; + const DefaultType$c = { + endCallback: "(function|null)", + leftCallback: "(function|null)", + rightCallback: "(function|null)" + }; + class Swipe extends Config { + constructor(element, config) { + super(); + this._element = element; + if (!element || !Swipe.isSupported()) { + return; + } + this._config = this._getConfig(config); + this._deltaX = 0; + this._supportPointerEvents = Boolean(window.PointerEvent); + this._initEvents(); + } + static get Default() { + return Default$c; + } + static get DefaultType() { + return DefaultType$c; + } + static get NAME() { + return NAME$d; + } + dispose() { + EventHandler.off(this._element, EVENT_KEY$9); + } + _start(event) { + if (!this._supportPointerEvents) { + this._deltaX = event.touches[0].clientX; + return; + } + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX; + } + } + _end(event) { + if (this._eventIsPointerPenTouch(event)) { + this._deltaX = event.clientX - this._deltaX; + } + this._handleSwipe(); + execute(this._config.endCallback); + } + _move(event) { + this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX; + } + _handleSwipe() { + const absDeltaX = Math.abs(this._deltaX); + if (absDeltaX <= SWIPE_THRESHOLD) { + return; + } + const direction = absDeltaX / this._deltaX; + this._deltaX = 0; + if (!direction) { + return; + } + execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback); + } + _initEvents() { + if (this._supportPointerEvents) { + EventHandler.on(this._element, EVENT_POINTERDOWN, (event) => this._start(event)); + EventHandler.on(this._element, EVENT_POINTERUP, (event) => this._end(event)); + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => this._start(event)); + EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => this._move(event)); + EventHandler.on(this._element, EVENT_TOUCHEND, (event) => this._end(event)); + } + } + _eventIsPointerPenTouch(event) { + return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); + } + static isSupported() { + return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0; + } + } + const NAME$c = "carousel"; + const DATA_KEY$8 = "bs.carousel"; + const EVENT_KEY$8 = `.${DATA_KEY$8}`; + const DATA_API_KEY$5 = ".data-api"; + const ARROW_LEFT_KEY$1 = "ArrowLeft"; + const ARROW_RIGHT_KEY$1 = "ArrowRight"; + const TOUCHEVENT_COMPAT_WAIT = 500; + const ORDER_NEXT = "next"; + const ORDER_PREV = "prev"; + const DIRECTION_LEFT = "left"; + const DIRECTION_RIGHT = "right"; + const EVENT_SLIDE = `slide${EVENT_KEY$8}`; + const EVENT_SLID = `slid${EVENT_KEY$8}`; + const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`; + const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`; + const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`; + const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`; + const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`; + const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`; + const CLASS_NAME_CAROUSEL = "carousel"; + const CLASS_NAME_ACTIVE$2 = "active"; + const CLASS_NAME_SLIDE = "slide"; + const CLASS_NAME_END = "carousel-item-end"; + const CLASS_NAME_START = "carousel-item-start"; + const CLASS_NAME_NEXT = "carousel-item-next"; + const CLASS_NAME_PREV = "carousel-item-prev"; + const SELECTOR_ACTIVE = ".active"; + const SELECTOR_ITEM = ".carousel-item"; + const SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM; + const SELECTOR_ITEM_IMG = ".carousel-item img"; + const SELECTOR_INDICATORS = ".carousel-indicators"; + const SELECTOR_DATA_SLIDE = "[data-bs-slide], [data-bs-slide-to], [data-tblr-slide], [data-tblr-slide-to]"; + const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"], [data-tblr-ride="carousel"]'; + const KEY_TO_DIRECTION = { + [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT, + [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT + }; + const Default$b = { + interval: 5e3, + keyboard: true, + pause: "hover", + ride: false, + touch: true, + wrap: true + }; + const DefaultType$b = { + interval: "(number|boolean)", + keyboard: "boolean", + pause: "(string|boolean)", + ride: "(boolean|string)", + touch: "boolean", + wrap: "boolean" + }; + class Carousel extends BaseComponent { + constructor(element, config) { + super(element, config); + this._interval = null; + this._activeElement = null; + this._isSliding = false; + this.touchTimeout = null; + this._swipeHelper = null; + this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); + this._addEventListeners(); + if (this._config.ride === CLASS_NAME_CAROUSEL) { + this.cycle(); + } + } + static get Default() { + return Default$b; + } + static get DefaultType() { + return DefaultType$b; + } + static get NAME() { + return NAME$c; + } + next() { + this._slide(ORDER_NEXT); + } + nextWhenVisible() { + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + prev() { + this._slide(ORDER_PREV); + } + pause() { + if (this._isSliding) { + triggerTransitionEnd(this._element); + } + this._clearInterval(); + } + cycle() { + this._clearInterval(); + this._updateInterval(); + this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval); + } + _maybeEnableCycle() { + if (!this._config.ride) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.cycle()); + return; + } + this.cycle(); + } + to(index) { + const items = this._getItems(); + if (index > items.length - 1 || index < 0) { + return; + } + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); + return; + } + const activeIndex = this._getItemIndex(this._getActive()); + if (activeIndex === index) { + return; + } + const order2 = index > activeIndex ? ORDER_NEXT : ORDER_PREV; + this._slide(order2, items[index]); + } + dispose() { + if (this._swipeHelper) { + this._swipeHelper.dispose(); + } + super.dispose(); + } + _configAfterMerge(config) { + config.defaultInterval = config.interval; + return config; + } + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, EVENT_KEYDOWN$1, (event) => this._keydown(event)); + } + if (this._config.pause === "hover") { + EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause()); + EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle()); + } + if (this._config.touch && Swipe.isSupported()) { + this._addTouchEventListeners(); + } + } + _addTouchEventListeners() { + for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) { + EventHandler.on(img, EVENT_DRAG_START, (event) => event.preventDefault()); + } + const endCallBack = () => { + if (this._config.pause !== "hover") { + return; + } + this.pause(); + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + }; + const swipeConfig = { + leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)), + rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)), + endCallback: endCallBack + }; + this._swipeHelper = new Swipe(this._element, swipeConfig); + } + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + const direction = KEY_TO_DIRECTION[event.key]; + if (direction) { + event.preventDefault(); + this._slide(this._directionToOrder(direction)); + } + } + _getItemIndex(element) { + return this._getItems().indexOf(element); + } + _setActiveIndicatorElement(index) { + if (!this._indicatorsElement) { + return; + } + const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement); + activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); + activeIndicator.removeAttribute("aria-current"); + const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"], [data-tblr-slide-to="${index}"]`, this._indicatorsElement); + if (newActiveIndicator) { + newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2); + newActiveIndicator.setAttribute("aria-current", "true"); + } + } + _updateInterval() { + const element = this._activeElement || this._getActive(); + if (!element) { + return; + } + const elementInterval = Number.parseInt(element.getAttribute("data-bs-interval") || element.getAttribute("data-tblr-interval") || "", 10); + this._config.interval = elementInterval || this._config.defaultInterval; + } + _slide(order2, element = null) { + if (this._isSliding) { + return; + } + const activeElement = this._getActive(); + const isNext = order2 === ORDER_NEXT; + const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap); + if (nextElement === activeElement) { + return; + } + const nextElementIndex = this._getItemIndex(nextElement); + const triggerEvent = (eventName) => { + return EventHandler.trigger(this._element, eventName, { + relatedTarget: nextElement, + direction: this._orderToDirection(order2), + from: this._getItemIndex(activeElement), + to: nextElementIndex + }); + }; + const slideEvent = triggerEvent(EVENT_SLIDE); + if (slideEvent.defaultPrevented) { + return; + } + if (!activeElement || !nextElement) { + return; + } + const isCycling = Boolean(this._interval); + this.pause(); + this._isSliding = true; + this._setActiveIndicatorElement(nextElementIndex); + this._activeElement = nextElement; + const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; + const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); + this._isSliding = false; + triggerEvent(EVENT_SLID); + }; + this._queueCallback(completeCallBack, activeElement, this._isAnimated()); + if (isCycling) { + this.cycle(); + } + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_SLIDE); + } + _getActive() { + return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + } + _getItems() { + return SelectorEngine.find(SELECTOR_ITEM, this._element); + } + _clearInterval() { + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + } + _directionToOrder(direction) { + if (isRTL()) { + return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; + } + return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + } + _orderToDirection(order2) { + if (isRTL()) { + return order2 === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + return order2 === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { + return; + } + event.preventDefault(); + const carousel = Carousel.getOrCreateInstance(target); + const slideIndex = this.getAttribute("data-bs-slide-to") || this.getAttribute("data-tblr-slide-to"); + if (slideIndex) { + carousel.to(Number(slideIndex)); + carousel._maybeEnableCycle(); + return; + } + if (Manipulator.getDataAttribute(this, "slide") === "next") { + carousel.next(); + carousel._maybeEnableCycle(); + return; + } + carousel.prev(); + carousel._maybeEnableCycle(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => { + const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); + for (const carousel of carousels) { + Carousel.getOrCreateInstance(carousel); + } + }); + const NAME$b = "collapse"; + const DATA_KEY$7 = "bs.collapse"; + const EVENT_KEY$7 = `.${DATA_KEY$7}`; + const DATA_API_KEY$4 = ".data-api"; + const EVENT_SHOW$6 = `show${EVENT_KEY$7}`; + const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`; + const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`; + const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`; + const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`; + const CLASS_NAME_SHOW$7 = "show"; + const CLASS_NAME_COLLAPSE = "collapse"; + const CLASS_NAME_COLLAPSING = "collapsing"; + const CLASS_NAME_COLLAPSED = "collapsed"; + const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; + const CLASS_NAME_HORIZONTAL = "collapse-horizontal"; + const WIDTH = "width"; + const HEIGHT = "height"; + const SELECTOR_ACTIVES = ".collapse.show, .collapse.collapsing"; + const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"], [data-tblr-toggle="collapse"]'; + const Default$a = { + parent: null, + toggle: true + }; + const DefaultType$a = { + parent: "(null|element)", + toggle: "boolean" + }; + class Collapse extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isTransitioning = false; + this._triggerArray = []; + const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); + for (const elem of toggleList) { + const selector = SelectorEngine.getSelectorFromElement(elem); + const filterElement = SelectorEngine.find(selector).filter((foundElement) => foundElement === this._element); + if (selector !== null && filterElement.length) { + this._triggerArray.push(elem); + } + } + this._initializeChildren(); + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); + } + if (this._config.toggle) { + this.toggle(); + } + } + static get Default() { + return Default$a; + } + static get DefaultType() { + return DefaultType$a; + } + static get NAME() { + return NAME$b; + } + toggle() { + if (this._isShown()) { + this.hide(); + } else { + this.show(); + } + } + show() { + if (this._isTransitioning || this._isShown()) { + return; + } + let activeChildren = []; + if (this._config.parent) { + activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter((element) => element !== this._element).map((element) => Collapse.getOrCreateInstance(element, { toggle: false })); + } + if (activeChildren.length && activeChildren[0]._isTransitioning) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6); + if (startEvent == null ? void 0 : startEvent.defaultPrevented) { + return; + } + for (const activeInstance of activeChildren) { + activeInstance.hide(); + } + const dimension = this._getDimension(); + this._element.classList.remove(CLASS_NAME_COLLAPSE); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = "0"; + this._addAriaAndCollapsedClass(this._triggerArray, true); + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + this._element.style[dimension] = ""; + EventHandler.trigger(this._element, EVENT_SHOWN$6); + }; + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + this._queueCallback(complete, this._element, true); + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + hide() { + if (this._isTransitioning || !this._isShown()) { + return; + } + const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6); + if (startEvent == null ? void 0 : startEvent.defaultPrevented) { + return; + } + const dimension = this._getDimension(); + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + this._element.classList.add(CLASS_NAME_COLLAPSING); + this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + for (const trigger of this._triggerArray) { + const element = SelectorEngine.getElementFromSelector(trigger); + if (element && !this._isShown(element)) { + this._addAriaAndCollapsedClass([trigger], false); + } + } + this._isTransitioning = true; + const complete = () => { + this._isTransitioning = false; + this._element.classList.remove(CLASS_NAME_COLLAPSING); + this._element.classList.add(CLASS_NAME_COLLAPSE); + EventHandler.trigger(this._element, EVENT_HIDDEN$6); + }; + this._element.style[dimension] = ""; + this._queueCallback(complete, this._element, true); + } + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$7); + } + _configAfterMerge(config) { + config.toggle = Boolean(config.toggle); + config.parent = getElement(config.parent); + return config; + } + _getDimension() { + return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; + } + _initializeChildren() { + if (!this._config.parent) { + return; + } + const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4); + for (const element of children) { + const selected = SelectorEngine.getElementFromSelector(element); + if (selected) { + this._addAriaAndCollapsedClass([element], this._isShown(selected)); + } + } + } + _getFirstLevelChildren(selector) { + const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + return SelectorEngine.find(selector, this._config.parent).filter((element) => !children.includes(element)); + } + _addAriaAndCollapsedClass(triggerArray, isOpen) { + if (!triggerArray.length) { + return; + } + for (const element of triggerArray) { + element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen); + element.setAttribute("aria-expanded", String(isOpen)); + } + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function(event) { + if (event.target.tagName === "A" || event.delegateTarget && event.delegateTarget.tagName === "A") { + event.preventDefault(); + } + for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) { + Collapse.getOrCreateInstance(element, { toggle: false }).toggle(); + } + }); + var __defProp$3 = Object.defineProperty; + var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols; + var __hasOwnProp$3 = Object.prototype.hasOwnProperty; + var __propIsEnum$3 = Object.prototype.propertyIsEnumerable; + var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __spreadValues$3 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$3.call(b, prop)) + __defNormalProp$3(a, prop, b[prop]); + if (__getOwnPropSymbols$3) + for (var prop of __getOwnPropSymbols$3(b)) { + if (__propIsEnum$3.call(b, prop)) + __defNormalProp$3(a, prop, b[prop]); + } + return a; + }; + const NAME$a = "dropdown"; + const DATA_KEY$6 = "bs.dropdown"; + const EVENT_KEY$6 = `.${DATA_KEY$6}`; + const DATA_API_KEY$3 = ".data-api"; + const ESCAPE_KEY$2 = "Escape"; + const TAB_KEY$1 = "Tab"; + const ARROW_UP_KEY$1 = "ArrowUp"; + const ARROW_DOWN_KEY$1 = "ArrowDown"; + const RIGHT_MOUSE_BUTTON = 2; + const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`; + const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`; + const EVENT_SHOW$5 = `show${EVENT_KEY$6}`; + const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`; + const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; + const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`; + const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`; + const CLASS_NAME_SHOW$6 = "show"; + const CLASS_NAME_DROPUP = "dropup"; + const CLASS_NAME_DROPEND = "dropend"; + const CLASS_NAME_DROPSTART = "dropstart"; + const CLASS_NAME_DROPUP_CENTER = "dropup-center"; + const CLASS_NAME_DROPDOWN_CENTER = "dropdown-center"; + const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled), [data-tblr-toggle="dropdown"]:not(.disabled):not(:disabled)'; + const SELECTOR_DATA_TOGGLE_SHOWN = `.${CLASS_NAME_SHOW$6}[data-bs-toggle="dropdown"], .${CLASS_NAME_SHOW$6}[data-tblr-toggle="dropdown"]`; + const SELECTOR_MENU = ".dropdown-menu"; + const SELECTOR_NAVBAR = ".navbar"; + const SELECTOR_NAVBAR_NAV = ".navbar-nav"; + const SELECTOR_VISIBLE_ITEMS = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"; + const PLACEMENT_TOP = isRTL() ? "top-end" : "top-start"; + const PLACEMENT_TOPEND = isRTL() ? "top-start" : "top-end"; + const PLACEMENT_BOTTOM = isRTL() ? "bottom-end" : "bottom-start"; + const PLACEMENT_BOTTOMEND = isRTL() ? "bottom-start" : "bottom-end"; + const PLACEMENT_RIGHT = isRTL() ? "left-start" : "right-start"; + const PLACEMENT_LEFT = isRTL() ? "right-start" : "left-start"; + const PLACEMENT_TOPCENTER = "top"; + const PLACEMENT_BOTTOMCENTER = "bottom"; + const Default$9 = { + autoClose: true, + boundary: "clippingParents", + display: "dynamic", + offset: [0, 2], + popperConfig: null, + reference: "toggle" + }; + const DefaultType$9 = { + autoClose: "(boolean|string)", + boundary: "(string|element)", + display: "string", + offset: "(array|string|function)", + popperConfig: "(null|object|function)", + reference: "(string|element|object)" + }; + class Dropdown extends BaseComponent { + constructor(element, config) { + super(element, config); + this._popper = null; + this._parent = this._element.parentNode; + this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent); + this._inNavbar = this._detectNavbar(); + } + static get Default() { + return Default$9; + } + static get DefaultType() { + return DefaultType$9; + } + static get NAME() { + return NAME$a; + } + toggle() { + this._isShown() ? this.hide() : this.show(); + } + show() { + if (isDisabled(this._element) || this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget); + if (showEvent.defaultPrevented) { + return; + } + this._createPopper(); + if ("ontouchstart" in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, "mouseover", noop); + } + } + this._element.focus(); + this._element.setAttribute("aria-expanded", "true"); + this._menu.classList.add(CLASS_NAME_SHOW$6); + this._element.classList.add(CLASS_NAME_SHOW$6); + EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget); + } + hide() { + if (isDisabled(this._element) || !this._isShown()) { + return; + } + const relatedTarget = { + relatedTarget: this._element + }; + this._completeHide(relatedTarget); + } + dispose() { + if (this._popper) { + this._popper.destroy(); + } + super.dispose(); + } + update() { + this._inNavbar = this._detectNavbar(); + if (this._popper) { + this._popper.update(); + } + } + _completeHide(relatedTarget) { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget); + if (hideEvent.defaultPrevented) { + return; + } + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, "mouseover", noop); + } + } + if (this._popper) { + this._popper.destroy(); + } + this._menu.classList.remove(CLASS_NAME_SHOW$6); + this._element.classList.remove(CLASS_NAME_SHOW$6); + this._element.setAttribute("aria-expanded", "false"); + Manipulator.removeDataAttribute(this._menu, "popper"); + EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget); + } + _getConfig(config) { + config = super._getConfig(config); + if (typeof config.reference === "object" && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== "function") { + throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); + } + return config; + } + _createPopper() { + if (typeof Popper === "undefined") { + throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)"); + } + let referenceElement = this._element; + if (this._config.reference === "parent") { + referenceElement = this._parent; + } else if (isElement(this._config.reference)) { + referenceElement = getElement(this._config.reference); + } else if (typeof this._config.reference === "object") { + referenceElement = this._config.reference; + } + const popperConfig = this._getPopperConfig(); + this._popper = createPopper(referenceElement, this._menu, popperConfig); + } + _isShown() { + return this._menu.classList.contains(CLASS_NAME_SHOW$6); + } + _getPlacement() { + const parentDropdown = this._parent; + if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { + return PLACEMENT_RIGHT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { + return PLACEMENT_LEFT; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) { + return PLACEMENT_TOPCENTER; + } + if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) { + return PLACEMENT_BOTTOMCENTER; + } + const isEnd = getComputedStyle(this._menu).getPropertyValue("--bs-position").trim() === "end"; + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { + return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } + return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; + } + _detectNavbar() { + return this._element.closest(SELECTOR_NAVBAR) !== null; + } + _getOffset() { + const { offset: offset2 } = this._config; + if (typeof offset2 === "string") { + return offset2.split(",").map((value) => Number.parseInt(value, 10)); + } + if (typeof offset2 === "function") { + return (popperData) => offset2(popperData, this._element); + } + return offset2; + } + _getPopperConfig() { + const defaultBsPopperConfig = { + placement: this._getPlacement(), + modifiers: [ + { + name: "preventOverflow", + options: { + boundary: this._config.boundary + } + }, + { + name: "offset", + options: { + offset: this._getOffset() + } + } + ] + }; + if (this._inNavbar || this._config.display === "static") { + Manipulator.setDataAttribute(this._menu, "popper", "static"); + defaultBsPopperConfig.modifiers = [{ + name: "applyStyles", + enabled: false + }]; + } + const popperConfig = execute(this._config.popperConfig, [void 0, defaultBsPopperConfig]); + return __spreadValues$3(__spreadValues$3({}, defaultBsPopperConfig), typeof popperConfig === "object" && popperConfig !== null ? popperConfig : {}); + } + _selectMenuItem({ key, target }) { + const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter((element) => isVisible(element)); + if (!items.length) { + return; + } + getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus(); + } + static clearMenus(event) { + if (event.button === RIGHT_MOUSE_BUTTON || event.type === "keyup" && event.key !== TAB_KEY$1) { + return; + } + const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN); + for (const toggle of openToggles) { + const context = Dropdown.getInstance(toggle); + if (!context || context._config.autoClose === false) { + continue; + } + const composedPath = event.composedPath(); + const isMenuTarget = composedPath.includes(context._menu); + if (composedPath.includes(context._element) || context._config.autoClose === "inside" && !isMenuTarget || context._config.autoClose === "outside" && isMenuTarget) { + continue; + } + if (context._menu.contains(event.target) && (event.type === "keyup" && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { + continue; + } + const relatedTarget = { relatedTarget: context._element }; + if (event.type === "click") { + relatedTarget.clickEvent = event; + } + context._completeHide(relatedTarget); + } + } + static dataApiKeydownHandler(event) { + const isInput = /input|textarea/i.test(event.target.tagName); + const isEscapeEvent = event.key === ESCAPE_KEY$2; + const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key); + if (!isUpOrDownEvent && !isEscapeEvent) { + return; + } + if (isInput && !isEscapeEvent) { + return; + } + event.preventDefault(); + const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode); + const instance = Dropdown.getOrCreateInstance(getToggleButton); + if (isUpOrDownEvent) { + event.stopPropagation(); + instance.show(); + instance._selectMenuItem(event); + return; + } + if (instance._isShown()) { + event.stopPropagation(); + instance.hide(); + getToggleButton.focus(); + } + } + } + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); + EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); + EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function(event) { + event.preventDefault(); + Dropdown.getOrCreateInstance(this).toggle(); + }); + const NAME$9 = "backdrop"; + const CLASS_NAME_FADE$4 = "fade"; + const CLASS_NAME_SHOW$5 = "show"; + const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; + const Default$8 = { + className: "modal-backdrop", + clickCallback: null, + isAnimated: false, + isVisible: true, + rootElement: "body" + }; + const DefaultType$8 = { + className: "string", + clickCallback: "(function|null)", + isAnimated: "boolean", + isVisible: "boolean", + rootElement: "(element|string)" + }; + class Backdrop extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isAppended = false; + this._element = null; + } + static get Default() { + return Default$8; + } + static get DefaultType() { + return DefaultType$8; + } + static get NAME() { + return NAME$9; + } + show(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._append(); + const element = this._getElement(); + if (this._config.isAnimated) { + reflow(element); + } + element.classList.add(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + execute(callback); + }); + } + hide(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + this._getElement().classList.remove(CLASS_NAME_SHOW$5); + this._emulateAnimation(() => { + this.dispose(); + execute(callback); + }); + } + dispose() { + if (!this._isAppended) { + return; + } + EventHandler.off(this._element, EVENT_MOUSEDOWN); + this._element.remove(); + this._isAppended = false; + } + _getElement() { + if (!this._element) { + const backdrop = document.createElement("div"); + backdrop.className = this._config.className; + if (this._config.isAnimated) { + backdrop.classList.add(CLASS_NAME_FADE$4); + } + this._element = backdrop; + } + return this._element; + } + _configAfterMerge(config) { + config.rootElement = getElement(config.rootElement); + return config; + } + _append() { + if (this._isAppended) { + return; + } + const element = this._getElement(); + this._config.rootElement.append(element); + EventHandler.on(element, EVENT_MOUSEDOWN, () => { + execute(this._config.clickCallback); + }); + this._isAppended = true; + } + _emulateAnimation(callback) { + executeAfterTransition(callback, this._getElement(), this._config.isAnimated); + } + } + const NAME$8 = "focustrap"; + const DATA_KEY$5 = "bs.focustrap"; + const EVENT_KEY$5 = `.${DATA_KEY$5}`; + const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`; + const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; + const TAB_KEY = "Tab"; + const TAB_NAV_FORWARD = "forward"; + const TAB_NAV_BACKWARD = "backward"; + const Default$7 = { + autofocus: true, + trapElement: null + }; + const DefaultType$7 = { + autofocus: "boolean", + trapElement: "element" + }; + class FocusTrap extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + this._isActive = false; + this._lastTabNavDirection = null; + } + static get Default() { + return Default$7; + } + static get DefaultType() { + return DefaultType$7; + } + static get NAME() { + return NAME$8; + } + activate() { + if (this._isActive) { + return; + } + if (this._config.autofocus) { + this._config.trapElement.focus(); + } + EventHandler.off(document, EVENT_KEY$5); + EventHandler.on(document, EVENT_FOCUSIN$2, (event) => this._handleFocusin(event)); + EventHandler.on(document, EVENT_KEYDOWN_TAB, (event) => this._handleKeydown(event)); + this._isActive = true; + } + deactivate() { + if (!this._isActive) { + return; + } + this._isActive = false; + EventHandler.off(document, EVENT_KEY$5); + } + _handleFocusin(event) { + const { trapElement } = this._config; + if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) { + return; + } + const elements = SelectorEngine.focusableChildren(trapElement); + if (elements.length === 0) { + trapElement.focus(); + } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { + elements[elements.length - 1].focus(); + } else { + elements[0].focus(); + } + } + _handleKeydown(event) { + if (event.key !== TAB_KEY) { + return; + } + this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; + } + } + const SELECTOR_FIXED_CONTENT = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"; + const SELECTOR_STICKY_CONTENT = ".sticky-top"; + const PROPERTY_PADDING = "padding-right"; + const PROPERTY_MARGIN = "margin-right"; + class ScrollBarHelper { + constructor() { + this._element = document.body; + } + getWidth() { + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); + } + hide() { + const width = this.getWidth(); + this._disableOverFlow(); + this._setElementAttributes(this._element, PROPERTY_PADDING, (calculatedValue) => calculatedValue + width); + this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, (calculatedValue) => calculatedValue + width); + this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, (calculatedValue) => calculatedValue - width); + } + reset() { + this._resetElementAttributes(this._element, "overflow"); + this._resetElementAttributes(this._element, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING); + this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN); + } + isOverflowing() { + return this.getWidth() > 0; + } + _disableOverFlow() { + this._saveInitialAttribute(this._element, "overflow"); + this._element.style.overflow = "hidden"; + } + _setElementAttributes(selector, styleProperty, callback) { + const scrollbarWidth = this.getWidth(); + const manipulationCallBack = (element) => { + if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { + return; + } + this._saveInitialAttribute(element, styleProperty); + const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty); + element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _saveInitialAttribute(element, styleProperty) { + const actualValue = element.style.getPropertyValue(styleProperty); + if (actualValue) { + Manipulator.setDataAttribute(element, styleProperty, actualValue); + } + } + _resetElementAttributes(selector, styleProperty) { + const manipulationCallBack = (element) => { + const value = Manipulator.getDataAttribute(element, styleProperty); + if (value === null) { + element.style.removeProperty(styleProperty); + return; + } + Manipulator.removeDataAttribute(element, styleProperty); + element.style.setProperty(styleProperty, String(value)); + }; + this._applyManipulationCallback(selector, manipulationCallBack); + } + _applyManipulationCallback(selector, callBack) { + if (isElement(selector)) { + callBack(selector); + return; + } + for (const sel of SelectorEngine.find(selector, this._element)) { + callBack(sel); + } + } + } + const NAME$7 = "modal"; + const DATA_KEY$4 = "bs.modal"; + const EVENT_KEY$4 = `.${DATA_KEY$4}`; + const DATA_API_KEY$2 = ".data-api"; + const ESCAPE_KEY$1 = "Escape"; + const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`; + const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; + const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; + const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; + const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; + const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; + const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; + const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; + const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; + const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; + const CLASS_NAME_OPEN = "modal-open"; + const CLASS_NAME_FADE$3 = "fade"; + const CLASS_NAME_SHOW$4 = "show"; + const CLASS_NAME_STATIC = "modal-static"; + const OPEN_SELECTOR$1 = ".modal.show"; + const SELECTOR_DIALOG = ".modal-dialog"; + const SELECTOR_MODAL_BODY = ".modal-body"; + const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"], [data-tblr-toggle="modal"]'; + const Default$6 = { + backdrop: true, + focus: true, + keyboard: true + }; + const DefaultType$6 = { + backdrop: "(boolean|string)", + focus: "boolean", + keyboard: "boolean" + }; + class Modal extends BaseComponent { + constructor(element, config) { + super(element, config); + this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._isShown = false; + this._isTransitioning = false; + this._scrollBar = new ScrollBarHelper(); + this._addEventListeners(); + } + static get Default() { + return Default$6; + } + static get DefaultType() { + return DefaultType$6; + } + static get NAME() { + return NAME$7; + } + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, { + relatedTarget + }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._isTransitioning = true; + this._scrollBar.hide(); + document.body.classList.add(CLASS_NAME_OPEN); + this._adjustDialog(); + this._backdrop.show(() => this._showElement(relatedTarget)); + } + hide() { + if (!this._isShown || this._isTransitioning) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4); + if (hideEvent.defaultPrevented) { + return; + } + this._isShown = false; + this._isTransitioning = true; + this._focustrap.deactivate(); + this._element.classList.remove(CLASS_NAME_SHOW$4); + this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()); + } + dispose() { + EventHandler.off(window, EVENT_KEY$4); + EventHandler.off(this._dialog, EVENT_KEY$4); + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + handleUpdate() { + this._adjustDialog(); + } + _initializeBackDrop() { + return new Backdrop({ + isVisible: Boolean(this._config.backdrop), + isAnimated: this._isAnimated() + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _showElement(relatedTarget) { + if (!document.body.contains(this._element)) { + document.body.append(this._element); + } + this._element.style.display = "block"; + this._element.removeAttribute("aria-hidden"); + this._element.setAttribute("aria-modal", "true"); + this._element.setAttribute("role", "dialog"); + this._element.scrollTop = 0; + const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); + if (modalBody) { + modalBody.scrollTop = 0; + } + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW$4); + const transitionComplete = () => { + if (this._config.focus) { + this._focustrap.activate(); + } + this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_SHOWN$4, { + relatedTarget + }); + }; + this._queueCallback(transitionComplete, this._dialog, this._isAnimated()); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, (event) => { + if (event.key !== ESCAPE_KEY$1) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + this._triggerBackdropTransition(); + }); + EventHandler.on(window, EVENT_RESIZE$1, () => { + if (this._isShown && !this._isTransitioning) { + this._adjustDialog(); + } + }); + EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, (event) => { + EventHandler.one(this._element, EVENT_CLICK_DISMISS, (event2) => { + if (this._element !== event.target || this._element !== event2.target) { + return; + } + if (this._config.backdrop === "static") { + this._triggerBackdropTransition(); + return; + } + if (this._config.backdrop) { + this.hide(); + } + }); + }); + } + _hideModal() { + this._element.style.display = "none"; + this._element.setAttribute("aria-hidden", "true"); + this._element.removeAttribute("aria-modal"); + this._element.removeAttribute("role"); + this._isTransitioning = false; + this._backdrop.hide(() => { + document.body.classList.remove(CLASS_NAME_OPEN); + this._resetAdjustments(); + this._scrollBar.reset(); + EventHandler.trigger(this._element, EVENT_HIDDEN$4); + }); + } + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_FADE$3); + } + _triggerBackdropTransition() { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1); + if (hideEvent.defaultPrevented) { + return; + } + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const initialOverflowY = this._element.style.overflowY; + if (initialOverflowY === "hidden" || this._element.classList.contains(CLASS_NAME_STATIC)) { + return; + } + if (!isModalOverflowing) { + this._element.style.overflowY = "hidden"; + } + this._element.classList.add(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.classList.remove(CLASS_NAME_STATIC); + this._queueCallback(() => { + this._element.style.overflowY = initialOverflowY; + }, this._dialog); + }, this._dialog); + this._element.focus(); + } + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + const scrollbarWidth = this._scrollBar.getWidth(); + const isBodyOverflowing = scrollbarWidth > 0; + if (isBodyOverflowing && !isModalOverflowing) { + const property = isRTL() ? "paddingLeft" : "paddingRight"; + this._element.style[property] = `${scrollbarWidth}px`; + } + if (!isBodyOverflowing && isModalOverflowing) { + const property = isRTL() ? "paddingRight" : "paddingLeft"; + this._element.style[property] = `${scrollbarWidth}px`; + } + } + _resetAdjustments() { + this._element.style.paddingLeft = ""; + this._element.style.paddingRight = ""; + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + EventHandler.one(target, EVENT_SHOW$4, (showEvent) => { + if (showEvent.defaultPrevented) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$4, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); + if (alreadyOpen) { + Modal.getInstance(alreadyOpen).hide(); + } + const data = Modal.getOrCreateInstance(target); + data.toggle(this); + }); + enableDismissTrigger(Modal); + const NAME$6 = "offcanvas"; + const DATA_KEY$3 = "bs.offcanvas"; + const EVENT_KEY$3 = `.${DATA_KEY$3}`; + const DATA_API_KEY$1 = ".data-api"; + const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`; + const ESCAPE_KEY = "Escape"; + const CLASS_NAME_SHOW$3 = "show"; + const CLASS_NAME_SHOWING$1 = "showing"; + const CLASS_NAME_HIDING = "hiding"; + const CLASS_NAME_BACKDROP = "offcanvas-backdrop"; + const OPEN_SELECTOR = ".offcanvas.show"; + const EVENT_SHOW$3 = `show${EVENT_KEY$3}`; + const EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`; + const EVENT_HIDE$3 = `hide${EVENT_KEY$3}`; + const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`; + const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`; + const EVENT_RESIZE = `resize${EVENT_KEY$3}`; + const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`; + const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`; + const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"], [data-tblr-toggle="offcanvas"]'; + const Default$5 = { + backdrop: true, + keyboard: true, + scroll: false + }; + const DefaultType$5 = { + backdrop: "(boolean|string)", + keyboard: "boolean", + scroll: "boolean" + }; + class Offcanvas extends BaseComponent { + constructor(element, config) { + super(element, config); + this._isShown = false; + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._addEventListeners(); + } + static get Default() { + return Default$5; + } + static get DefaultType() { + return DefaultType$5; + } + static get NAME() { + return NAME$6; + } + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + show(relatedTarget) { + if (this._isShown) { + return; + } + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { relatedTarget }); + if (showEvent.defaultPrevented) { + return; + } + this._isShown = true; + this._backdrop.show(); + if (!this._config.scroll) { + new ScrollBarHelper().hide(); + } + this._element.setAttribute("aria-modal", "true"); + this._element.setAttribute("role", "dialog"); + this._element.classList.add(CLASS_NAME_SHOWING$1); + const completeCallBack = () => { + if (!this._config.scroll || this._config.backdrop) { + this._focustrap.activate(); + } + this._element.classList.add(CLASS_NAME_SHOW$3); + this._element.classList.remove(CLASS_NAME_SHOWING$1); + EventHandler.trigger(this._element, EVENT_SHOWN$3, { relatedTarget }); + }; + this._queueCallback(completeCallBack, this._element, true); + } + hide() { + if (!this._isShown) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); + if (hideEvent.defaultPrevented) { + return; + } + this._focustrap.deactivate(); + this._element.blur(); + this._isShown = false; + this._element.classList.add(CLASS_NAME_HIDING); + this._backdrop.hide(); + const completeCallback = () => { + this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING); + this._element.removeAttribute("aria-modal"); + this._element.removeAttribute("role"); + if (!this._config.scroll) { + new ScrollBarHelper().reset(); + } + EventHandler.trigger(this._element, EVENT_HIDDEN$3); + }; + this._queueCallback(completeCallback, this._element, true); + } + dispose() { + this._backdrop.dispose(); + this._focustrap.deactivate(); + super.dispose(); + } + _initializeBackDrop() { + const clickCallback = () => { + if (this._config.backdrop === "static") { + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + return; + } + this.hide(); + }; + const isBackdropVisible = Boolean(this._config.backdrop); + return new Backdrop({ + className: CLASS_NAME_BACKDROP, + isVisible: isBackdropVisible, + isAnimated: true, + rootElement: this._element.parentNode, + clickCallback: isBackdropVisible ? clickCallback : null + }); + } + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => { + if (event.key !== ESCAPE_KEY) { + return; + } + if (this._config.keyboard) { + this.hide(); + return; + } + EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + }); + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function(event) { + const target = SelectorEngine.getElementFromSelector(this); + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + EventHandler.one(target, EVENT_HIDDEN$3, () => { + if (isVisible(this)) { + this.focus(); + } + }); + const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); + if (alreadyOpen && alreadyOpen !== target) { + Offcanvas.getInstance(alreadyOpen).hide(); + } + const data = Offcanvas.getOrCreateInstance(target); + data.toggle(this); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { + for (const selector of SelectorEngine.find(OPEN_SELECTOR)) { + Offcanvas.getOrCreateInstance(selector).show(); + } + }); + EventHandler.on(window, EVENT_RESIZE, () => { + for (const element of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]")) { + if (getComputedStyle(element).position !== "fixed") { + Offcanvas.getOrCreateInstance(element).hide(); + } + } + }); + enableDismissTrigger(Offcanvas); + const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + const DefaultAllowlist = { + "*": ["class", "dir", "id", "lang", "role", ARIA_ATTRIBUTE_PATTERN], + a: ["target", "href", "title", "rel"], + area: [], + b: [], + br: [], + col: [], + code: [], + dd: [], + div: [], + dl: [], + dt: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ["src", "srcset", "alt", "title", "width", "height"], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + }; + const uriAttributes = /* @__PURE__ */ new Set([ + "background", + "cite", + "href", + "itemtype", + "longdesc", + "poster", + "src", + "xlink:href" + ]); + const SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i; + const allowedAttribute = (attribute, allowedAttributeList) => { + const attributeName = attribute.nodeName.toLowerCase(); + if (allowedAttributeList.includes(attributeName)) { + if (uriAttributes.has(attributeName)) { + return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue)); + } + return true; + } + return allowedAttributeList.filter((attributeRegex) => attributeRegex instanceof RegExp).some((regex) => regex.test(attributeName)); + }; + function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + if (sanitizeFunction && typeof sanitizeFunction === "function") { + return sanitizeFunction(unsafeHtml); + } + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, "text/html"); + const elements = Array.from(createdDocument.body.querySelectorAll("*")); + for (const element of elements) { + const elementName = element.nodeName.toLowerCase(); + if (!Object.keys(allowList).includes(elementName)) { + element.remove(); + continue; + } + const attributeList = Array.from(element.attributes); + const allowedAttributes = [...allowList["*"] || [], ...allowList[elementName] || []]; + for (const attribute of attributeList) { + if (!allowedAttribute(attribute, allowedAttributes)) { + element.removeAttribute(attribute.nodeName); + } + } + } + return createdDocument.body.innerHTML; + } + var __defProp$2 = Object.defineProperty; + var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols; + var __hasOwnProp$2 = Object.prototype.hasOwnProperty; + var __propIsEnum$2 = Object.prototype.propertyIsEnumerable; + var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __spreadValues$2 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$2.call(b, prop)) + __defNormalProp$2(a, prop, b[prop]); + if (__getOwnPropSymbols$2) + for (var prop of __getOwnPropSymbols$2(b)) { + if (__propIsEnum$2.call(b, prop)) + __defNormalProp$2(a, prop, b[prop]); + } + return a; + }; + const NAME$5 = "TemplateFactory"; + const Default$4 = { + allowList: DefaultAllowlist, + content: {}, + extraClass: "", + html: false, + sanitize: true, + sanitizeFn: null, + template: "
" + }; + const DefaultType$4 = { + allowList: "object", + content: "object", + extraClass: "(string|function)", + html: "boolean", + sanitize: "boolean", + sanitizeFn: "(null|function)", + template: "string" + }; + const DefaultContentType = { + entry: "(string|element|function|null)", + selector: "(string|element)" + }; + class TemplateFactory extends Config { + constructor(config) { + super(); + this._config = this._getConfig(config); + } + static get Default() { + return Default$4; + } + static get DefaultType() { + return DefaultType$4; + } + static get NAME() { + return NAME$5; + } + getContent() { + return Object.values(this._config.content).map((config) => this._resolvePossibleFunction(config)).filter(Boolean); + } + hasContent() { + return this.getContent().length > 0; + } + changeContent(content) { + this._checkContent(content); + this._config.content = __spreadValues$2(__spreadValues$2({}, this._config.content), content); + return this; + } + toHtml() { + const templateWrapper = document.createElement("div"); + templateWrapper.innerHTML = this._maybeSanitize(this._config.template); + for (const [selector, text] of Object.entries(this._config.content)) { + this._setContent(templateWrapper, text, selector); + } + const template = templateWrapper.children[0]; + const extraClass = this._resolvePossibleFunction(this._config.extraClass); + if (extraClass) { + template.classList.add(...extraClass.split(" ")); + } + return template; + } + _typeCheckConfig(config) { + super._typeCheckConfig(config); + this._checkContent(config.content); + } + _checkContent(arg) { + for (const [selector, content] of Object.entries(arg)) { + super._typeCheckConfig({ selector, entry: content }, DefaultContentType); + } + } + _setContent(template, content, selector) { + const templateElement = SelectorEngine.findOne(selector, template); + if (!templateElement) { + return; + } + content = this._resolvePossibleFunction(content); + if (!content) { + templateElement.remove(); + return; + } + if (isElement(content)) { + this._putElementInTemplate(getElement(content), templateElement); + return; + } + if (this._config.html) { + templateElement.innerHTML = this._maybeSanitize(content); + return; + } + templateElement.textContent = content; + } + _maybeSanitize(arg) { + return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg; + } + _resolvePossibleFunction(arg) { + return execute(arg, [void 0, this]); + } + _putElementInTemplate(element, templateElement) { + if (this._config.html) { + templateElement.innerHTML = ""; + templateElement.append(element); + return; + } + templateElement.textContent = element.textContent; + } + } + var __defProp$1 = Object.defineProperty; + var __defProps$1 = Object.defineProperties; + var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors; + var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols; + var __hasOwnProp$1 = Object.prototype.hasOwnProperty; + var __propIsEnum$1 = Object.prototype.propertyIsEnumerable; + var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __spreadValues$1 = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp$1.call(b, prop)) + __defNormalProp$1(a, prop, b[prop]); + if (__getOwnPropSymbols$1) + for (var prop of __getOwnPropSymbols$1(b)) { + if (__propIsEnum$1.call(b, prop)) + __defNormalProp$1(a, prop, b[prop]); + } + return a; + }; + var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b)); + const NAME$4 = "tooltip"; + const DISALLOWED_ATTRIBUTES = /* @__PURE__ */ new Set(["sanitize", "allowList", "sanitizeFn"]); + const CLASS_NAME_FADE$2 = "fade"; + const CLASS_NAME_MODAL = "modal"; + const CLASS_NAME_SHOW$2 = "show"; + const SELECTOR_TOOLTIP_INNER = ".tooltip-inner"; + const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; + const EVENT_MODAL_HIDE = "hide.bs.modal"; + const TRIGGER_HOVER = "hover"; + const TRIGGER_FOCUS = "focus"; + const TRIGGER_CLICK = "click"; + const TRIGGER_MANUAL = "manual"; + const EVENT_HIDE$2 = "hide"; + const EVENT_HIDDEN$2 = "hidden"; + const EVENT_SHOW$2 = "show"; + const EVENT_SHOWN$2 = "shown"; + const EVENT_INSERTED = "inserted"; + const EVENT_CLICK$1 = "click"; + const EVENT_FOCUSIN$1 = "focusin"; + const EVENT_FOCUSOUT$1 = "focusout"; + const EVENT_MOUSEENTER = "mouseenter"; + const EVENT_MOUSELEAVE = "mouseleave"; + const AttachmentMap = { + AUTO: "auto", + TOP: "top", + RIGHT: isRTL() ? "left" : "right", + BOTTOM: "bottom", + LEFT: isRTL() ? "right" : "left" + }; + const Default$3 = { + allowList: DefaultAllowlist, + animation: true, + boundary: "clippingParents", + container: false, + customClass: "", + delay: 0, + fallbackPlacements: ["top", "right", "bottom", "left"], + html: false, + offset: [0, 6], + placement: "top", + popperConfig: null, + sanitize: true, + sanitizeFn: null, + selector: false, + template: '', + title: "", + trigger: "hover focus" + }; + const DefaultType$3 = { + allowList: "object", + animation: "boolean", + boundary: "(string|element)", + container: "(string|element|boolean)", + customClass: "(string|function)", + delay: "(number|object)", + fallbackPlacements: "array", + html: "boolean", + offset: "(array|string|function)", + placement: "(string|function)", + popperConfig: "(null|object|function)", + sanitize: "boolean", + sanitizeFn: "(null|function)", + selector: "(string|boolean)", + template: "string", + title: "(string|element|function)", + trigger: "string" + }; + class Tooltip extends BaseComponent { + constructor(element, config) { + if (typeof Popper === "undefined") { + throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)"); + } + super(element, config); + this._isEnabled = true; + this._timeout = 0; + this._isHovered = null; + this._activeTrigger = {}; + this._popper = null; + this._templateFactory = null; + this._newContent = null; + this.tip = null; + this._hideModalHandler = null; + this._setListeners(); + if (!this._config.selector) { + this._fixTitle(); + } + } + static get Default() { + return Default$3; + } + static get DefaultType() { + return DefaultType$3; + } + static get NAME() { + return NAME$4; + } + enable() { + this._isEnabled = true; + } + disable() { + this._isEnabled = false; + } + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + toggle() { + if (!this._isEnabled) { + return; + } + if (this._isShown()) { + this._leave(); + return; + } + this._enter(); + } + dispose() { + clearTimeout(this._timeout); + EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + if (this._element.getAttribute("data-bs-original-title") || this._element.getAttribute("data-tblr-original-title")) { + this._element.setAttribute( + "title", + this._element.getAttribute("data-bs-original-title") || this._element.getAttribute("data-tblr-original-title") || "" + ); + } + this._disposePopper(); + super.dispose(); + } + show() { + if (this._element.style.display === "none") { + throw new Error("Please use show on visible elements"); + } + if (!(this._isWithContent() && this._isEnabled)) { + return; + } + const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2)); + const shadowRoot = findShadowRoot(this._element); + const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } + this._disposePopper(); + const tip = this._getTipElement(); + this._element.setAttribute("aria-describedby", tip.getAttribute("id")); + const { container } = this._config; + if (!this._element.ownerDocument.documentElement.contains(this.tip)) { + container.append(tip); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED)); + } + this._popper = this._createPopper(tip); + tip.classList.add(CLASS_NAME_SHOW$2); + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.on(element, "mouseover", noop); + } + } + const complete = () => { + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2)); + if (this._isHovered === false) { + this._leave(); + } + this._isHovered = false; + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + hide() { + if (!this._isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2)); + if (hideEvent.defaultPrevented) { + return; + } + const tip = this._getTipElement(); + tip.classList.remove(CLASS_NAME_SHOW$2); + if ("ontouchstart" in document.documentElement) { + for (const element of [].concat(...document.body.children)) { + EventHandler.off(element, "mouseover", noop); + } + } + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + this._isHovered = null; + const complete = () => { + if (this._isWithActiveTrigger()) { + return; + } + if (!this._isHovered) { + this._disposePopper(); + } + this._element.removeAttribute("aria-describedby"); + EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2)); + }; + this._queueCallback(complete, this.tip, this._isAnimated()); + } + update() { + if (this._popper) { + this._popper.update(); + } + } + _isWithContent() { + return Boolean(this._getTitle()); + } + _getTipElement() { + if (!this.tip) { + this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); + } + return this.tip; + } + _createTipElement(content) { + const tip = this._getTemplateFactory(content).toHtml(); + if (!tip) { + return null; + } + tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); + tip.classList.add(`bs-${this.constructor.NAME}-auto`); + const tipId = getUID(this.constructor.NAME).toString(); + tip.setAttribute("id", tipId); + if (this._isAnimated()) { + tip.classList.add(CLASS_NAME_FADE$2); + } + return tip; + } + setContent(content) { + this._newContent = content; + if (this._isShown()) { + this._disposePopper(); + this.show(); + } + } + _getTemplateFactory(content) { + if (this._templateFactory) { + this._templateFactory.changeContent(content); + } else { + this._templateFactory = new TemplateFactory(__spreadProps$1(__spreadValues$1({}, this._config), { + content, + extraClass: this._resolvePossibleFunction(this._config.customClass) + })); + } + return this._templateFactory; + } + _getContentForTemplate() { + return { + [SELECTOR_TOOLTIP_INNER]: this._getTitle() + }; + } + _getTitle() { + return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title") || this._element.getAttribute("data-tblr-original-title") || ""; + } + _initializeOnDelegatedTarget(event) { + return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); + } + _isAnimated() { + return this._config.animation || this.tip !== null && this.tip.classList.contains(CLASS_NAME_FADE$2); + } + _isShown() { + return this.tip !== null && this.tip.classList.contains(CLASS_NAME_SHOW$2); + } + _createPopper(tip) { + const placement = execute(this._config.placement, [this, tip, this._element]); + const attachment = AttachmentMap[placement.toUpperCase()]; + return createPopper(this._element, tip, this._getPopperConfig(attachment)); + } + _getOffset() { + const { offset: offset2 } = this._config; + if (typeof offset2 === "string") { + return offset2.split(",").map((value) => Number.parseInt(value, 10)); + } + if (typeof offset2 === "function") { + return (popperData) => offset2(popperData, this._element); + } + return offset2; + } + _resolvePossibleFunction(arg) { + return execute(arg, [this._element, this._element]); + } + _getPopperConfig(attachment) { + const defaultBsPopperConfig = { + placement: attachment, + modifiers: [ + { + name: "flip", + options: { + fallbackPlacements: this._config.fallbackPlacements + } + }, + { + name: "offset", + options: { + offset: this._getOffset() + } + }, + { + name: "preventOverflow", + options: { + boundary: this._config.boundary + } + }, + { + name: "arrow", + options: { + element: `.${this.constructor.NAME}-arrow` + } + }, + { + name: "preSetPlacement", + enabled: true, + phase: "beforeMain", + fn: (data) => { + this._getTipElement().setAttribute("data-popper-placement", data.state.placement); + } + } + ] + }; + const popperConfig = execute(this._config.popperConfig, [void 0, defaultBsPopperConfig]); + return __spreadValues$1(__spreadValues$1({}, defaultBsPopperConfig), typeof popperConfig === "object" && popperConfig !== null ? popperConfig : {}); + } + _setListeners() { + const triggers = this._config.trigger.split(" "); + for (const trigger of triggers) { + if (trigger === "click") { + EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK]); + context.toggle(); + }); + } else if (trigger !== TRIGGER_MANUAL) { + const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1); + const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1); + EventHandler.on(this._element, eventIn, this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === "focusin" ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + context._enter(); + }); + EventHandler.on(this._element, eventOut, this._config.selector, (event) => { + const context = this._initializeOnDelegatedTarget(event); + context._activeTrigger[event.type === "focusout" ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); + context._leave(); + }); + } + } + this._hideModalHandler = () => { + if (this._element) { + this.hide(); + } + }; + EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + } + _fixTitle() { + const title = this._element.getAttribute("title"); + if (!title) { + return; + } + if (!this._element.getAttribute("aria-label") && !this._element.textContent.trim()) { + this._element.setAttribute("aria-label", title); + } + this._element.setAttribute("data-bs-original-title", title); + this._element.removeAttribute("title"); + } + _enter() { + if (this._isShown() || this._isHovered) { + this._isHovered = true; + return; + } + this._isHovered = true; + this._setTimeout(() => { + if (this._isHovered) { + this.show(); + } + }, this._config.delay.show); + } + _leave() { + if (this._isWithActiveTrigger()) { + return; + } + this._isHovered = false; + this._setTimeout(() => { + if (!this._isHovered) { + this.hide(); + } + }, this._config.delay.hide); + } + _setTimeout(handler, timeout) { + clearTimeout(this._timeout); + this._timeout = setTimeout(handler, timeout); + } + _isWithActiveTrigger() { + return Object.values(this._activeTrigger).includes(true); + } + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this._element); + for (const dataAttribute of Object.keys(dataAttributes)) { + if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) { + delete dataAttributes[dataAttribute]; + } + } + config = __spreadValues$1(__spreadValues$1({}, dataAttributes), typeof config === "object" && config ? config : {}); + config = this._mergeConfigObj(config); + config = this._configAfterMerge(config); + this._typeCheckConfig(config); + return config; + } + _configAfterMerge(config) { + config.container = config.container === false ? document.body : getElement(config.container); + if (typeof config.delay === "number") { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + if (typeof config.title === "number") { + config.title = config.title.toString(); + } + if (typeof config.content === "number") { + config.content = config.content.toString(); + } + return config; + } + _getDelegateConfig() { + const config = {}; + for (const [key, value] of Object.entries(this._config)) { + if (this.constructor.Default[key] !== value) { + config[key] = value; + } + } + config.selector = false; + config.trigger = "manual"; + return config; + } + _disposePopper() { + if (this._popper) { + this._popper.destroy(); + this._popper = null; + } + if (this.tip) { + this.tip.remove(); + this.tip = null; + } + } + } + var __defProp = Object.defineProperty; + var __defProps = Object.defineProperties; + var __getOwnPropDescs = Object.getOwnPropertyDescriptors; + var __getOwnPropSymbols = Object.getOwnPropertySymbols; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __propIsEnum = Object.prototype.propertyIsEnumerable; + var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; + }; + var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); + const NAME$3 = "popover"; + const SELECTOR_TITLE = ".popover-header"; + const SELECTOR_CONTENT = ".popover-body"; + const Default$2 = __spreadProps(__spreadValues({}, Tooltip.Default), { + content: "", + offset: [0, 8], + placement: "right", + template: '', + trigger: "click" + }); + const DefaultType$2 = __spreadProps(__spreadValues({}, Tooltip.DefaultType), { + content: "(null|string|element|function)" + }); + class Popover extends Tooltip { + static get Default() { + return Default$2; + } + static get DefaultType() { + return DefaultType$2; + } + static get NAME() { + return NAME$3; + } + _isWithContent() { + return Boolean(this._getTitle() || this._getContent()); + } + _getContentForTemplate() { + return { + [SELECTOR_TITLE]: this._getTitle(), + [SELECTOR_CONTENT]: this._getContent() + }; + } + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + } + const NAME$2 = "scrollspy"; + const DATA_KEY$2 = "bs.scrollspy"; + const EVENT_KEY$2 = `.${DATA_KEY$2}`; + const DATA_API_KEY = ".data-api"; + const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; + const EVENT_CLICK = `click${EVENT_KEY$2}`; + const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`; + const CLASS_NAME_DROPDOWN_ITEM = "dropdown-item"; + const CLASS_NAME_ACTIVE$1 = "active"; + const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"], [data-tblr-spy="scroll"]'; + const SELECTOR_TARGET_LINKS = "[href]"; + const SELECTOR_NAV_LIST_GROUP = ".nav, .list-group"; + const SELECTOR_NAV_LINKS = ".nav-link"; + const SELECTOR_NAV_ITEMS = ".nav-item"; + const SELECTOR_LIST_ITEMS = ".list-group-item"; + const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`; + const SELECTOR_DROPDOWN = ".dropdown"; + const SELECTOR_DROPDOWN_TOGGLE$1 = ".dropdown-toggle"; + const Default$1 = { + offset: null, + rootMargin: "0px 0px -25%", + smoothScroll: false, + target: null, + threshold: [0.1, 0.5, 1] + }; + const DefaultType$1 = { + offset: "(number|null)", + rootMargin: "string", + smoothScroll: "boolean", + target: "element", + threshold: "array" + }; + class ScrollSpy extends BaseComponent { + constructor(element, config) { + super(element, config); + this._targetLinks = /* @__PURE__ */ new Map(); + this._observableSections = /* @__PURE__ */ new Map(); + this._rootElement = getComputedStyle(this._element).overflowY === "visible" ? null : this._element; + this._activeTarget = null; + this._observer = null; + this._previousScrollData = { + visibleEntryTop: 0, + parentScrollTop: 0 + }; + this.refresh(); + } + static get Default() { + return Default$1; + } + static get DefaultType() { + return DefaultType$1; + } + static get NAME() { + return NAME$2; + } + refresh() { + this._initializeTargetsAndObservables(); + this._maybeEnableSmoothScroll(); + if (this._observer) { + this._observer.disconnect(); + } else { + this._observer = this._getNewObserver(); + } + for (const section of this._observableSections.values()) { + this._observer.observe(section); + } + } + dispose() { + this._observer.disconnect(); + super.dispose(); + } + _configAfterMerge(config) { + config.target = getElement(config.target) || document.body; + config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin; + if (typeof config.threshold === "string") { + config.threshold = config.threshold.split(",").map((value) => Number.parseFloat(value)); + } + return config; + } + _maybeEnableSmoothScroll() { + if (!this._config.smoothScroll) { + return; + } + EventHandler.off(this._config.target, EVENT_CLICK); + EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, (event) => { + const observableSection = this._observableSections.get(event.target.hash); + if (observableSection) { + event.preventDefault(); + const root = this._rootElement || window; + const height = observableSection.offsetTop - this._element.offsetTop; + if ("scrollTo" in root) { + root.scrollTo({ top: height, behavior: "smooth" }); + return; + } + root.scrollTop = height; + } + }); + } + _getNewObserver() { + const options = { + root: this._rootElement, + threshold: this._config.threshold, + rootMargin: this._config.rootMargin + }; + return new IntersectionObserver((entries) => this._observerCallback(entries), options); + } + _observerCallback(entries) { + const targetElement = (entry) => this._targetLinks.get(`#${entry.target.id}`); + const activate = (entry) => { + this._previousScrollData.visibleEntryTop = entry.target.offsetTop; + this._process(targetElement(entry)); + }; + const parentScrollTop = (this._rootElement || document.documentElement).scrollTop; + const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop; + this._previousScrollData.parentScrollTop = parentScrollTop; + for (const entry of entries) { + if (!entry.isIntersecting) { + this._activeTarget = null; + this._clearActiveClass(targetElement(entry)); + continue; + } + const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; + if (userScrollsDown && entryIsLowerThanPrevious) { + activate(entry); + if (!parentScrollTop) { + return; + } + continue; + } + if (!userScrollsDown && !entryIsLowerThanPrevious) { + activate(entry); + } + } + } + _initializeTargetsAndObservables() { + this._targetLinks = /* @__PURE__ */ new Map(); + this._observableSections = /* @__PURE__ */ new Map(); + const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target); + for (const anchor of targetLinks) { + if (!anchor.hash || isDisabled(anchor)) { + continue; + } + const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element); + if (isVisible(observableSection)) { + this._targetLinks.set(decodeURI(anchor.hash), anchor); + this._observableSections.set(anchor.hash, observableSection); + } + } + } + _process(target) { + if (this._activeTarget === target) { + return; + } + this._clearActiveClass(this._config.target); + this._activeTarget = target; + target.classList.add(CLASS_NAME_ACTIVE$1); + this._activateParents(target); + EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target }); + } + _activateParents(target) { + if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { + SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1); + return; + } + for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) { + for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) { + item.classList.add(CLASS_NAME_ACTIVE$1); + } + } + } + _clearActiveClass(parent) { + parent.classList.remove(CLASS_NAME_ACTIVE$1); + const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent); + for (const node of activeNodes) { + node.classList.remove(CLASS_NAME_ACTIVE$1); + } + } + } + EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => { + for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) { + ScrollSpy.getOrCreateInstance(spy); + } + }); + const NAME$1 = "tab"; + const DATA_KEY$1 = "bs.tab"; + const EVENT_KEY$1 = `.${DATA_KEY$1}`; + const EVENT_HIDE$1 = `hide${EVENT_KEY$1}`; + const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$1}`; + const EVENT_SHOW$1 = `show${EVENT_KEY$1}`; + const EVENT_SHOWN$1 = `shown${EVENT_KEY$1}`; + const EVENT_CLICK_DATA_API = `click${EVENT_KEY$1}`; + const EVENT_KEYDOWN = `keydown${EVENT_KEY$1}`; + const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}`; + const ARROW_LEFT_KEY = "ArrowLeft"; + const ARROW_RIGHT_KEY = "ArrowRight"; + const ARROW_UP_KEY = "ArrowUp"; + const ARROW_DOWN_KEY = "ArrowDown"; + const HOME_KEY = "Home"; + const END_KEY = "End"; + const CLASS_NAME_ACTIVE = "active"; + const CLASS_NAME_FADE$1 = "fade"; + const CLASS_NAME_SHOW$1 = "show"; + const CLASS_DROPDOWN = "dropdown"; + const SELECTOR_DROPDOWN_TOGGLE = ".dropdown-toggle"; + const SELECTOR_DROPDOWN_MENU = ".dropdown-menu"; + const NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`; + const SELECTOR_TAB_PANEL = '.list-group, .nav, [role="tablist"]'; + const SELECTOR_OUTER = ".nav-item, .list-group-item"; + const SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`; + const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"], [data-tblr-toggle="tab"], [data-tblr-toggle="pill"], [data-tblr-toggle="list"]'; + const SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`; + const SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle="list"]`; + class Tab extends BaseComponent { + constructor(element) { + super(element); + this._parent = this._element.closest(SELECTOR_TAB_PANEL); + if (!this._parent) { + return; + } + this._setInitialAttributes(this._parent, this._getChildren()); + EventHandler.on(this._element, EVENT_KEYDOWN, (event) => this._keydown(event)); + } + static get NAME() { + return NAME$1; + } + show() { + const innerElem = this._element; + if (this._elemIsActive(innerElem)) { + return; + } + const active = this._getActiveElem(); + const hideEvent = active ? EventHandler.trigger(active, EVENT_HIDE$1, { relatedTarget: innerElem }) : null; + const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW$1, { relatedTarget: active }); + if ((showEvent == null ? void 0 : showEvent.defaultPrevented) || (hideEvent == null ? void 0 : hideEvent.defaultPrevented)) { + return; + } + this._deactivate(active, innerElem); + this._activate(innerElem, active); + } + _activate(element, relatedElem) { + if (!element) { + return; + } + element.classList.add(CLASS_NAME_ACTIVE); + this._activate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute("role") !== "tab") { + element.classList.add(CLASS_NAME_SHOW$1); + return; + } + element.removeAttribute("tabindex"); + element.setAttribute("aria-selected", "true"); + this._toggleDropDown(element, true); + EventHandler.trigger(element, EVENT_SHOWN$1, { + relatedTarget: relatedElem + }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _deactivate(element, relatedElem) { + if (!element) { + return; + } + element.classList.remove(CLASS_NAME_ACTIVE); + element.blur(); + this._deactivate(SelectorEngine.getElementFromSelector(element)); + const complete = () => { + if (element.getAttribute("role") !== "tab") { + element.classList.remove(CLASS_NAME_SHOW$1); + return; + } + element.setAttribute("aria-selected", "false"); + element.setAttribute("tabindex", "-1"); + this._toggleDropDown(element, false); + EventHandler.trigger(element, EVENT_HIDDEN$1, { relatedTarget: relatedElem }); + }; + this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); + } + _keydown(event) { + if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key)) { + return; + } + event.stopPropagation(); + event.preventDefault(); + const children = this._getChildren().filter((element) => !isDisabled(element)); + let nextActiveElement; + if ([HOME_KEY, END_KEY].includes(event.key)) { + nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]; + } else { + const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key); + nextActiveElement = getNextActiveElement(children, event.target, isNext, true); + } + if (nextActiveElement) { + nextActiveElement.focus({ preventScroll: true }); + Tab.getOrCreateInstance(nextActiveElement).show(); + } + } + _getChildren() { + return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent); + } + _getActiveElem() { + return this._getChildren().find((child) => this._elemIsActive(child)) || null; + } + _setInitialAttributes(parent, children) { + this._setAttributeIfNotExists(parent, "role", "tablist"); + for (const child of children) { + this._setInitialAttributesOnChild(child); + } + } + _setInitialAttributesOnChild(child) { + child = this._getInnerElement(child); + const isActive = this._elemIsActive(child); + const outerElem = this._getOuterElement(child); + child.setAttribute("aria-selected", String(isActive)); + if (outerElem !== child) { + this._setAttributeIfNotExists(outerElem, "role", "presentation"); + } + if (!isActive) { + child.setAttribute("tabindex", "-1"); + } + this._setAttributeIfNotExists(child, "role", "tab"); + this._setInitialAttributesOnTargetPanel(child); + } + _setInitialAttributesOnTargetPanel(child) { + const target = SelectorEngine.getElementFromSelector(child); + if (!target) { + return; + } + this._setAttributeIfNotExists(target, "role", "tabpanel"); + if (child.id) { + this._setAttributeIfNotExists(target, "aria-labelledby", `${child.id}`); + } + } + _toggleDropDown(element, open) { + const outerElem = this._getOuterElement(element); + if (!outerElem.classList.contains(CLASS_DROPDOWN)) { + return; + } + const toggle = (selector, className) => { + const el = SelectorEngine.findOne(selector, outerElem); + if (el) { + el.classList.toggle(className, open); + } + }; + toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE); + toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW$1); + outerElem.setAttribute("aria-expanded", String(open)); + } + _setAttributeIfNotExists(element, attribute, value) { + if (!element.hasAttribute(attribute)) { + element.setAttribute(attribute, value); + } + } + _elemIsActive(elem) { + return elem.classList.contains(CLASS_NAME_ACTIVE); + } + _getInnerElement(elem) { + return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem); + } + _getOuterElement(elem) { + return elem.closest(SELECTOR_OUTER) || elem; + } + } + EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function(event) { + if (["A", "AREA"].includes(this.tagName)) { + event.preventDefault(); + } + if (isDisabled(this)) { + return; + } + Tab.getOrCreateInstance(this).show(); + }); + EventHandler.on(window, EVENT_LOAD_DATA_API, () => { + for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) { + Tab.getOrCreateInstance(element); + } + }); + const NAME = "toast"; + const DATA_KEY = "bs.toast"; + const EVENT_KEY = `.${DATA_KEY}`; + const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`; + const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`; + const EVENT_FOCUSIN = `focusin${EVENT_KEY}`; + const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`; + const EVENT_HIDE = `hide${EVENT_KEY}`; + const EVENT_HIDDEN = `hidden${EVENT_KEY}`; + const EVENT_SHOW = `show${EVENT_KEY}`; + const EVENT_SHOWN = `shown${EVENT_KEY}`; + const CLASS_NAME_FADE = "fade"; + const CLASS_NAME_HIDE = "hide"; + const CLASS_NAME_SHOW = "show"; + const CLASS_NAME_SHOWING = "showing"; + const DefaultType = { + animation: "boolean", + autohide: "boolean", + delay: "number" + }; + const Default = { + animation: true, + autohide: true, + delay: 5e3 + }; + class Toast extends BaseComponent { + constructor(element, config) { + super(element, config); + this._timeout = null; + this._hasMouseInteraction = false; + this._hasKeyboardInteraction = false; + this._setListeners(); + } + static get Default() { + return Default; + } + static get DefaultType() { + return DefaultType; + } + static get NAME() { + return NAME; + } + show() { + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW); + if (showEvent == null ? void 0 : showEvent.defaultPrevented) { + return; + } + this._clearTimeout(); + if (this._config.animation) { + this._element.classList.add(CLASS_NAME_FADE); + } + const complete = () => { + this._element.classList.remove(CLASS_NAME_SHOWING); + EventHandler.trigger(this._element, EVENT_SHOWN); + this._maybeScheduleHide(); + }; + this._element.classList.remove(CLASS_NAME_HIDE); + reflow(this._element); + this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + hide() { + if (!this.isShown()) { + return; + } + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE); + if (hideEvent == null ? void 0 : hideEvent.defaultPrevented) { + return; + } + const complete = () => { + this._element.classList.add(CLASS_NAME_HIDE); + this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW); + EventHandler.trigger(this._element, EVENT_HIDDEN); + }; + this._element.classList.add(CLASS_NAME_SHOWING); + this._queueCallback(complete, this._element, this._config.animation); + } + dispose() { + this._clearTimeout(); + if (this.isShown()) { + this._element.classList.remove(CLASS_NAME_SHOW); + } + super.dispose(); + } + isShown() { + return this._element.classList.contains(CLASS_NAME_SHOW); + } + _maybeScheduleHide() { + if (!this._config.autohide) { + return; + } + if (this._hasMouseInteraction || this._hasKeyboardInteraction) { + return; + } + this._timeout = setTimeout(() => { + this.hide(); + }, this._config.delay); + } + _onInteraction(event, isInteracting) { + switch (event.type) { + case "mouseover": + case "mouseout": { + this._hasMouseInteraction = isInteracting; + break; + } + case "focusin": + case "focusout": { + this._hasKeyboardInteraction = isInteracting; + break; + } + } + if (isInteracting) { + this._clearTimeout(); + return; + } + const nextElement = event.relatedTarget; + if (this._element === nextElement || this._element.contains(nextElement)) { + return; + } + this._maybeScheduleHide(); + } + _setListeners() { + EventHandler.on(this._element, EVENT_MOUSEOVER, (event) => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_MOUSEOUT, (event) => this._onInteraction(event, false)); + EventHandler.on(this._element, EVENT_FOCUSIN, (event) => this._onInteraction(event, true)); + EventHandler.on(this._element, EVENT_FOCUSOUT, (event) => this._onInteraction(event, false)); + } + _clearTimeout() { + clearTimeout(this._timeout); + this._timeout = null; + } + } + enableDismissTrigger(Toast); + const bootstrap = { + Alert, + Button, + Carousel, + Collapse, + Dropdown, + Modal, + Offcanvas, + Popover, + ScrollSpy, + Tab, + Toast, + Tooltip + }; + const dropdownTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')); + dropdownTriggerList.map(function(dropdownTriggerEl) { + const options = { + boundary: dropdownTriggerEl.getAttribute("data-bs-boundary") === "viewport" ? document.querySelector(".btn") : "clippingParents" + }; + return new Dropdown(dropdownTriggerEl, options); + }); + const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); + tooltipTriggerList.map(function(tooltipTriggerEl) { + var _a; + const options = { + delay: { show: 50, hide: 50 }, + html: tooltipTriggerEl.getAttribute("data-bs-html") === "true", + placement: (_a = tooltipTriggerEl.getAttribute("data-bs-placement")) != null ? _a : "auto" + }; + return new Tooltip(tooltipTriggerEl, options); + }); + const popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); + popoverTriggerList.map(function(popoverTriggerEl) { + var _a; + const options = { + delay: { show: 50, hide: 50 }, + html: popoverTriggerEl.getAttribute("data-bs-html") === "true", + placement: (_a = popoverTriggerEl.getAttribute("data-bs-placement")) != null ? _a : "auto" + }; + return new Popover(popoverTriggerEl, options); + }); + const switchesTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')); + switchesTriggerList.map(function(switchTriggerEl) { + switchTriggerEl.addEventListener("click", (e) => { + e.stopPropagation(); + switchTriggerEl.classList.toggle("active"); + }); + }); + const EnableActivationTabsFromLocationHash = () => { + const locationHash = window.location.hash; + if (locationHash) { + const tabsList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]')); + const matchedTabs = tabsList.filter((tab) => tab.hash === locationHash); + matchedTabs.map((tab) => { + new Tab(tab).show(); + }); + } + }; + EnableActivationTabsFromLocationHash(); + const toastsTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')); + toastsTriggerList.map(function(toastTriggerEl) { + const target = toastTriggerEl.getAttribute("data-bs-target"); + if (target === null) { + return; + } + const toastEl = new Toast(target); + toastTriggerEl.addEventListener("click", () => { + toastEl.show(); + }); + }); + const sortableElements = document.querySelectorAll("[data-sortable]"); + if (sortableElements.length) { + sortableElements.forEach(function(element) { + let options = {}; + try { + const rawOptions = element.getAttribute("data-sortable"); + options = rawOptions ? JSON.parse(rawOptions) : {}; + } catch (e) { + } + if (window.Sortable) { + new window.Sortable(element, options); + } + }); + } + const prefix = "tblr-"; + const hexToRgba = (hex, opacity) => { + const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); + return result ? `rgba(${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}, ${opacity})` : null; + }; + const getColor = (color, opacity = 1) => { + const c = getComputedStyle(document.body).getPropertyValue(`--${prefix}${color}`).trim(); + if (opacity !== 1) { + return hexToRgba(c, opacity); + } + return c; + }; + const tabler = /* @__PURE__ */ Object.freeze({ + __proto__: null, + getColor, + hexToRgba, + prefix + }); + exports2.Alert = Alert; + exports2.Button = Button; + exports2.Carousel = Carousel; + exports2.Collapse = Collapse; + exports2.Dropdown = Dropdown; + exports2.Modal = Modal; + exports2.Offcanvas = Offcanvas; + exports2.Popover = Popover; + exports2.Popper = Popper; + exports2.ScrollSpy = ScrollSpy; + exports2.Tab = Tab; + exports2.Toast = Toast; + exports2.Tooltip = Tooltip; + exports2.bootstrap = bootstrap; + exports2.tabler = tabler; +})); +//# sourceMappingURL=tabler.js.map diff --git a/storage/public/dist/js/tabler.js.map b/storage/public/dist/js/tabler.js.map new file mode 100644 index 0000000..b016b6c --- /dev/null +++ b/storage/public/dist/js/tabler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tabler.js","sources":["../../js/src/autosize.ts","../../js/src/countup.ts","../../js/src/input-mask.ts","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/enums.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/math.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/userAgent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/within.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getVariation.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/flip.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/hide.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/offset.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/debounce.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/createPopper.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/popper-lite.js","../../../node_modules/.pnpm/@popperjs+core@2.11.8/node_modules/@popperjs/core/lib/popper.js","../../js/src/bootstrap/dom/data.ts","../../js/src/bootstrap/dom/event-handler.ts","../../js/src/bootstrap/dom/manipulator.ts","../../js/src/bootstrap/util/index.ts","../../js/src/bootstrap/util/config.ts","../../js/src/bootstrap/base-component.ts","../../js/src/bootstrap/dom/selector-engine.ts","../../js/src/bootstrap/util/component-functions.ts","../../js/src/bootstrap/alert.ts","../../js/src/bootstrap/button.ts","../../js/src/bootstrap/util/swipe.ts","../../js/src/bootstrap/carousel.ts","../../js/src/bootstrap/collapse.ts","../../js/src/bootstrap/dropdown.ts","../../js/src/bootstrap/util/backdrop.ts","../../js/src/bootstrap/util/focustrap.ts","../../js/src/bootstrap/util/scrollbar.ts","../../js/src/bootstrap/modal.ts","../../js/src/bootstrap/offcanvas.ts","../../js/src/bootstrap/util/sanitizer.ts","../../js/src/bootstrap/util/template-factory.ts","../../js/src/bootstrap/tooltip.ts","../../js/src/bootstrap/popover.ts","../../js/src/bootstrap/scrollspy.ts","../../js/src/bootstrap/tab.ts","../../js/src/bootstrap/toast.ts","../../js/src/bootstrap.ts","../../js/src/dropdown.ts","../../js/src/tooltip.ts","../../js/src/popover.ts","../../js/src/switch-icon.ts","../../js/src/tab.ts","../../js/src/toast.ts","../../js/src/sortable.ts","../../js/src/tabler.ts"],"sourcesContent":["// Autosize plugin\nconst autosizeElements: NodeListOf = document.querySelectorAll('[data-bs-toggle=\"autosize\"]')\n\nif (autosizeElements.length) {\n autosizeElements.forEach(function (element: HTMLElement) {\n if (window.autosize) {\n window.autosize(element)\n }\n })\n}\n","const countupElements: NodeListOf = document.querySelectorAll('[data-countup]')\n\nif (countupElements.length) {\n countupElements.forEach(function (element: HTMLElement) {\n let options: Record = {}\n try {\n const dataOptions = element.getAttribute('data-countup') ? JSON.parse(element.getAttribute('data-countup')!) : {}\n options = Object.assign(\n {\n enableScrollSpy: true,\n },\n dataOptions,\n )\n } catch (error) {\n // ignore invalid JSON\n }\n\n const value = parseInt(element.innerHTML, 10)\n\n if (window.countUp && window.countUp.CountUp) {\n const countUp = new window.countUp.CountUp(element, value, options)\n if (!countUp.error) {\n countUp.start()\n }\n }\n })\n}\n","// Input mask plugin\n\nconst maskElementList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-mask]'))\nmaskElementList.map(function (maskEl: HTMLElement) {\n window.IMask &&\n new window.IMask(maskEl, {\n mask: maskEl.dataset.mask,\n lazy: maskEl.dataset['mask-visible'] === 'true',\n })\n})\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst elementMap = new Map>()\n\nconst Data = {\n set(element: HTMLElement, key: string, instance: object): void {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)!\n\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element: HTMLElement, key: string): T | null {\n if (elementMap.has(element)) {\n return (elementMap.get(element)!.get(key) as T) || null\n }\n\n return null\n },\n\n remove(element: HTMLElement, key: string): void {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)!\n\n instanceMap.delete(key)\n\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n\nexport default Data\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\ntype EventCallback = (this: EventTarget, ...args: unknown[]) => void\n\ninterface BootstrapHandler {\n (event: Event): void\n oneOff?: boolean\n delegationSelector?: string | null\n callable?: EventCallback\n uidEvent?: string | number\n}\n\ninterface EventableElement extends EventTarget {\n uidEvent?: string | number\n}\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry: Record>> = {}\nlet uidEvent = 1\nconst customEvents: Record = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\nfunction makeEventUid(element: EventableElement | EventCallback, uid?: string): string | number {\n return (uid && `${uid}::${uidEvent++}`) || (element as EventableElement).uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element: EventableElement): Record> {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element: EventTarget, fn: EventCallback): BootstrapHandler {\n return function handler(event: Event) {\n hydrateObj(event, { delegateTarget: element })\n\n if ((handler as BootstrapHandler).oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n } as BootstrapHandler\n}\n\nfunction bootstrapDelegationHandler(element: EventTarget, selector: string, fn: EventCallback): BootstrapHandler {\n return function handler(this: EventTarget, event: Event) {\n const domElements = (element as HTMLElement).querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = (target as HTMLElement).parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if ((handler as BootstrapHandler).oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n } as BootstrapHandler\n}\n\nfunction findHandler(\n events: Record,\n callable: EventCallback,\n delegationSelector: string | null = null\n): BootstrapHandler | undefined {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(\n originalTypeEvent: string,\n handler: string | EventCallback | undefined,\n delegationFunction: EventCallback | undefined\n): [boolean, EventCallback, string] {\n const isDelegated = typeof handler === 'string'\n const callable = isDelegated ? delegationFunction! : (handler || delegationFunction)!\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(\n element: EventTarget | null,\n originalTypeEvent: string,\n handler: string | EventCallback | undefined,\n delegationFunction: EventCallback | undefined,\n oneOff: boolean\n): void {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n if (originalTypeEvent in customEvents) {\n const wrapFunction = (fn: EventCallback): EventCallback => {\n return function (this: EventTarget, event: unknown) {\n const evt = event as MouseEvent & { delegateTarget: HTMLElement }\n if (!evt.relatedTarget || (evt.relatedTarget !== evt.delegateTarget && !evt.delegateTarget.contains(evt.relatedTarget as Node))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler as string : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn: BootstrapHandler = isDelegated ?\n bootstrapDelegationHandler(element, handler as string, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler as string : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(\n element: EventTarget,\n events: Record>,\n typeEvent: string,\n handler: EventCallback,\n delegationSelector?: string | null\n): void {\n const fn = findHandler(events[typeEvent], handler, delegationSelector ?? null)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent!]\n}\n\nfunction removeNamespacedHandlers(\n element: EventTarget,\n events: Record>,\n typeEvent: string,\n namespace: string\n): void {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable!, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event: string): string {\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element: EventTarget | null, event: string, handler: string | EventCallback, delegationFunction?: EventCallback): void {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element: EventTarget | null, event: string, handler: string | EventCallback, delegationFunction?: EventCallback): void {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element: EventTarget | null, originalTypeEvent: string, handler?: string | EventCallback, delegationFunction?: EventCallback): void {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler as string : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable!, event.delegationSelector)\n }\n }\n },\n\n trigger(element: EventTarget | null, event: string, args?: Record): Event | null {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n\n element.dispatchEvent(evt)\n\n return evt\n }\n}\n\nfunction hydrateObj(obj: T, meta: Record = {}): T {\n for (const [key, value] of Object.entries(meta)) {\n try {\n (obj as Record)[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\ntype DataValue = string | number | boolean | null | Record\n\nfunction normalizeData(value: string): DataValue {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key: string): string {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst PREFIXES = ['tblr', 'bs'] as const\n\nconst Manipulator = {\n setDataAttribute(element: HTMLElement, key: string, value: string): void {\n element.setAttribute(`data-tblr-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element: HTMLElement, key: string): void {\n for (const prefix of PREFIXES) {\n element.removeAttribute(`data-${prefix}-${normalizeDataKey(key)}`)\n }\n },\n\n getDataAttributes(element: HTMLElement | null): Record {\n if (!element) {\n return {}\n }\n\n const attributes: Record = {}\n\n for (const prefix of PREFIXES) {\n const keys = Object.keys(element.dataset).filter(key => key.startsWith(prefix) && !key.startsWith(`${prefix}Config`))\n\n for (const key of keys) {\n let pureKey = key.replace(new RegExp(`^${prefix}`), '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n if (!(pureKey in attributes)) {\n attributes[pureKey] = normalizeData(element.dataset[key]!)\n }\n }\n }\n\n return attributes\n },\n\n getDataAttribute(element: HTMLElement, key: string): DataValue {\n for (const prefix of PREFIXES) {\n const value = element.getAttribute(`data-${prefix}-${normalizeDataKey(key)}`)\n if (value !== null) {\n return normalizeData(value)\n }\n }\n\n return null\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\nconst parseSelector = (selector: string): string => {\n if (selector && window.CSS && window.CSS.escape) {\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\nconst toType = (object: unknown): string => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)![1].toLowerCase()\n}\n\nconst getUID = (prefix: string): string => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = (element: HTMLElement): number => {\n if (!element) {\n return 0\n }\n\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = (element: HTMLElement): void => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = (object: unknown): object is HTMLElement => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n return typeof (object as HTMLElement).nodeType !== 'undefined'\n}\n\nconst getElement = (object: unknown): HTMLElement | null => {\n if (isElement(object)) {\n return object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = (element: HTMLElement): boolean => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = (element: HTMLElement | null | undefined): boolean => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if ('disabled' in element && typeof element.disabled !== 'undefined') {\n return Boolean(element.disabled)\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = (element: Node): ShadowRoot | null => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = (): void => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = (element: HTMLElement): void => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst isRTL = (): boolean => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback: unknown, args: unknown[] = [], defaultValue: unknown = possibleCallback): unknown => {\n return typeof possibleCallback === 'function' ? possibleCallback.call(args[0], ...args.slice(1)) : defaultValue\n}\n\nconst executeAfterTransition = (callback: () => void, transitionElement: HTMLElement, waitForTransition = true): void => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }: Event): void => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\nconst getNextActiveElement = (list: T[], activeElement: T, shouldGetNext: boolean, isCycleAllowed: boolean): T => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\nimport type { ComponentConfig, ComponentConfigType, ConfigStatic } from '../types'\n\nclass Config {\n static get Default(): ComponentConfig {\n return {}\n }\n\n static get DefaultType(): ComponentConfigType {\n return {}\n }\n\n static get NAME(): string {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config?: ComponentConfig): ComponentConfig {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n return config\n }\n\n _mergeConfigObj(config?: ComponentConfig, element?: HTMLElement): ComponentConfig {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element!, 'config') : {}\n const ctor = this.constructor as unknown as ConfigStatic\n\n return {\n ...ctor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element!) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config: ComponentConfig, configTypes?: ComponentConfigType): void {\n const ctor = this.constructor as unknown as ConfigStatic\n const types = configTypes || ctor.DefaultType\n\n for (const [property, expectedTypes] of Object.entries(types)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${ctor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config'\nimport { executeAfterTransition, getElement } from './util/index.js'\nimport type { BaseComponentStatic, ComponentConfig, ElementSelector } from './types'\n\nconst VERSION = '5.3.8'\n\nclass BaseComponent extends Config {\n _element!: HTMLElement\n _config!: ComponentConfig\n\n constructor(element: ElementSelector, config?: ComponentConfig) {\n super()\n\n const resolved = getElement(element)\n if (!resolved) {\n return\n }\n\n this._element = resolved\n this._config = this._getConfig(config)\n\n const ctor = this.constructor as unknown as BaseComponentStatic\n Data.set(this._element, ctor.DATA_KEY, this)\n }\n\n dispose(): void {\n const ctor = this.constructor as unknown as BaseComponentStatic\n Data.remove(this._element, ctor.DATA_KEY)\n EventHandler.off(this._element, ctor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n (this as Record)[propertyName] = null\n }\n }\n\n _queueCallback(callback: () => void, element: HTMLElement, isAnimated = true): void {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config?: ComponentConfig): ComponentConfig {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n static getInstance(element: ElementSelector): BaseComponent | null {\n return Data.get(getElement(element)!, this.DATA_KEY)\n }\n\n static getOrCreateInstance(element: ElementSelector, config: ComponentConfig = {}): BaseComponent {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION(): string {\n return VERSION\n }\n\n static get DATA_KEY(): string {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY(): string {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name: string): string {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index'\n\nconst getSelector = (element: HTMLElement): string | null => {\n let selector = element.getAttribute('data-tblr-target') || element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector: string, element: Element = document.documentElement): HTMLElement[] {\n return Array.from(element.querySelectorAll(selector))\n },\n\n findOne(selector: string, element: Element = document.documentElement): HTMLElement | null {\n return element.querySelector(selector)\n },\n\n children(element: HTMLElement, selector: string): HTMLElement[] {\n return Array.from(element.children).filter(child => child.matches(selector)) as HTMLElement[]\n },\n\n parents(element: HTMLElement, selector: string): HTMLElement[] {\n const parents: HTMLElement[] = []\n let ancestor = element.parentNode && (element.parentNode as HTMLElement).closest(selector)\n\n while (ancestor) {\n parents.push(ancestor as HTMLElement)\n ancestor = ancestor.parentNode && (ancestor.parentNode as HTMLElement).closest(selector)\n }\n\n return parents\n },\n\n prev(element: HTMLElement, selector: string): HTMLElement[] {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous as HTMLElement]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element: HTMLElement, selector: string): HTMLElement[] {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next as HTMLElement]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element: HTMLElement): HTMLElement[] {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element: HTMLElement): string | null {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element: HTMLElement): HTMLElement | null {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element: HTMLElement): HTMLElement[] {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index'\n\ninterface DismissibleComponent {\n EVENT_KEY: string\n NAME: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getOrCreateInstance(element: HTMLElement | string | null): any\n}\n\nconst enableDismissTrigger = (component: DismissibleComponent, method = 'hide'): void => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"], [data-tblr-dismiss=\"${name}\"]`, function (this: HTMLElement, event: Event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions'\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nclass Alert extends BaseComponent {\n static get NAME(): string {\n return NAME\n }\n\n close(): void {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent?.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n _destroyElement(): void {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n}\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler.js'\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"], [data-tblr-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nclass Button extends BaseComponent {\n static get NAME(): string {\n return NAME\n }\n\n toggle(): void {\n this._element.setAttribute('aria-pressed', String(this._element.classList.toggle(CLASS_NAME_ACTIVE)))\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, (event: Event) => {\n event.preventDefault()\n\n const target = (event.target as HTMLElement)?.closest(SELECTOR_DATA_TOGGLE) as HTMLElement | null\n if (!target) {\n return\n }\n\n const data = Button.getOrCreateInstance(target) as Button\n data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config'\nimport { execute } from './index'\nimport type { ComponentConfig, ComponentConfigType } from '../types'\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\ninterface SwipeConfig {\n endCallback: (() => void) | null\n leftCallback: (() => void) | null\n rightCallback: (() => void) | null\n}\n\nconst Default: SwipeConfig = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType: ComponentConfigType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\nclass Swipe extends Config {\n declare _config: SwipeConfig & ComponentConfig\n _element: HTMLElement\n _deltaX: number\n _supportPointerEvents: boolean\n\n constructor(element: HTMLElement, config?: ComponentConfig) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config) as SwipeConfig & ComponentConfig\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n dispose(): void {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n _start(event: Event): void {\n if (!this._supportPointerEvents) {\n this._deltaX = (event as TouchEvent).touches[0].clientX\n return\n }\n\n if (this._eventIsPointerPenTouch(event as PointerEvent)) {\n this._deltaX = (event as PointerEvent).clientX\n }\n }\n\n _end(event: Event): void {\n if (this._eventIsPointerPenTouch(event as PointerEvent)) {\n this._deltaX = (event as PointerEvent).clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event: Event): void {\n this._deltaX = (event as TouchEvent).touches && (event as TouchEvent).touches.length > 1 ?\n 0 :\n (event as TouchEvent).touches[0].clientX - this._deltaX\n }\n\n _handleSwipe(): void {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents(): void {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, (event: Event) => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, (event: Event) => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, (event: Event) => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, (event: Event) => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, (event: Event) => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event: PointerEvent): boolean {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n static isSupported(): boolean {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport {\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index'\nimport Swipe from './util/swipe'\nimport type { ComponentConfig, ComponentConfigType } from './types'\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to], [data-tblr-slide], [data-tblr-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"], [data-tblr-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION: Record = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default: ComponentConfig = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType: ComponentConfigType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\nclass Carousel extends BaseComponent {\n _interval: ReturnType | null\n _activeElement: HTMLElement | null\n _isSliding: boolean\n touchTimeout: ReturnType | null\n _swipeHelper: Swipe | null\n _indicatorsElement: HTMLElement | null\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n next(): void {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible(): void {\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev(): void {\n this._slide(ORDER_PREV)\n }\n\n pause(): void {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle(): void {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval as number)\n }\n\n _maybeEnableCycle(): void {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index: number): void {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive()!)\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose(): void {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners(): void {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, (event: Event) => this._keydown(event as KeyboardEvent))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners(): void {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, (event: Event) => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + (this._config.interval as number))\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event: KeyboardEvent): void {\n if (/input|textarea/i.test((event.target as HTMLElement).tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element: HTMLElement): number {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index: number): void {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator!.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator!.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"], [data-tblr-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval(): void {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval') || element.getAttribute('data-tblr-interval') || '', 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order: string, element: HTMLElement | null = null): void {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement!, isNext, this._config.wrap as boolean) as HTMLElement\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = (eventName: string) => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement!),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated(): boolean {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive(): HTMLElement | null {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems(): HTMLElement[] {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval(): void {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction: string): string {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order: string): string {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (this: HTMLElement, event: Event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target) as Carousel\n const slideIndex = this.getAttribute('data-bs-slide-to') || this.getAttribute('data-tblr-slide-to')\n\n if (slideIndex) {\n carousel.to(Number(slideIndex))\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport { getElement, reflow } from './util/index'\nimport type { ComponentConfig, ComponentConfigType, ElementSelector } from './types'\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"], [data-tblr-toggle=\"collapse\"]'\n\nconst Default: ComponentConfig = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType: ComponentConfigType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\nclass Collapse extends BaseComponent {\n _isTransitioning: boolean\n _triggerArray: HTMLElement[]\n\n constructor(element: ElementSelector, config?: ComponentConfig) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector!)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n toggle(): void {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show(): void {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren: Collapse[] = []\n\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }) as Collapse)\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent?.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = '0'\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}` as 'scrollWidth' | 'scrollHeight'\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide(): void {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent?.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element: HTMLElement = this._element): boolean {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.toggle = Boolean(config.toggle)\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension(): typeof WIDTH | typeof HEIGHT {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren(): void {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector: string): HTMLElement[] {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent as HTMLElement)\n return SelectorEngine.find(selector, this._config.parent as HTMLElement).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray: HTMLElement[], isOpen: boolean): void {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', String(isOpen))\n }\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n if ((event.target as HTMLElement).tagName === 'A' || ((event as any).delegateTarget && (event as any).delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n (Collapse.getOrCreateInstance(element, { toggle: false }) as Collapse).toggle()\n }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport {\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index'\nimport type { ComponentConfig, ComponentConfigType } from './types'\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled), [data-tblr-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `.${CLASS_NAME_SHOW}[data-bs-toggle=\"dropdown\"], .${CLASS_NAME_SHOW}[data-tblr-toggle=\"dropdown\"]`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default: ComponentConfig = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType: ComponentConfigType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\nclass Dropdown extends BaseComponent {\n _popper: Popper.Instance | null\n _parent: HTMLElement\n _menu: HTMLElement\n _inNavbar: boolean\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode as HTMLElement\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)!\n this._inNavbar = this._detectNavbar()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n toggle(): void {\n this._isShown() ? this.hide() : this.show()\n }\n\n show(): void {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...(document.body.children as any))) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', 'true')\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide(): void {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose(): void {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update(): void {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n _completeHide(relatedTarget: Record): void {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...(document.body.children as any))) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config: Partial): ComponentConfig {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof (config.reference as any).getBoundingClientRect !== 'function'\n ) {\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper(): void {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\n }\n\n let referenceElement: HTMLElement | Popper.VirtualElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference as HTMLElement | string)!\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference as Popper.VirtualElement\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown(): boolean {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement(): string {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar(): boolean {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset(): number[] | ((popperData: any) => number[]) {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return (popperData: any) => (offset as Function)(popperData, this._element)\n }\n\n return offset as number[]\n }\n\n _getPopperConfig(): Partial {\n const defaultBsPopperConfig: Partial = {\n placement: this._getPlacement() as Popper.Placement,\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n const popperConfig = execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n return {\n ...defaultBsPopperConfig,\n ...(typeof popperConfig === 'object' && popperConfig !== null ? popperConfig : {})\n }\n }\n\n _selectMenuItem({ key, target }: { key: string; target: HTMLElement }): void {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n static clearMenus(event: Event & { button?: number; key?: string; composedPath?: () => EventTarget[] }): void {\n if ((event as MouseEvent).button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && (event as KeyboardEvent).key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle) as Dropdown | null\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n if (context._menu.contains(event.target as Node) && ((event.type === 'keyup' && (event as KeyboardEvent).key === TAB_KEY) || /input|select|option|textarea|form/i.test((event.target as HTMLElement).tagName))) {\n continue\n }\n\n const relatedTarget: Record = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(this: HTMLElement, event: KeyboardEvent): void {\n const isInput = /input|textarea/i.test((event.target as HTMLElement).tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, (event as any).delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton!) as Dropdown\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event as any)\n return\n }\n\n if (instance._isShown()) {\n event.stopPropagation()\n instance.hide()\n getToggleButton!.focus()\n }\n }\n}\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n event.preventDefault()\n ;(Dropdown.getOrCreateInstance(this) as Dropdown).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config'\nimport {\n execute, executeAfterTransition, getElement, reflow\n} from './index'\nimport type { ComponentConfig, ComponentConfigType } from '../types'\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\ninterface BackdropConfig {\n className: string\n clickCallback: (() => void) | null\n isAnimated: boolean\n isVisible: boolean\n rootElement: HTMLElement | string\n}\n\nconst Default: BackdropConfig = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n rootElement: 'body'\n}\n\nconst DefaultType: ComponentConfigType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\nclass Backdrop extends Config {\n declare _config: BackdropConfig & ComponentConfig\n _isAppended: boolean\n _element: HTMLElement | null\n\n constructor(config?: ComponentConfig) {\n super()\n this._config = this._getConfig(config) as BackdropConfig & ComponentConfig\n this._isAppended = false\n this._element = null\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n show(callback?: () => void): void {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback?: () => void): void {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose(): void {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element!.remove()\n this._isAppended = false\n }\n\n _getElement(): HTMLElement {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append(): void {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n ;(this._config.rootElement as HTMLElement).append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback: () => void): void {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config'\nimport type { ComponentConfig, ComponentConfigType } from '../types'\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\ninterface FocusTrapConfig {\n autofocus: boolean\n trapElement: HTMLElement | null\n}\n\nconst Default: FocusTrapConfig = {\n autofocus: true,\n trapElement: null\n}\n\nconst DefaultType: ComponentConfigType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\nclass FocusTrap extends Config {\n declare _config: FocusTrapConfig & ComponentConfig\n _isActive: boolean\n _lastTabNavDirection: string | null\n\n constructor(config?: ComponentConfig) {\n super()\n this._config = this._getConfig(config) as FocusTrapConfig & ComponentConfig\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n activate(): void {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement!.focus()\n }\n\n EventHandler.off(document, EVENT_KEY)\n EventHandler.on(document, EVENT_FOCUSIN, (event: FocusEvent) => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, (event: KeyboardEvent) => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate(): void {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n _handleFocusin(event: FocusEvent): void {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement!.contains(event.target as Node)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement!.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollbar.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\nclass ScrollBarHelper {\n _element: HTMLElement\n\n constructor() {\n this._element = document.body\n }\n\n getWidth(): number {\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide(): void {\n const width = this.getWidth()\n this._disableOverFlow()\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset(): void {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing(): boolean {\n return this.getWidth() > 0\n }\n\n _disableOverFlow(): void {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector: string | HTMLElement, styleProperty: string, callback: (value: number) => number): void {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = (element: HTMLElement): void => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element: HTMLElement, styleProperty: string): void {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector: string | HTMLElement, styleProperty: string): void {\n const manipulationCallBack = (element: HTMLElement): void => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, String(value))\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector: string | HTMLElement, callBack: (element: HTMLElement) => void): void {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport Backdrop from './util/backdrop'\nimport { enableDismissTrigger } from './util/component-functions'\nimport FocusTrap from './util/focustrap'\nimport {\n isRTL, isVisible, reflow\n} from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"], [data-tblr-toggle=\"modal\"]'\n\ninterface ComponentConfig {\n [key: string]: any\n}\n\ninterface ComponentConfigType {\n [key: string]: string\n}\n\nconst Default: ComponentConfig = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType: ComponentConfigType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n _dialog: HTMLElement | null\n _backdrop: Backdrop\n _focustrap: FocusTrap\n _isShown: boolean\n _isTransitioning: boolean\n _scrollBar: ScrollBarHelper\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n toggle(relatedTarget?: HTMLElement): void {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget?: HTMLElement): void {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide(): void {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose(): void {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate(): void {\n this._adjustDialog()\n }\n\n _initializeBackDrop(): Backdrop {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap(): FocusTrap {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget?: HTMLElement): void {\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', 'true')\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog!, this._isAnimated())\n }\n\n _addEventListeners(): void {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event: Event) => {\n if ((event as KeyboardEvent).key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, (event: Event) => {\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, (event2: Event) => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal(): void {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', 'true')\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated(): boolean {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition(): void {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog!)\n }, this._dialog!)\n\n this._element.focus()\n }\n\n _adjustDialog(): void {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments(): void {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, (showEvent: Event) => {\n if (showEvent.defaultPrevented) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n ;(Modal.getInstance(alreadyOpen) as Modal).hide()\n }\n\n const data = Modal.getOrCreateInstance(target) as Modal\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport Backdrop from './util/backdrop'\nimport { enableDismissTrigger } from './util/component-functions'\nimport FocusTrap from './util/focustrap'\nimport { isDisabled, isVisible } from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"], [data-tblr-toggle=\"offcanvas\"]'\n\ninterface ComponentConfig {\n [key: string]: any\n}\n\ninterface ComponentConfigType {\n [key: string]: string\n}\n\nconst Default: ComponentConfig = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType: ComponentConfigType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n _isShown: boolean\n _backdrop: Backdrop\n _focustrap: FocusTrap\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n toggle(relatedTarget?: HTMLElement): void {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget?: HTMLElement): void {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', 'true')\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide(): void {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose(): void {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n _initializeBackDrop(): Backdrop {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n const isBackdropVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: isBackdropVisible,\n isAnimated: true,\n rootElement: this._element.parentNode as HTMLElement,\n clickCallback: isBackdropVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap(): FocusTrap {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners(): void {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event: Event) => {\n if ((event as KeyboardEvent).key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n ;(Offcanvas.getInstance(alreadyOpen) as Offcanvas).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target) as Offcanvas\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n ;(Offcanvas.getOrCreateInstance(selector) as Offcanvas).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n ;(Offcanvas.getOrCreateInstance(element) as Offcanvas).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport type { AllowList, SanitizeFn } from '../types'\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist: AllowList = {\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute: Attr, allowedAttributeList: (string | RegExp)[]): boolean => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue!))\n }\n\n return true\n }\n\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => (regex as RegExp).test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml: string, allowList: AllowList, sanitizeFunction?: SanitizeFn): string {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = Array.from(createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = Array.from(element.attributes)\n const allowedAttributes = [...(allowList['*'] || []), ...(allowList[elementName] || [])]\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer'\nimport { execute, getElement, isElement } from './index'\nimport type { AllowList, ComponentConfig, ComponentConfigType, SanitizeFn } from '../types'\n\nconst NAME = 'TemplateFactory'\n\ninterface TemplateFactoryConfig {\n allowList: AllowList\n content: Record\n extraClass: string | (() => string)\n html: boolean\n sanitize: boolean\n sanitizeFn: SanitizeFn | null\n template: string\n}\n\nconst Default: TemplateFactoryConfig = {\n allowList: DefaultAllowlist,\n content: {},\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType: ComponentConfigType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType: ComponentConfigType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\nclass TemplateFactory extends Config {\n declare _config: TemplateFactoryConfig & ComponentConfig\n\n constructor(config?: ComponentConfig) {\n super()\n this._config = this._getConfig(config) as TemplateFactoryConfig & ComponentConfig\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n getContent(): unknown[] {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent(): boolean {\n return this.getContent().length > 0\n }\n\n changeContent(content: Record): this {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml(): Element {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...(extraClass as string).split(' '))\n }\n\n return template\n }\n\n _typeCheckConfig(config: ComponentConfig): void {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg: Record): void {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template: HTMLElement, content: unknown, selector: string): void {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content)!, templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content as string)\n return\n }\n\n templateElement.textContent = content as string\n }\n\n _maybeSanitize(arg: string): string {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn!) : arg\n }\n\n _resolvePossibleFunction(arg: unknown): unknown {\n return execute(arg, [undefined, this])\n }\n\n _putElementInTemplate(element: HTMLElement, templateElement: Element): void {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport { execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index'\nimport { DefaultAllowlist } from './util/sanitizer'\nimport TemplateFactory from './util/template-factory'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\ninterface ComponentConfig {\n [key: string]: any\n}\n\ninterface ComponentConfigType {\n [key: string]: string\n}\n\nconst AttachmentMap: Record = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default: ComponentConfig = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' +\n '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType: ComponentConfigType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n _isEnabled: boolean\n _timeout: ReturnType | number\n _isHovered: boolean | null\n _activeTrigger: Record\n _popper: Popper.Instance | null\n _templateFactory: TemplateFactory | null\n _newContent: Record | null\n tip: HTMLElement | null\n _hideModalHandler: (() => void) | null\n\n constructor(element: HTMLElement | string, config?: Partial) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org/docs/v2/)')\n }\n\n super(element, config)\n\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n this.tip = null\n this._hideModalHandler = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n enable(): void {\n this._isEnabled = true\n }\n\n disable(): void {\n this._isEnabled = false\n }\n\n toggleEnabled(): void {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(): void {\n if (!this._isEnabled) {\n return\n }\n\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose(): void {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title') || this._element.getAttribute('data-tblr-original-title')) {\n this._element.setAttribute('title',\n this._element.getAttribute('data-bs-original-title') ||\n this._element.getAttribute('data-tblr-original-title') || '')\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show(): void {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip!.getAttribute('id')!)\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip!)\n\n tip!.classList.add(CLASS_NAME_SHOW)\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...(document.body.children as any))) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip!, this._isAnimated())\n }\n\n hide(): void {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip!.classList.remove(CLASS_NAME_SHOW)\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...(document.body.children as any))) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip!, this._isAnimated())\n }\n\n update(): void {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n _isWithContent(): boolean {\n return Boolean(this._getTitle())\n }\n\n _getTipElement(): HTMLElement | null {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content: Record): HTMLElement | null {\n const tip = this._getTemplateFactory(content).toHtml() as HTMLElement\n\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n tip.classList.add(`bs-${(this.constructor as typeof Tooltip).NAME}-auto`)\n\n const tipId = getUID((this.constructor as typeof Tooltip).NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content: Record): void {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content: Record): TemplateFactory {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate(): Record {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle(): string {\n return this._resolvePossibleFunction(this._config.title) ||\n this._element.getAttribute('data-bs-original-title') ||\n this._element.getAttribute('data-tblr-original-title') || ''\n }\n\n _initializeOnDelegatedTarget(event: Event & { delegateTarget?: HTMLElement }): Tooltip {\n return (this.constructor as typeof Tooltip).getOrCreateInstance(event.delegateTarget!, this._getDelegateConfig()) as Tooltip\n }\n\n _isAnimated(): boolean {\n return this._config.animation || (this.tip !== null && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown(): boolean {\n return this.tip !== null && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip: HTMLElement): Popper.Instance {\n const placement = execute(this._config.placement, [this, tip, this._element]) as string\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset(): number[] | ((popperData: any) => number[]) {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map((value: string) => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return (popperData: any) => (offset as Function)(popperData, this._element)\n }\n\n return offset as number[]\n }\n\n _resolvePossibleFunction(arg: any): any {\n return execute(arg, [this._element, this._element])\n }\n\n _getPopperConfig(attachment: string): Partial {\n const defaultBsPopperConfig: Partial = {\n placement: attachment as Popper.Placement,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${(this.constructor as typeof Tooltip).NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: (data: any) => {\n this._getTipElement()!.setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n const popperConfig = execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n return {\n ...defaultBsPopperConfig,\n ...(typeof popperConfig === 'object' && popperConfig !== null ? popperConfig : {})\n }\n }\n\n _setListeners(): void {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, (this.constructor as typeof Tooltip).eventName(EVENT_CLICK), this._config.selector, (event: Event) => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n (this.constructor as typeof Tooltip).eventName(EVENT_MOUSEENTER) :\n (this.constructor as typeof Tooltip).eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n (this.constructor as typeof Tooltip).eventName(EVENT_MOUSELEAVE) :\n (this.constructor as typeof Tooltip).eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, (event: Event) => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, (event: Event & { relatedTarget?: HTMLElement }) => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget as Node)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle(): void {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent!.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title)\n this._element.removeAttribute('title')\n }\n\n _enter(): void {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave(): void {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler: () => void, timeout: number): void {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger(): boolean {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config: Partial): ComponentConfig {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig(): Partial {\n const config: Partial = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if ((this.constructor as typeof Tooltip).Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n return config\n }\n\n _disposePopper(): void {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\ninterface ComponentConfig {\n [key: string]: any\n}\n\ninterface ComponentConfigType {\n [key: string]: string\n}\n\nconst Default: ComponentConfig = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType: ComponentConfigType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n _isWithContent(): boolean {\n return Boolean(this._getTitle() || this._getContent())\n }\n\n _getContentForTemplate(): Record {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent(): any {\n return this._resolvePossibleFunction(this._config.content)\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport { getElement, isDisabled, isVisible } from './util/index'\nimport type { ComponentConfig, ComponentConfigType } from './types'\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"], [data-tblr-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default: ComponentConfig = {\n offset: null,\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType: ComponentConfigType = {\n offset: '(number|null)',\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\nclass ScrollSpy extends BaseComponent {\n _targetLinks: Map\n _observableSections: Map\n _rootElement: HTMLElement | null\n _activeTarget: HTMLElement | null\n _observer: IntersectionObserver | null\n _previousScrollData: {\n visibleEntryTop: number\n parentScrollTop: number\n }\n\n constructor(element: HTMLElement | string, config?: Partial) {\n super(element, config)\n\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n refresh(): void {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose(): void {\n this._observer!.disconnect()\n super.dispose()\n }\n\n _configAfterMerge(config: ComponentConfig): ComponentConfig {\n config.target = getElement(config.target) || document.body\n\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map((value: string) => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll(): void {\n if (!this._config.smoothScroll) {\n return\n }\n\n EventHandler.off(this._config.target as HTMLElement, EVENT_CLICK)\n\n EventHandler.on(this._config.target as HTMLElement, EVENT_CLICK, SELECTOR_TARGET_LINKS, (event: Event) => {\n const observableSection = this._observableSections.get((event.target as HTMLAnchorElement).hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if ('scrollTo' in root) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n (root as HTMLElement).scrollTop = height\n }\n })\n }\n\n _getNewObserver(): IntersectionObserver {\n const options: IntersectionObserverInit = {\n root: this._rootElement,\n threshold: this._config.threshold as number[],\n rootMargin: this._config.rootMargin as string\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n _observerCallback(entries: IntersectionObserverEntry[]): void {\n const targetElement = (entry: IntersectionObserverEntry) => this._targetLinks.get(`#${entry.target.id}`)\n const activate = (entry: IntersectionObserverEntry) => {\n this._previousScrollData.visibleEntryTop = (entry.target as HTMLElement).offsetTop\n this._process(targetElement(entry)!)\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry)!)\n\n continue\n }\n\n const entryIsLowerThanPrevious = (entry.target as HTMLElement).offsetTop >= this._previousScrollData.visibleEntryTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables(): void {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target as HTMLElement)\n\n for (const anchor of targetLinks) {\n if (!(anchor as HTMLAnchorElement).hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI((anchor as HTMLAnchorElement).hash), this._element)\n\n if (isVisible(observableSection!)) {\n this._targetLinks.set(decodeURI((anchor as HTMLAnchorElement).hash), anchor)\n this._observableSections.set((anchor as HTMLAnchorElement).hash, observableSection!)\n }\n }\n }\n\n _process(target: HTMLElement): void {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target as HTMLElement)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target: HTMLElement): void {\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN)!)!\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n item.classList.add(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _clearActiveClass(parent: HTMLElement): void {\n parent.classList.remove(CLASS_NAME_ACTIVE)\n\n const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n for (const node of activeNodes) {\n node.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n}\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n ScrollSpy.getOrCreateInstance(spy)\n }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\nimport { getNextActiveElement, isDisabled } from './util/index'\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"], [data-tblr-toggle=\"tab\"], [data-tblr-toggle=\"pill\"], [data-tblr-toggle=\"list\"]'\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-tblr-toggle=\"list\"]`\n\nclass Tab extends BaseComponent {\n _parent: HTMLElement | null\n\n constructor(element: HTMLElement | string) {\n super(element)\n this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n if (!this._parent) {\n return\n }\n\n this._setInitialAttributes(this._parent, this._getChildren())\n\n EventHandler.on(this._element, EVENT_KEYDOWN, (event: KeyboardEvent) => this._keydown(event))\n }\n\n static get NAME(): string {\n return NAME\n }\n\n show(): void {\n const innerElem = this._element\n if (this._elemIsActive(innerElem)) {\n return\n }\n\n const active = this._getActiveElem()\n\n const hideEvent = active ?\n EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n null\n\n const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n if (showEvent?.defaultPrevented || hideEvent?.defaultPrevented) {\n return\n }\n\n this._deactivate(active, innerElem)\n this._activate(innerElem, active)\n }\n\n _activate(element: HTMLElement | null, relatedElem?: HTMLElement | null): void {\n if (!element) {\n return\n }\n\n element.classList.add(CLASS_NAME_ACTIVE)\n\n this._activate(SelectorEngine.getElementFromSelector(element))\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.add(CLASS_NAME_SHOW)\n return\n }\n\n element.removeAttribute('tabindex')\n element.setAttribute('aria-selected', 'true')\n this._toggleDropDown(element, true)\n EventHandler.trigger(element, EVENT_SHOWN, {\n relatedTarget: relatedElem\n })\n }\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n }\n\n _deactivate(element: HTMLElement | null, relatedElem?: HTMLElement | null): void {\n if (!element) {\n return\n }\n\n element.classList.remove(CLASS_NAME_ACTIVE)\n element.blur()\n\n this._deactivate(SelectorEngine.getElementFromSelector(element))\n\n const complete = () => {\n if (element.getAttribute('role') !== 'tab') {\n element.classList.remove(CLASS_NAME_SHOW)\n return\n }\n\n element.setAttribute('aria-selected', 'false')\n element.setAttribute('tabindex', '-1')\n this._toggleDropDown(element, false)\n EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n }\n\n this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n }\n\n _keydown(event: KeyboardEvent): void {\n if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n return\n }\n\n event.stopPropagation()\n event.preventDefault()\n\n const children = this._getChildren().filter(element => !isDisabled(element))\n let nextActiveElement: HTMLElement | undefined\n\n if ([HOME_KEY, END_KEY].includes(event.key)) {\n nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n } else {\n const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n nextActiveElement = getNextActiveElement(children, event.target as HTMLElement, isNext, true) as HTMLElement\n }\n\n if (nextActiveElement) {\n nextActiveElement.focus({ preventScroll: true })\n ;(Tab.getOrCreateInstance(nextActiveElement) as Tab).show()\n }\n }\n\n _getChildren(): HTMLElement[] {\n return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent!)\n }\n\n _getActiveElem(): HTMLElement | null {\n return this._getChildren().find(child => this._elemIsActive(child)) || null\n }\n\n _setInitialAttributes(parent: HTMLElement, children: HTMLElement[]): void {\n this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n for (const child of children) {\n this._setInitialAttributesOnChild(child)\n }\n }\n\n _setInitialAttributesOnChild(child: HTMLElement): void {\n child = this._getInnerElement(child)!\n const isActive = this._elemIsActive(child)\n const outerElem = this._getOuterElement(child)\n child.setAttribute('aria-selected', String(isActive))\n\n if (outerElem !== child) {\n this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n }\n\n if (!isActive) {\n child.setAttribute('tabindex', '-1')\n }\n\n this._setAttributeIfNotExists(child, 'role', 'tab')\n\n this._setInitialAttributesOnTargetPanel(child)\n }\n\n _setInitialAttributesOnTargetPanel(child: HTMLElement): void {\n const target = SelectorEngine.getElementFromSelector(child)\n\n if (!target) {\n return\n }\n\n this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n if (child.id) {\n this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n }\n }\n\n _toggleDropDown(element: HTMLElement, open: boolean): void {\n const outerElem = this._getOuterElement(element)\n if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n return\n }\n\n const toggle = (selector: string, className: string) => {\n const el = SelectorEngine.findOne(selector, outerElem)\n if (el) {\n el.classList.toggle(className, open)\n }\n }\n\n toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n outerElem.setAttribute('aria-expanded', String(open))\n }\n\n _setAttributeIfNotExists(element: HTMLElement, attribute: string, value: string): void {\n if (!element.hasAttribute(attribute)) {\n element.setAttribute(attribute, value)\n }\n }\n\n _elemIsActive(elem: HTMLElement): boolean {\n return elem.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n _getInnerElement(elem: HTMLElement): HTMLElement | null {\n return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n }\n\n _getOuterElement(elem: HTMLElement): HTMLElement {\n return elem.closest(SELECTOR_OUTER) || elem\n }\n}\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (this: HTMLElement, event: Event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n ;(Tab.getOrCreateInstance(this) as Tab).show()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n Tab.getOrCreateInstance(element)\n }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.ts\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions'\nimport { reflow } from './util/index.js'\nimport type { ComponentConfig, ComponentConfigType, ElementSelector } from './types'\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType: ComponentConfigType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default: ComponentConfig = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\nclass Toast extends BaseComponent {\n _timeout: ReturnType | null\n _hasMouseInteraction: boolean\n _hasKeyboardInteraction: boolean\n\n constructor(element: ElementSelector, config?: ComponentConfig) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n static get Default(): ComponentConfig {\n return Default\n }\n\n static get DefaultType(): ComponentConfigType {\n return DefaultType\n }\n\n static get NAME(): string {\n return NAME\n }\n\n show(): void {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent?.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide(): void {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent?.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose(): void {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown(): boolean {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _maybeScheduleHide(): void {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event: Event, isInteracting: boolean): void {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = (event as FocusEvent).relatedTarget as Node | null\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners(): void {\n EventHandler.on(this._element, EVENT_MOUSEOVER, (event: Event) => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, (event: Event) => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, (event: Event) => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, (event: Event) => this._onInteraction(event, false))\n }\n\n _clearTimeout(): void {\n clearTimeout(this._timeout!)\n this._timeout = null\n }\n}\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","export * as Popper from '@popperjs/core'\n\nexport { default as Alert } from './bootstrap/alert'\nexport { default as Button } from './bootstrap/button'\nexport { default as Carousel } from './bootstrap/carousel'\nexport { default as Collapse } from './bootstrap/collapse'\nexport { default as Dropdown } from './bootstrap/dropdown'\nexport { default as Modal } from './bootstrap/modal'\nexport { default as Offcanvas } from './bootstrap/offcanvas'\nexport { default as Popover } from './bootstrap/popover'\nexport { default as ScrollSpy } from './bootstrap/scrollspy'\nexport { default as Tab } from './bootstrap/tab'\nexport { default as Toast } from './bootstrap/toast'\nexport { default as Tooltip } from './bootstrap/tooltip'\n\nimport Alert from './bootstrap/alert'\nimport Button from './bootstrap/button'\nimport Carousel from './bootstrap/carousel'\nimport Collapse from './bootstrap/collapse'\nimport Dropdown from './bootstrap/dropdown'\nimport Modal from './bootstrap/modal'\nimport Offcanvas from './bootstrap/offcanvas'\nimport Popover from './bootstrap/popover'\nimport ScrollSpy from './bootstrap/scrollspy'\nimport Tab from './bootstrap/tab'\nimport Toast from './bootstrap/toast'\nimport Tooltip from './bootstrap/tooltip'\n\nexport const bootstrap = {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Offcanvas,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n","import { Dropdown } from './bootstrap'\n\n/*\nCore dropdowns\n */\nconst dropdownTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"dropdown\"]'))\ndropdownTriggerList.map(function (dropdownTriggerEl: HTMLElement) {\n const options = {\n boundary: dropdownTriggerEl.getAttribute('data-bs-boundary') === 'viewport' ? document.querySelector('.btn') : 'clippingParents',\n }\n return new Dropdown(dropdownTriggerEl, options)\n})\n","import { Tooltip } from './bootstrap'\n\nconst tooltipTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"tooltip\"]'))\ntooltipTriggerList.map(function (tooltipTriggerEl: HTMLElement) {\n const options = {\n delay: { show: 50, hide: 50 },\n html: tooltipTriggerEl.getAttribute('data-bs-html') === 'true',\n placement: tooltipTriggerEl.getAttribute('data-bs-placement') ?? 'auto',\n }\n return new Tooltip(tooltipTriggerEl, options)\n})\n","import { Popover } from './bootstrap'\n\n/*\nCore popovers\n */\nconst popoverTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\npopoverTriggerList.map(function (popoverTriggerEl: HTMLElement) {\n const options = {\n delay: { show: 50, hide: 50 },\n html: popoverTriggerEl.getAttribute('data-bs-html') === 'true',\n placement: popoverTriggerEl.getAttribute('data-bs-placement') ?? 'auto',\n }\n return new Popover(popoverTriggerEl, options)\n})\n","/*\nSwitch icons\n */\nconst switchesTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"switch-icon\"]'))\nswitchesTriggerList.map(function (switchTriggerEl: HTMLElement) {\n switchTriggerEl.addEventListener('click', (e: MouseEvent) => {\n e.stopPropagation()\n\n switchTriggerEl.classList.toggle('active')\n })\n})\n","import { Tab } from './bootstrap'\n\nexport const EnableActivationTabsFromLocationHash = (): void => {\n const locationHash: string = window.location.hash\n\n if (locationHash) {\n const tabsList: HTMLAnchorElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"tab\"]'))\n const matchedTabs = tabsList.filter((tab: HTMLAnchorElement) => tab.hash === locationHash)\n\n matchedTabs.map((tab: HTMLAnchorElement) => {\n new Tab(tab).show()\n })\n }\n}\n\nEnableActivationTabsFromLocationHash()\n","import { Toast } from './bootstrap'\n\n/*\nToasts\n */\nconst toastsTriggerList: HTMLElement[] = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"toast\"]'))\ntoastsTriggerList.map(function (toastTriggerEl: HTMLElement) {\n const target = toastTriggerEl.getAttribute('data-bs-target')\n if (target === null) {\n return\n }\n\n const toastEl = new Toast(target)\n\n toastTriggerEl.addEventListener('click', () => {\n toastEl.show()\n })\n})\n","// SortableJS plugin\n// Initializes Sortable on elements marked with [data-sortable]\n// Allows options via JSON in data attribute: data-sortable='{\"animation\":150}'\n\nconst sortableElements: NodeListOf = document.querySelectorAll('[data-sortable]')\n\nif (sortableElements.length) {\n sortableElements.forEach(function (element: HTMLElement) {\n let options: Record = {}\n\n try {\n const rawOptions = element.getAttribute('data-sortable')\n options = rawOptions ? JSON.parse(rawOptions) : {}\n } catch (e) {\n // ignore invalid JSON\n }\n\n if (window.Sortable) {\n // eslint-disable-next-line no-new\n new window.Sortable(element, options)\n }\n })\n}\n","export const prefix: string = 'tblr-'\n\nexport const hexToRgba = (hex: string, opacity: number): string | null => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n\n return result ? `rgba(${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}, ${opacity})` : null\n}\n\nexport const getColor = (color: string, opacity: number = 1): string | null => {\n const c = getComputedStyle(document.body).getPropertyValue(`--${prefix}${color}`).trim()\n\n if (opacity !== 1) {\n return hexToRgba(c, opacity)\n }\n\n return c\n}\n"],"names":["isElement","name","effect","style","getComputedStyle","window","min","max","mathMax","mathMin","toPaddingObject","popperOffsets","offset","popper","hash","clippingParents","reference","allPlacements","placements","placement","_loop","_i","checks","merged","defaultModifiers","createPopper","options","state","noopFn","computeStyles","applyStyles","flip","preventOverflow","arrow","hide","fn","prefix","__spreadValues","NAME","DATA_KEY","EVENT_KEY","CLASS_NAME_FADE","CLASS_NAME_SHOW","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Default","DefaultType","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_LOAD_DATA_API","order","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","Popper.createPopper","EVENT_FOCUSIN","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","OPEN_SELECTOR","CLASS_NAME_SHOWING","EVENT_CLICK","EVENT_FOCUSOUT","__spreadProps","SELECTOR_DROPDOWN_TOGGLE"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]} \ No newline at end of file diff --git a/storage/public/dist/libs/@hotwired/turbo/CHANGELOG.md b/storage/public/dist/libs/@hotwired/turbo/CHANGELOG.md new file mode 100644 index 0000000..85e46a8 --- /dev/null +++ b/storage/public/dist/libs/@hotwired/turbo/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +Please see [our GitHub "Releases" page](https://github.com/hotwired/turbo/releases). diff --git a/storage/public/dist/libs/@hotwired/turbo/README.md b/storage/public/dist/libs/@hotwired/turbo/README.md new file mode 100644 index 0000000..1bd7ee7 --- /dev/null +++ b/storage/public/dist/libs/@hotwired/turbo/README.md @@ -0,0 +1,18 @@ +# Turbo + +Turbo uses complementary techniques to dramatically reduce the amount of custom JavaScript that most web applications will need to write: + +* Turbo Drive accelerates links and form submissions by negating the need for full page reloads. +* Turbo Frames decompose pages into independent contexts, which scope navigation and can be lazily loaded. +* Turbo Streams deliver page changes over WebSocket or in response to form submissions using just HTML and a set of CRUD-like actions. +* Turbo Native lets your majestic monolith form the center of your native iOS and Android apps, with seamless transitions between web and native sections. + +It's all done by sending HTML over the wire. And for those instances when that's not enough, you can reach for the other side of Hotwire, and finish the job with [Stimulus](https://github.com/hotwired/stimulus). + +Read more on [turbo.hotwired.dev](https://turbo.hotwired.dev). + +## Contributing + +Please read [CONTRIBUTING.md](./CONTRIBUTING.md). + +© 2026 37signals LLC. diff --git a/storage/public/dist/libs/@hotwired/turbo/dist/turbo.es2017-esm.js b/storage/public/dist/libs/@hotwired/turbo/dist/turbo.es2017-esm.js new file mode 100644 index 0000000..086945c --- /dev/null +++ b/storage/public/dist/libs/@hotwired/turbo/dist/turbo.es2017-esm.js @@ -0,0 +1,7256 @@ +/*! +Turbo 8.0.23 +Copyright © 2026 37signals LLC + */ +const FrameLoadingStyle = { + eager: "eager", + lazy: "lazy" +}; + +/** + * Contains a fragment of HTML which is updated based on navigation within + * it (e.g. via links or form submissions). + * + * @customElement turbo-frame + * @example + * + * + * Show all expanded messages in this frame. + * + * + *
+ * Show response from this form within this frame. + *
+ *
+ */ +class FrameElement extends HTMLElement { + static delegateConstructor = undefined + + loaded = Promise.resolve() + + static get observedAttributes() { + return ["disabled", "loading", "src"] + } + + constructor() { + super(); + this.delegate = new FrameElement.delegateConstructor(this); + } + + connectedCallback() { + this.delegate.connect(); + } + + disconnectedCallback() { + this.delegate.disconnect(); + } + + reload() { + return this.delegate.sourceURLReloaded() + } + + attributeChangedCallback(name) { + if (name == "loading") { + this.delegate.loadingStyleChanged(); + } else if (name == "src") { + this.delegate.sourceURLChanged(); + } else if (name == "disabled") { + this.delegate.disabledChanged(); + } + } + + /** + * Gets the URL to lazily load source HTML from + */ + get src() { + return this.getAttribute("src") + } + + /** + * Sets the URL to lazily load source HTML from + */ + set src(value) { + if (value) { + this.setAttribute("src", value); + } else { + this.removeAttribute("src"); + } + } + + /** + * Gets the refresh mode for the frame. + */ + get refresh() { + return this.getAttribute("refresh") + } + + /** + * Sets the refresh mode for the frame. + */ + set refresh(value) { + if (value) { + this.setAttribute("refresh", value); + } else { + this.removeAttribute("refresh"); + } + } + + get shouldReloadWithMorph() { + return this.src && this.refresh === "morph" + } + + /** + * Determines if the element is loading + */ + get loading() { + return frameLoadingStyleFromString(this.getAttribute("loading") || "") + } + + /** + * Sets the value of if the element is loading + */ + set loading(value) { + if (value) { + this.setAttribute("loading", value); + } else { + this.removeAttribute("loading"); + } + } + + /** + * Gets the disabled state of the frame. + * + * If disabled, no requests will be intercepted by the frame. + */ + get disabled() { + return this.hasAttribute("disabled") + } + + /** + * Sets the disabled state of the frame. + * + * If disabled, no requests will be intercepted by the frame. + */ + set disabled(value) { + if (value) { + this.setAttribute("disabled", ""); + } else { + this.removeAttribute("disabled"); + } + } + + /** + * Gets the autoscroll state of the frame. + * + * If true, the frame will be scrolled into view automatically on update. + */ + get autoscroll() { + return this.hasAttribute("autoscroll") + } + + /** + * Sets the autoscroll state of the frame. + * + * If true, the frame will be scrolled into view automatically on update. + */ + set autoscroll(value) { + if (value) { + this.setAttribute("autoscroll", ""); + } else { + this.removeAttribute("autoscroll"); + } + } + + /** + * Determines if the element has finished loading + */ + get complete() { + return !this.delegate.isLoading + } + + /** + * Gets the active state of the frame. + * + * If inactive, source changes will not be observed. + */ + get isActive() { + return this.ownerDocument === document && !this.isPreview + } + + /** + * Sets the active state of the frame. + * + * If inactive, source changes will not be observed. + */ + get isPreview() { + return this.ownerDocument?.documentElement?.hasAttribute("data-turbo-preview") + } +} + +function frameLoadingStyleFromString(style) { + switch (style.toLowerCase()) { + case "lazy": + return FrameLoadingStyle.lazy + default: + return FrameLoadingStyle.eager + } +} + +const drive = { + enabled: true, + progressBarDelay: 500, + unvisitableExtensions: new Set( + [ + ".7z", ".aac", ".apk", ".avi", ".bmp", ".bz2", ".css", ".csv", ".deb", ".dmg", ".doc", + ".docx", ".exe", ".gif", ".gz", ".heic", ".heif", ".ico", ".iso", ".jpeg", ".jpg", + ".js", ".json", ".m4a", ".mkv", ".mov", ".mp3", ".mp4", ".mpeg", ".mpg", ".msi", + ".ogg", ".ogv", ".pdf", ".pkg", ".png", ".ppt", ".pptx", ".rar", ".rtf", + ".svg", ".tar", ".tif", ".tiff", ".txt", ".wav", ".webm", ".webp", ".wma", ".wmv", + ".xls", ".xlsx", ".xml", ".zip" + ] + ) +}; + +function activateScriptElement(element) { + if (element.getAttribute("data-turbo-eval") == "false") { + return element + } else { + const createdScriptElement = document.createElement("script"); + const cspNonce = getCspNonce(); + if (cspNonce) { + createdScriptElement.nonce = cspNonce; + } + createdScriptElement.textContent = element.textContent; + createdScriptElement.async = false; + copyElementAttributes(createdScriptElement, element); + return createdScriptElement + } +} + +function copyElementAttributes(destinationElement, sourceElement) { + for (const { name, value } of sourceElement.attributes) { + destinationElement.setAttribute(name, value); + } +} + +function createDocumentFragment(html) { + const template = document.createElement("template"); + template.innerHTML = html; + return template.content +} + +function dispatch(eventName, { target, cancelable, detail } = {}) { + const event = new CustomEvent(eventName, { + cancelable, + bubbles: true, + composed: true, + detail + }); + + if (target && target.isConnected) { + target.dispatchEvent(event); + } else { + document.documentElement.dispatchEvent(event); + } + + return event +} + +function cancelEvent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +function nextRepaint() { + if (document.visibilityState === "hidden") { + return nextEventLoopTick() + } else { + return nextAnimationFrame() + } +} + +function nextAnimationFrame() { + return new Promise((resolve) => requestAnimationFrame(() => resolve())) +} + +function nextEventLoopTick() { + return new Promise((resolve) => setTimeout(() => resolve(), 0)) +} + +function parseHTMLDocument(html = "") { + return new DOMParser().parseFromString(html, "text/html") +} + +function unindent(strings, ...values) { + const lines = interpolate(strings, values).replace(/^\n/, "").split("\n"); + const match = lines[0].match(/^\s+/); + const indent = match ? match[0].length : 0; + return lines.map((line) => line.slice(indent)).join("\n") +} + +function interpolate(strings, values) { + return strings.reduce((result, string, i) => { + const value = values[i] == undefined ? "" : values[i]; + return result + string + value + }, "") +} + +function uuid() { + return Array.from({ length: 36 }) + .map((_, i) => { + if (i == 8 || i == 13 || i == 18 || i == 23) { + return "-" + } else if (i == 14) { + return "4" + } else if (i == 19) { + return (Math.floor(Math.random() * 4) + 8).toString(16) + } else { + return Math.floor(Math.random() * 16).toString(16) + } + }) + .join("") +} + +function getAttribute(attributeName, ...elements) { + for (const value of elements.map((element) => element?.getAttribute(attributeName))) { + if (typeof value == "string") return value + } + + return null +} + +function hasAttribute(attributeName, ...elements) { + return elements.some((element) => element && element.hasAttribute(attributeName)) +} + +function markAsBusy(...elements) { + for (const element of elements) { + if (element.localName == "turbo-frame") { + element.setAttribute("busy", ""); + } + element.setAttribute("aria-busy", "true"); + } +} + +function clearBusyState(...elements) { + for (const element of elements) { + if (element.localName == "turbo-frame") { + element.removeAttribute("busy"); + } + + element.removeAttribute("aria-busy"); + } +} + +function waitForLoad(element, timeoutInMilliseconds = 2000) { + return new Promise((resolve) => { + const onComplete = () => { + element.removeEventListener("error", onComplete); + element.removeEventListener("load", onComplete); + resolve(); + }; + + element.addEventListener("load", onComplete, { once: true }); + element.addEventListener("error", onComplete, { once: true }); + setTimeout(resolve, timeoutInMilliseconds); + }) +} + +function getHistoryMethodForAction(action) { + switch (action) { + case "replace": + return history.replaceState + case "advance": + case "restore": + return history.pushState + } +} + +function isAction(action) { + return action == "advance" || action == "replace" || action == "restore" +} + +function getVisitAction(...elements) { + const action = getAttribute("data-turbo-action", ...elements); + + return isAction(action) ? action : null +} + +function getMetaElement(name) { + return document.querySelector(`meta[name="${name}"]`) +} + +function getMetaContent(name) { + const element = getMetaElement(name); + return element && element.content +} + +function getCspNonce() { + const element = getMetaElement("csp-nonce"); + + if (element) { + const { nonce, content } = element; + return nonce == "" ? content : nonce + } +} + +function setMetaContent(name, content) { + let element = getMetaElement(name); + + if (!element) { + element = document.createElement("meta"); + element.setAttribute("name", name); + + document.head.appendChild(element); + } + + element.setAttribute("content", content); + + return element +} + +function findClosestRecursively(element, selector) { + if (element instanceof Element) { + return ( + element.closest(selector) || findClosestRecursively(element.assignedSlot || element.getRootNode()?.host, selector) + ) + } +} + +function elementIsFocusable(element) { + const inertDisabledOrHidden = "[inert], :disabled, [hidden], details:not([open]), dialog:not([open])"; + + return !!element && element.closest(inertDisabledOrHidden) == null && typeof element.focus == "function" +} + +function queryAutofocusableElement(elementOrDocumentFragment) { + return Array.from(elementOrDocumentFragment.querySelectorAll("[autofocus]")).find(elementIsFocusable) +} + +async function around(callback, reader) { + const before = reader(); + + callback(); + + await nextAnimationFrame(); + + const after = reader(); + + return [before, after] +} + +function doesNotTargetIFrame(name) { + if (name === "_blank") { + return false + } else if (name) { + for (const element of document.getElementsByName(name)) { + if (element instanceof HTMLIFrameElement) return false + } + + return true + } else { + return true + } +} + +function findLinkFromClickTarget(target) { + const link = findClosestRecursively(target, "a[href], a[xlink\\:href]"); + + if (!link) return null + if (link.href.startsWith("#")) return null + if (link.hasAttribute("download")) return null + + const linkTarget = link.getAttribute("target"); + if (linkTarget && linkTarget !== "_self") return null + + return link +} + +function debounce(fn, delay) { + let timeoutId = null; + + return (...args) => { + const callback = () => fn.apply(this, args); + clearTimeout(timeoutId); + timeoutId = setTimeout(callback, delay); + } +} + +const submitter = { + "aria-disabled": { + beforeSubmit: submitter => { + submitter.setAttribute("aria-disabled", "true"); + submitter.addEventListener("click", cancelEvent); + }, + + afterSubmit: submitter => { + submitter.removeAttribute("aria-disabled"); + submitter.removeEventListener("click", cancelEvent); + } + }, + + "disabled": { + beforeSubmit: submitter => submitter.disabled = true, + afterSubmit: submitter => submitter.disabled = false + } +}; + +class Config { + #submitter = null + + constructor(config) { + Object.assign(this, config); + } + + get submitter() { + return this.#submitter + } + + set submitter(value) { + this.#submitter = submitter[value] || value; + } +} + +const forms = new Config({ + mode: "on", + submitter: "disabled" +}); + +const config = { + drive, + forms +}; + +function expandURL(locatable) { + return new URL(locatable.toString(), document.baseURI) +} + +function getAnchor(url) { + let anchorMatch; + if (url.hash) { + return url.hash.slice(1) + // eslint-disable-next-line no-cond-assign + } else if ((anchorMatch = url.href.match(/#(.*)$/))) { + return anchorMatch[1] + } +} + +function getAction$1(form, submitter) { + const action = submitter?.getAttribute("formaction") || form.getAttribute("action") || form.action; + + return expandURL(action) +} + +function getExtension(url) { + return (getLastPathComponent(url).match(/\.[^.]*$/) || [])[0] || "" +} + +function isPrefixedBy(baseURL, url) { + const prefix = addTrailingSlash(url.origin + url.pathname); + return addTrailingSlash(baseURL.href) === prefix || baseURL.href.startsWith(prefix) +} + +function locationIsVisitable(location, rootLocation) { + return isPrefixedBy(location, rootLocation) && !config.drive.unvisitableExtensions.has(getExtension(location)) +} + +function getLocationForLink(link) { + return expandURL(link.getAttribute("href") || "") +} + +function getRequestURL(url) { + const anchor = getAnchor(url); + return anchor != null ? url.href.slice(0, -(anchor.length + 1)) : url.href +} + +function toCacheKey(url) { + return getRequestURL(url) +} + +function urlsAreEqual(left, right) { + return expandURL(left).href == expandURL(right).href +} + +function getPathComponents(url) { + return url.pathname.split("/").slice(1) +} + +function getLastPathComponent(url) { + return getPathComponents(url).slice(-1)[0] +} + +function addTrailingSlash(value) { + return value.endsWith("/") ? value : value + "/" +} + +class FetchResponse { + constructor(response) { + this.response = response; + } + + get succeeded() { + return this.response.ok + } + + get failed() { + return !this.succeeded + } + + get clientError() { + return this.statusCode >= 400 && this.statusCode <= 499 + } + + get serverError() { + return this.statusCode >= 500 && this.statusCode <= 599 + } + + get redirected() { + return this.response.redirected + } + + get location() { + return expandURL(this.response.url) + } + + get isHTML() { + return this.contentType && this.contentType.match(/^(?:text\/([^\s;,]+\b)?html|application\/xhtml\+xml)\b/) + } + + get statusCode() { + return this.response.status + } + + get contentType() { + return this.header("Content-Type") + } + + get responseText() { + return this.response.clone().text() + } + + get responseHTML() { + if (this.isHTML) { + return this.response.clone().text() + } else { + return Promise.resolve(undefined) + } + } + + header(name) { + return this.response.headers.get(name) + } +} + +class LimitedSet extends Set { + constructor(maxSize) { + super(); + this.maxSize = maxSize; + } + + add(value) { + if (this.size >= this.maxSize) { + const iterator = this.values(); + const oldestValue = iterator.next().value; + this.delete(oldestValue); + } + super.add(value); + } +} + +const recentRequests = new LimitedSet(20); + +function fetchWithTurboHeaders(url, options = {}) { + const modifiedHeaders = new Headers(options.headers || {}); + const requestUID = uuid(); + recentRequests.add(requestUID); + modifiedHeaders.append("X-Turbo-Request-Id", requestUID); + + return window.fetch(url, { + ...options, + headers: modifiedHeaders + }) +} + +function fetchMethodFromString(method) { + switch (method.toLowerCase()) { + case "get": + return FetchMethod.get + case "post": + return FetchMethod.post + case "put": + return FetchMethod.put + case "patch": + return FetchMethod.patch + case "delete": + return FetchMethod.delete + } +} + +const FetchMethod = { + get: "get", + post: "post", + put: "put", + patch: "patch", + delete: "delete" +}; + +function fetchEnctypeFromString(encoding) { + switch (encoding.toLowerCase()) { + case FetchEnctype.multipart: + return FetchEnctype.multipart + case FetchEnctype.plain: + return FetchEnctype.plain + default: + return FetchEnctype.urlEncoded + } +} + +const FetchEnctype = { + urlEncoded: "application/x-www-form-urlencoded", + multipart: "multipart/form-data", + plain: "text/plain" +}; + +class FetchRequest { + abortController = new AbortController() + #resolveRequestPromise = (_value) => {} + + constructor(delegate, method, location, requestBody = new URLSearchParams(), target = null, enctype = FetchEnctype.urlEncoded) { + const [url, body] = buildResourceAndBody(expandURL(location), method, requestBody, enctype); + + this.delegate = delegate; + this.url = url; + this.target = target; + this.fetchOptions = { + credentials: "same-origin", + redirect: "follow", + method: method.toUpperCase(), + headers: { ...this.defaultHeaders }, + body: body, + signal: this.abortSignal, + referrer: this.delegate.referrer?.href + }; + this.enctype = enctype; + } + + get method() { + return this.fetchOptions.method + } + + set method(value) { + const fetchBody = this.isSafe ? this.url.searchParams : this.fetchOptions.body || new FormData(); + const fetchMethod = fetchMethodFromString(value) || FetchMethod.get; + + this.url.search = ""; + + const [url, body] = buildResourceAndBody(this.url, fetchMethod, fetchBody, this.enctype); + + this.url = url; + this.fetchOptions.body = body; + this.fetchOptions.method = fetchMethod.toUpperCase(); + } + + get headers() { + return this.fetchOptions.headers + } + + set headers(value) { + this.fetchOptions.headers = value; + } + + get body() { + if (this.isSafe) { + return this.url.searchParams + } else { + return this.fetchOptions.body + } + } + + set body(value) { + this.fetchOptions.body = value; + } + + get location() { + return this.url + } + + get params() { + return this.url.searchParams + } + + get entries() { + return this.body ? Array.from(this.body.entries()) : [] + } + + cancel() { + this.abortController.abort(); + } + + async perform() { + const { fetchOptions } = this; + this.delegate.prepareRequest(this); + const event = await this.#allowRequestToBeIntercepted(fetchOptions); + try { + this.delegate.requestStarted(this); + + if (event.detail.fetchRequest) { + this.response = event.detail.fetchRequest.response; + } else { + this.response = fetchWithTurboHeaders(this.url.href, fetchOptions); + } + + const response = await this.response; + return await this.receive(response) + } catch (error) { + if (error.name !== "AbortError") { + if (this.#willDelegateErrorHandling(error)) { + this.delegate.requestErrored(this, error); + } + throw error + } + } finally { + this.delegate.requestFinished(this); + } + } + + async receive(response) { + const fetchResponse = new FetchResponse(response); + const event = dispatch("turbo:before-fetch-response", { + cancelable: true, + detail: { fetchResponse }, + target: this.target + }); + if (event.defaultPrevented) { + this.delegate.requestPreventedHandlingResponse(this, fetchResponse); + } else if (fetchResponse.succeeded) { + this.delegate.requestSucceededWithResponse(this, fetchResponse); + } else { + this.delegate.requestFailedWithResponse(this, fetchResponse); + } + return fetchResponse + } + + get defaultHeaders() { + return { + Accept: "text/html, application/xhtml+xml" + } + } + + get isSafe() { + return isSafe(this.method) + } + + get abortSignal() { + return this.abortController.signal + } + + acceptResponseType(mimeType) { + this.headers["Accept"] = [mimeType, this.headers["Accept"]].join(", "); + } + + async #allowRequestToBeIntercepted(fetchOptions) { + const requestInterception = new Promise((resolve) => (this.#resolveRequestPromise = resolve)); + const event = dispatch("turbo:before-fetch-request", { + cancelable: true, + detail: { + fetchOptions, + url: this.url, + resume: this.#resolveRequestPromise + }, + target: this.target + }); + this.url = event.detail.url; + if (event.defaultPrevented) await requestInterception; + + return event + } + + #willDelegateErrorHandling(error) { + const event = dispatch("turbo:fetch-request-error", { + target: this.target, + cancelable: true, + detail: { request: this, error: error } + }); + + return !event.defaultPrevented + } +} + +function isSafe(fetchMethod) { + return fetchMethodFromString(fetchMethod) == FetchMethod.get +} + +function buildResourceAndBody(resource, method, requestBody, enctype) { + const searchParams = + Array.from(requestBody).length > 0 ? new URLSearchParams(entriesExcludingFiles(requestBody)) : resource.searchParams; + + if (isSafe(method)) { + return [mergeIntoURLSearchParams(resource, searchParams), null] + } else if (enctype == FetchEnctype.urlEncoded) { + return [resource, searchParams] + } else { + return [resource, requestBody] + } +} + +function entriesExcludingFiles(requestBody) { + const entries = []; + + for (const [name, value] of requestBody) { + if (value instanceof File) continue + else entries.push([name, value]); + } + + return entries +} + +function mergeIntoURLSearchParams(url, requestBody) { + const searchParams = new URLSearchParams(entriesExcludingFiles(requestBody)); + + url.search = searchParams.toString(); + + return url +} + +class AppearanceObserver { + started = false + + constructor(delegate, element) { + this.delegate = delegate; + this.element = element; + this.intersectionObserver = new IntersectionObserver(this.intersect); + } + + start() { + if (!this.started) { + this.started = true; + this.intersectionObserver.observe(this.element); + } + } + + stop() { + if (this.started) { + this.started = false; + this.intersectionObserver.unobserve(this.element); + } + } + + intersect = (entries) => { + const lastEntry = entries.slice(-1)[0]; + if (lastEntry?.isIntersecting) { + this.delegate.elementAppearedInViewport(this.element); + } + } +} + +class StreamMessage { + static contentType = "text/vnd.turbo-stream.html" + + static wrap(message) { + if (typeof message == "string") { + return new this(createDocumentFragment(message)) + } else { + return message + } + } + + constructor(fragment) { + this.fragment = importStreamElements(fragment); + } +} + +function importStreamElements(fragment) { + for (const element of fragment.querySelectorAll("turbo-stream")) { + const streamElement = document.importNode(element, true); + + for (const inertScriptElement of streamElement.templateElement.content.querySelectorAll("script")) { + inertScriptElement.replaceWith(activateScriptElement(inertScriptElement)); + } + + element.replaceWith(streamElement); + } + + return fragment +} + +const identity = key => key; + +class LRUCache { + keys = [] + entries = {} + #toCacheKey + + constructor(size, toCacheKey = identity) { + this.size = size; + this.#toCacheKey = toCacheKey; + } + + has(key) { + return this.#toCacheKey(key) in this.entries + } + + get(key) { + if (this.has(key)) { + const entry = this.read(key); + this.touch(key); + return entry + } + } + + put(key, entry) { + this.write(key, entry); + this.touch(key); + return entry + } + + clear() { + for (const key of Object.keys(this.entries)) { + this.evict(key); + } + } + + // Private + + read(key) { + return this.entries[this.#toCacheKey(key)] + } + + write(key, entry) { + this.entries[this.#toCacheKey(key)] = entry; + } + + touch(key) { + key = this.#toCacheKey(key); + const index = this.keys.indexOf(key); + if (index > -1) this.keys.splice(index, 1); + this.keys.unshift(key); + this.trim(); + } + + trim() { + for (const key of this.keys.splice(this.size)) { + this.evict(key); + } + } + + evict(key) { + delete this.entries[key]; + } +} + +const PREFETCH_DELAY = 100; + +class PrefetchCache extends LRUCache { + #prefetchTimeout = null + #maxAges = {} + + constructor(size = 1, prefetchDelay = PREFETCH_DELAY) { + super(size, toCacheKey); + this.prefetchDelay = prefetchDelay; + } + + putLater(url, request, ttl) { + this.#prefetchTimeout = setTimeout(() => { + request.perform(); + this.put(url, request, ttl); + this.#prefetchTimeout = null; + }, this.prefetchDelay); + } + + put(url, request, ttl = cacheTtl) { + super.put(url, request); + this.#maxAges[toCacheKey(url)] = new Date(new Date().getTime() + ttl); + } + + clear() { + super.clear(); + if (this.#prefetchTimeout) clearTimeout(this.#prefetchTimeout); + } + + evict(key) { + super.evict(key); + delete this.#maxAges[key]; + } + + has(key) { + if (super.has(key)) { + const maxAge = this.#maxAges[toCacheKey(key)]; + + return maxAge && maxAge > Date.now() + } else { + return false + } + } +} + +const cacheTtl = 10 * 1000; +const prefetchCache = new PrefetchCache(); + +const FormSubmissionState = { + initialized: "initialized", + requesting: "requesting", + waiting: "waiting", + receiving: "receiving", + stopping: "stopping", + stopped: "stopped" +}; + +class FormSubmission { + state = FormSubmissionState.initialized + + static confirmMethod(message) { + return Promise.resolve(confirm(message)) + } + + constructor(delegate, formElement, submitter, mustRedirect = false) { + const method = getMethod(formElement, submitter); + const action = getAction(getFormAction(formElement, submitter), method); + const body = buildFormData(formElement, submitter); + const enctype = getEnctype(formElement, submitter); + + this.delegate = delegate; + this.formElement = formElement; + this.submitter = submitter; + this.fetchRequest = new FetchRequest(this, method, action, body, formElement, enctype); + this.mustRedirect = mustRedirect; + } + + get method() { + return this.fetchRequest.method + } + + set method(value) { + this.fetchRequest.method = value; + } + + get action() { + return this.fetchRequest.url.toString() + } + + set action(value) { + this.fetchRequest.url = expandURL(value); + } + + get body() { + return this.fetchRequest.body + } + + get enctype() { + return this.fetchRequest.enctype + } + + get isSafe() { + return this.fetchRequest.isSafe + } + + get location() { + return this.fetchRequest.url + } + + // The submission process + + async start() { + const { initialized, requesting } = FormSubmissionState; + const confirmationMessage = getAttribute("data-turbo-confirm", this.submitter, this.formElement); + + if (typeof confirmationMessage === "string") { + const confirmMethod = typeof config.forms.confirm === "function" ? + config.forms.confirm : + FormSubmission.confirmMethod; + + const answer = await confirmMethod(confirmationMessage, this.formElement, this.submitter); + if (!answer) { + return + } + } + + if (this.state == initialized) { + this.state = requesting; + return this.fetchRequest.perform() + } + } + + stop() { + const { stopping, stopped } = FormSubmissionState; + if (this.state != stopping && this.state != stopped) { + this.state = stopping; + this.fetchRequest.cancel(); + return true + } + } + + // Fetch request delegate + + prepareRequest(request) { + if (!request.isSafe) { + const token = getCookieValue(getMetaContent("csrf-param")) || getMetaContent("csrf-token"); + if (token) { + request.headers["X-CSRF-Token"] = token; + } + } + + if (this.requestAcceptsTurboStreamResponse(request)) { + request.acceptResponseType(StreamMessage.contentType); + } + } + + requestStarted(_request) { + this.state = FormSubmissionState.waiting; + if (this.submitter) config.forms.submitter.beforeSubmit(this.submitter); + this.setSubmitsWith(); + markAsBusy(this.formElement); + dispatch("turbo:submit-start", { + target: this.formElement, + detail: { formSubmission: this } + }); + this.delegate.formSubmissionStarted(this); + } + + requestPreventedHandlingResponse(request, response) { + prefetchCache.clear(); + + this.result = { success: response.succeeded, fetchResponse: response }; + } + + requestSucceededWithResponse(request, response) { + if (response.clientError || response.serverError) { + this.delegate.formSubmissionFailedWithResponse(this, response); + return + } + + prefetchCache.clear(); + + if (this.requestMustRedirect(request) && responseSucceededWithoutRedirect(response)) { + const error = new Error("Form responses must redirect to another location"); + this.delegate.formSubmissionErrored(this, error); + } else { + this.state = FormSubmissionState.receiving; + this.result = { success: true, fetchResponse: response }; + this.delegate.formSubmissionSucceededWithResponse(this, response); + } + } + + requestFailedWithResponse(request, response) { + this.result = { success: false, fetchResponse: response }; + this.delegate.formSubmissionFailedWithResponse(this, response); + } + + requestErrored(request, error) { + this.result = { success: false, error }; + this.delegate.formSubmissionErrored(this, error); + } + + requestFinished(_request) { + this.state = FormSubmissionState.stopped; + if (this.submitter) config.forms.submitter.afterSubmit(this.submitter); + this.resetSubmitterText(); + clearBusyState(this.formElement); + dispatch("turbo:submit-end", { + target: this.formElement, + detail: { formSubmission: this, ...this.result } + }); + this.delegate.formSubmissionFinished(this); + } + + // Private + + setSubmitsWith() { + if (!this.submitter || !this.submitsWith) return + + if (this.submitter.matches("button")) { + this.originalSubmitText = this.submitter.innerHTML; + this.submitter.innerHTML = this.submitsWith; + } else if (this.submitter.matches("input")) { + const input = this.submitter; + this.originalSubmitText = input.value; + input.value = this.submitsWith; + } + } + + resetSubmitterText() { + if (!this.submitter || !this.originalSubmitText) return + + if (this.submitter.matches("button")) { + this.submitter.innerHTML = this.originalSubmitText; + } else if (this.submitter.matches("input")) { + const input = this.submitter; + input.value = this.originalSubmitText; + } + } + + requestMustRedirect(request) { + return !request.isSafe && this.mustRedirect + } + + requestAcceptsTurboStreamResponse(request) { + return !request.isSafe || hasAttribute("data-turbo-stream", this.submitter, this.formElement) + } + + get submitsWith() { + return this.submitter?.getAttribute("data-turbo-submits-with") + } +} + +function buildFormData(formElement, submitter) { + const formData = new FormData(formElement); + const name = submitter?.getAttribute("name"); + const value = submitter?.getAttribute("value"); + + if (name) { + formData.append(name, value || ""); + } + + return formData +} + +function getCookieValue(cookieName) { + if (cookieName != null) { + const cookies = document.cookie ? document.cookie.split("; ") : []; + const cookie = cookies.find((cookie) => cookie.startsWith(cookieName)); + if (cookie) { + const value = cookie.split("=").slice(1).join("="); + return value ? decodeURIComponent(value) : undefined + } + } +} + +function responseSucceededWithoutRedirect(response) { + return response.statusCode == 200 && !response.redirected +} + +function getFormAction(formElement, submitter) { + const formElementAction = typeof formElement.action === "string" ? formElement.action : null; + + if (submitter?.hasAttribute("formaction")) { + return submitter.getAttribute("formaction") || "" + } else { + return formElement.getAttribute("action") || formElementAction || "" + } +} + +function getAction(formAction, fetchMethod) { + const action = expandURL(formAction); + + if (isSafe(fetchMethod)) { + action.search = ""; + } + + return action +} + +function getMethod(formElement, submitter) { + const method = submitter?.getAttribute("formmethod") || formElement.getAttribute("method") || ""; + return fetchMethodFromString(method.toLowerCase()) || FetchMethod.get +} + +function getEnctype(formElement, submitter) { + return fetchEnctypeFromString(submitter?.getAttribute("formenctype") || formElement.enctype) +} + +class Snapshot { + constructor(element) { + this.element = element; + } + + get activeElement() { + return this.element.ownerDocument.activeElement + } + + get children() { + return [...this.element.children] + } + + hasAnchor(anchor) { + return this.getElementForAnchor(anchor) != null + } + + getElementForAnchor(anchor) { + return anchor ? this.element.querySelector(`[id='${anchor}'], a[name='${anchor}']`) : null + } + + get isConnected() { + return this.element.isConnected + } + + get firstAutofocusableElement() { + return queryAutofocusableElement(this.element) + } + + get permanentElements() { + return queryPermanentElementsAll(this.element) + } + + getPermanentElementById(id) { + return getPermanentElementById(this.element, id) + } + + getPermanentElementMapForSnapshot(snapshot) { + const permanentElementMap = {}; + + for (const currentPermanentElement of this.permanentElements) { + const { id } = currentPermanentElement; + const newPermanentElement = snapshot.getPermanentElementById(id); + if (newPermanentElement) { + permanentElementMap[id] = [currentPermanentElement, newPermanentElement]; + } + } + + return permanentElementMap + } +} + +function getPermanentElementById(node, id) { + return node.querySelector(`#${id}[data-turbo-permanent]`) +} + +function queryPermanentElementsAll(node) { + return node.querySelectorAll("[id][data-turbo-permanent]") +} + +class FormSubmitObserver { + started = false + + constructor(delegate, eventTarget) { + this.delegate = delegate; + this.eventTarget = eventTarget; + } + + start() { + if (!this.started) { + this.eventTarget.addEventListener("submit", this.submitCaptured, true); + this.started = true; + } + } + + stop() { + if (this.started) { + this.eventTarget.removeEventListener("submit", this.submitCaptured, true); + this.started = false; + } + } + + submitCaptured = () => { + this.eventTarget.removeEventListener("submit", this.submitBubbled, false); + this.eventTarget.addEventListener("submit", this.submitBubbled, false); + } + + submitBubbled = (event) => { + if (!event.defaultPrevented) { + const form = event.target instanceof HTMLFormElement ? event.target : undefined; + const submitter = event.submitter || undefined; + + if ( + form && + submissionDoesNotDismissDialog(form, submitter) && + submissionDoesNotTargetIFrame(form, submitter) && + this.delegate.willSubmitForm(form, submitter) + ) { + event.preventDefault(); + event.stopImmediatePropagation(); + this.delegate.formSubmitted(form, submitter); + } + } + } +} + +function submissionDoesNotDismissDialog(form, submitter) { + const method = submitter?.getAttribute("formmethod") || form.getAttribute("method"); + + return method != "dialog" +} + +function submissionDoesNotTargetIFrame(form, submitter) { + const target = submitter?.getAttribute("formtarget") || form.getAttribute("target"); + + return doesNotTargetIFrame(target) +} + +class View { + #resolveRenderPromise = (_value) => {} + #resolveInterceptionPromise = (_value) => {} + + constructor(delegate, element) { + this.delegate = delegate; + this.element = element; + } + + // Scrolling + + scrollToAnchor(anchor) { + const element = this.snapshot.getElementForAnchor(anchor); + if (element) { + this.focusElement(element); + this.scrollToElement(element); + } else { + this.scrollToPosition({ x: 0, y: 0 }); + } + } + + scrollToAnchorFromLocation(location) { + this.scrollToAnchor(getAnchor(location)); + } + + scrollToElement(element) { + element.scrollIntoView(); + } + + focusElement(element) { + if (element instanceof HTMLElement) { + if (element.hasAttribute("tabindex")) { + element.focus(); + } else { + element.setAttribute("tabindex", "-1"); + element.focus(); + element.removeAttribute("tabindex"); + } + } + } + + scrollToPosition({ x, y }) { + this.scrollRoot.scrollTo(x, y); + } + + scrollToTop() { + this.scrollToPosition({ x: 0, y: 0 }); + } + + get scrollRoot() { + return window + } + + // Rendering + + async render(renderer) { + const { isPreview, shouldRender, willRender, newSnapshot: snapshot } = renderer; + + // A workaround to ignore tracked element mismatch reloads when performing + // a promoted Visit from a frame navigation + const shouldInvalidate = willRender; + + if (shouldRender) { + try { + this.renderPromise = new Promise((resolve) => (this.#resolveRenderPromise = resolve)); + this.renderer = renderer; + await this.prepareToRenderSnapshot(renderer); + + const renderInterception = new Promise((resolve) => (this.#resolveInterceptionPromise = resolve)); + const options = { resume: this.#resolveInterceptionPromise, render: this.renderer.renderElement, renderMethod: this.renderer.renderMethod }; + const immediateRender = this.delegate.allowsImmediateRender(snapshot, options); + if (!immediateRender) await renderInterception; + + await this.renderSnapshot(renderer); + this.delegate.viewRenderedSnapshot(snapshot, isPreview, this.renderer.renderMethod); + this.delegate.preloadOnLoadLinksForView(this.element); + this.finishRenderingSnapshot(renderer); + } finally { + delete this.renderer; + this.#resolveRenderPromise(undefined); + delete this.renderPromise; + } + } else if (shouldInvalidate) { + this.invalidate(renderer.reloadReason); + } + } + + invalidate(reason) { + this.delegate.viewInvalidated(reason); + } + + async prepareToRenderSnapshot(renderer) { + this.markAsPreview(renderer.isPreview); + await renderer.prepareToRender(); + } + + markAsPreview(isPreview) { + if (isPreview) { + this.element.setAttribute("data-turbo-preview", ""); + } else { + this.element.removeAttribute("data-turbo-preview"); + } + } + + markVisitDirection(direction) { + this.element.setAttribute("data-turbo-visit-direction", direction); + } + + unmarkVisitDirection() { + this.element.removeAttribute("data-turbo-visit-direction"); + } + + async renderSnapshot(renderer) { + await renderer.render(); + } + + finishRenderingSnapshot(renderer) { + renderer.finishRendering(); + } +} + +class FrameView extends View { + missing() { + this.element.innerHTML = `Content missing`; + } + + get snapshot() { + return new Snapshot(this.element) + } +} + +class LinkInterceptor { + constructor(delegate, element) { + this.delegate = delegate; + this.element = element; + } + + start() { + this.element.addEventListener("click", this.clickBubbled); + document.addEventListener("turbo:click", this.linkClicked); + document.addEventListener("turbo:before-visit", this.willVisit); + } + + stop() { + this.element.removeEventListener("click", this.clickBubbled); + document.removeEventListener("turbo:click", this.linkClicked); + document.removeEventListener("turbo:before-visit", this.willVisit); + } + + clickBubbled = (event) => { + if (this.clickEventIsSignificant(event)) { + this.clickEvent = event; + } else { + delete this.clickEvent; + } + } + + linkClicked = (event) => { + if (this.clickEvent && this.clickEventIsSignificant(event)) { + if (this.delegate.shouldInterceptLinkClick(event.target, event.detail.url, event.detail.originalEvent)) { + this.clickEvent.preventDefault(); + event.preventDefault(); + this.delegate.linkClickIntercepted(event.target, event.detail.url, event.detail.originalEvent); + } + } + delete this.clickEvent; + } + + willVisit = (_event) => { + delete this.clickEvent; + } + + clickEventIsSignificant(event) { + const target = event.composed ? event.target?.parentElement : event.target; + const element = findLinkFromClickTarget(target) || target; + + return element instanceof Element && element.closest("turbo-frame, html") == this.element + } +} + +class LinkClickObserver { + started = false + + constructor(delegate, eventTarget) { + this.delegate = delegate; + this.eventTarget = eventTarget; + } + + start() { + if (!this.started) { + this.eventTarget.addEventListener("click", this.clickCaptured, true); + this.started = true; + } + } + + stop() { + if (this.started) { + this.eventTarget.removeEventListener("click", this.clickCaptured, true); + this.started = false; + } + } + + clickCaptured = () => { + this.eventTarget.removeEventListener("click", this.clickBubbled, false); + this.eventTarget.addEventListener("click", this.clickBubbled, false); + } + + clickBubbled = (event) => { + if (event instanceof MouseEvent && this.clickEventIsSignificant(event)) { + const target = (event.composedPath && event.composedPath()[0]) || event.target; + const link = findLinkFromClickTarget(target); + if (link && doesNotTargetIFrame(link.target)) { + const location = getLocationForLink(link); + if (this.delegate.willFollowLinkToLocation(link, location, event)) { + event.preventDefault(); + this.delegate.followedLinkToLocation(link, location); + } + } + } + } + + clickEventIsSignificant(event) { + return !( + (event.target && event.target.isContentEditable) || + event.defaultPrevented || + event.which > 1 || + event.altKey || + event.ctrlKey || + event.metaKey || + event.shiftKey + ) + } +} + +class FormLinkClickObserver { + constructor(delegate, element) { + this.delegate = delegate; + this.linkInterceptor = new LinkClickObserver(this, element); + } + + start() { + this.linkInterceptor.start(); + } + + stop() { + this.linkInterceptor.stop(); + } + + // Link hover observer delegate + + canPrefetchRequestToLocation(link, location) { + return false + } + + prefetchAndCacheRequestToLocation(link, location) { + return + } + + // Link click observer delegate + + willFollowLinkToLocation(link, location, originalEvent) { + return ( + this.delegate.willSubmitFormLinkToLocation(link, location, originalEvent) && + (link.hasAttribute("data-turbo-method") || link.hasAttribute("data-turbo-stream")) + ) + } + + followedLinkToLocation(link, location) { + const form = document.createElement("form"); + + const type = "hidden"; + for (const [name, value] of location.searchParams) { + form.append(Object.assign(document.createElement("input"), { type, name, value })); + } + + const action = Object.assign(location, { search: "" }); + form.setAttribute("data-turbo", "true"); + form.setAttribute("action", action.href); + form.setAttribute("hidden", ""); + + const method = link.getAttribute("data-turbo-method"); + if (method) form.setAttribute("method", method); + + const turboFrame = link.getAttribute("data-turbo-frame"); + if (turboFrame) form.setAttribute("data-turbo-frame", turboFrame); + + const turboAction = getVisitAction(link); + if (turboAction) form.setAttribute("data-turbo-action", turboAction); + + const turboConfirm = link.getAttribute("data-turbo-confirm"); + if (turboConfirm) form.setAttribute("data-turbo-confirm", turboConfirm); + + const turboStream = link.hasAttribute("data-turbo-stream"); + if (turboStream) form.setAttribute("data-turbo-stream", ""); + + this.delegate.submittedFormLinkToLocation(link, location, form); + + document.body.appendChild(form); + form.addEventListener("turbo:submit-end", () => form.remove(), { once: true }); + requestAnimationFrame(() => form.requestSubmit()); + } +} + +class Bardo { + static async preservingPermanentElements(delegate, permanentElementMap, callback) { + const bardo = new this(delegate, permanentElementMap); + bardo.enter(); + await callback(); + bardo.leave(); + } + + constructor(delegate, permanentElementMap) { + this.delegate = delegate; + this.permanentElementMap = permanentElementMap; + } + + enter() { + for (const id in this.permanentElementMap) { + const [currentPermanentElement, newPermanentElement] = this.permanentElementMap[id]; + this.delegate.enteringBardo(currentPermanentElement, newPermanentElement); + this.replaceNewPermanentElementWithPlaceholder(newPermanentElement); + } + } + + leave() { + for (const id in this.permanentElementMap) { + const [currentPermanentElement] = this.permanentElementMap[id]; + this.replaceCurrentPermanentElementWithClone(currentPermanentElement); + this.replacePlaceholderWithPermanentElement(currentPermanentElement); + this.delegate.leavingBardo(currentPermanentElement); + } + } + + replaceNewPermanentElementWithPlaceholder(permanentElement) { + const placeholder = createPlaceholderForPermanentElement(permanentElement); + permanentElement.replaceWith(placeholder); + } + + replaceCurrentPermanentElementWithClone(permanentElement) { + const clone = permanentElement.cloneNode(true); + permanentElement.replaceWith(clone); + } + + replacePlaceholderWithPermanentElement(permanentElement) { + const placeholder = this.getPlaceholderById(permanentElement.id); + placeholder?.replaceWith(permanentElement); + } + + getPlaceholderById(id) { + return this.placeholders.find((element) => element.content == id) + } + + get placeholders() { + return [...document.querySelectorAll("meta[name=turbo-permanent-placeholder][content]")] + } +} + +function createPlaceholderForPermanentElement(permanentElement) { + const element = document.createElement("meta"); + element.setAttribute("name", "turbo-permanent-placeholder"); + element.setAttribute("content", permanentElement.id); + return element +} + +class Renderer { + #activeElement = null + + static renderElement(currentElement, newElement) { + // Abstract method + } + + constructor(currentSnapshot, newSnapshot, isPreview, willRender = true) { + this.currentSnapshot = currentSnapshot; + this.newSnapshot = newSnapshot; + this.isPreview = isPreview; + this.willRender = willRender; + this.renderElement = this.constructor.renderElement; + this.promise = new Promise((resolve, reject) => (this.resolvingFunctions = { resolve, reject })); + } + + get shouldRender() { + return true + } + + get shouldAutofocus() { + return true + } + + get reloadReason() { + return + } + + prepareToRender() { + return + } + + render() { + // Abstract method + } + + finishRendering() { + if (this.resolvingFunctions) { + this.resolvingFunctions.resolve(); + delete this.resolvingFunctions; + } + } + + async preservingPermanentElements(callback) { + await Bardo.preservingPermanentElements(this, this.permanentElementMap, callback); + } + + focusFirstAutofocusableElement() { + if (this.shouldAutofocus) { + const element = this.connectedSnapshot.firstAutofocusableElement; + if (element) { + element.focus(); + } + } + } + + // Bardo delegate + + enteringBardo(currentPermanentElement) { + if (this.#activeElement) return + + if (currentPermanentElement.contains(this.currentSnapshot.activeElement)) { + this.#activeElement = this.currentSnapshot.activeElement; + } + } + + leavingBardo(currentPermanentElement) { + if (currentPermanentElement.contains(this.#activeElement) && this.#activeElement instanceof HTMLElement) { + this.#activeElement.focus(); + + this.#activeElement = null; + } + } + + get connectedSnapshot() { + return this.newSnapshot.isConnected ? this.newSnapshot : this.currentSnapshot + } + + get currentElement() { + return this.currentSnapshot.element + } + + get newElement() { + return this.newSnapshot.element + } + + get permanentElementMap() { + return this.currentSnapshot.getPermanentElementMapForSnapshot(this.newSnapshot) + } + + get renderMethod() { + return "replace" + } +} + +class FrameRenderer extends Renderer { + static renderElement(currentElement, newElement) { + const destinationRange = document.createRange(); + destinationRange.selectNodeContents(currentElement); + destinationRange.deleteContents(); + + const frameElement = newElement; + const sourceRange = frameElement.ownerDocument?.createRange(); + if (sourceRange) { + sourceRange.selectNodeContents(frameElement); + currentElement.appendChild(sourceRange.extractContents()); + } + } + + constructor(delegate, currentSnapshot, newSnapshot, renderElement, isPreview, willRender = true) { + super(currentSnapshot, newSnapshot, renderElement, isPreview, willRender); + this.delegate = delegate; + } + + get shouldRender() { + return true + } + + async render() { + await nextRepaint(); + this.preservingPermanentElements(() => { + this.loadFrameElement(); + }); + this.scrollFrameIntoView(); + await nextRepaint(); + this.focusFirstAutofocusableElement(); + await nextRepaint(); + this.activateScriptElements(); + } + + loadFrameElement() { + this.delegate.willRenderFrame(this.currentElement, this.newElement); + this.renderElement(this.currentElement, this.newElement); + } + + scrollFrameIntoView() { + if (this.currentElement.autoscroll || this.newElement.autoscroll) { + const element = this.currentElement.firstElementChild; + const block = readScrollLogicalPosition(this.currentElement.getAttribute("data-autoscroll-block"), "end"); + const behavior = readScrollBehavior(this.currentElement.getAttribute("data-autoscroll-behavior"), "auto"); + + if (element) { + element.scrollIntoView({ block, behavior }); + return true + } + } + return false + } + + activateScriptElements() { + for (const inertScriptElement of this.newScriptElements) { + const activatedScriptElement = activateScriptElement(inertScriptElement); + inertScriptElement.replaceWith(activatedScriptElement); + } + } + + get newScriptElements() { + return this.currentElement.querySelectorAll("script") + } +} + +function readScrollLogicalPosition(value, defaultValue) { + if (value == "end" || value == "start" || value == "center" || value == "nearest") { + return value + } else { + return defaultValue + } +} + +function readScrollBehavior(value, defaultValue) { + if (value == "auto" || value == "smooth") { + return value + } else { + return defaultValue + } +} + +/** + * @typedef {object} ConfigHead + * + * @property {'merge' | 'append' | 'morph' | 'none'} [style] + * @property {boolean} [block] + * @property {boolean} [ignore] + * @property {function(Element): boolean} [shouldPreserve] + * @property {function(Element): boolean} [shouldReAppend] + * @property {function(Element): boolean} [shouldRemove] + * @property {function(Element, {added: Node[], kept: Element[], removed: Element[]}): void} [afterHeadMorphed] + */ + +/** + * @typedef {object} ConfigCallbacks + * + * @property {function(Node): boolean} [beforeNodeAdded] + * @property {function(Node): void} [afterNodeAdded] + * @property {function(Element, Node): boolean} [beforeNodeMorphed] + * @property {function(Element, Node): void} [afterNodeMorphed] + * @property {function(Element): boolean} [beforeNodeRemoved] + * @property {function(Element): void} [afterNodeRemoved] + * @property {function(string, Element, "update" | "remove"): boolean} [beforeAttributeUpdated] + */ + +/** + * @typedef {object} Config + * + * @property {'outerHTML' | 'innerHTML'} [morphStyle] + * @property {boolean} [ignoreActive] + * @property {boolean} [ignoreActiveValue] + * @property {boolean} [restoreFocus] + * @property {ConfigCallbacks} [callbacks] + * @property {ConfigHead} [head] + */ + +/** + * @typedef {function} NoOp + * + * @returns {void} + */ + +/** + * @typedef {object} ConfigHeadInternal + * + * @property {'merge' | 'append' | 'morph' | 'none'} style + * @property {boolean} [block] + * @property {boolean} [ignore] + * @property {(function(Element): boolean) | NoOp} shouldPreserve + * @property {(function(Element): boolean) | NoOp} shouldReAppend + * @property {(function(Element): boolean) | NoOp} shouldRemove + * @property {(function(Element, {added: Node[], kept: Element[], removed: Element[]}): void) | NoOp} afterHeadMorphed + */ + +/** + * @typedef {object} ConfigCallbacksInternal + * + * @property {(function(Node): boolean) | NoOp} beforeNodeAdded + * @property {(function(Node): void) | NoOp} afterNodeAdded + * @property {(function(Node, Node): boolean) | NoOp} beforeNodeMorphed + * @property {(function(Node, Node): void) | NoOp} afterNodeMorphed + * @property {(function(Node): boolean) | NoOp} beforeNodeRemoved + * @property {(function(Node): void) | NoOp} afterNodeRemoved + * @property {(function(string, Element, "update" | "remove"): boolean) | NoOp} beforeAttributeUpdated + */ + +/** + * @typedef {object} ConfigInternal + * + * @property {'outerHTML' | 'innerHTML'} morphStyle + * @property {boolean} [ignoreActive] + * @property {boolean} [ignoreActiveValue] + * @property {boolean} [restoreFocus] + * @property {ConfigCallbacksInternal} callbacks + * @property {ConfigHeadInternal} head + */ + +/** + * @typedef {Object} IdSets + * @property {Set} persistentIds + * @property {Map>} idMap + */ + +/** + * @typedef {Function} Morph + * + * @param {Element | Document} oldNode + * @param {Element | Node | HTMLCollection | Node[] | string | null} newContent + * @param {Config} [config] + * @returns {undefined | Node[]} + */ + +// base IIFE to define idiomorph +/** + * + * @type {{defaults: ConfigInternal, morph: Morph}} + */ +var Idiomorph = (function () { + + /** + * @typedef {object} MorphContext + * + * @property {Element} target + * @property {Element} newContent + * @property {ConfigInternal} config + * @property {ConfigInternal['morphStyle']} morphStyle + * @property {ConfigInternal['ignoreActive']} ignoreActive + * @property {ConfigInternal['ignoreActiveValue']} ignoreActiveValue + * @property {ConfigInternal['restoreFocus']} restoreFocus + * @property {Map>} idMap + * @property {Set} persistentIds + * @property {ConfigInternal['callbacks']} callbacks + * @property {ConfigInternal['head']} head + * @property {HTMLDivElement} pantry + * @property {Element[]} activeElementAndParents + */ + + //============================================================================= + // AND NOW IT BEGINS... + //============================================================================= + + const noOp = () => {}; + /** + * Default configuration values, updatable by users now + * @type {ConfigInternal} + */ + const defaults = { + morphStyle: "outerHTML", + callbacks: { + beforeNodeAdded: noOp, + afterNodeAdded: noOp, + beforeNodeMorphed: noOp, + afterNodeMorphed: noOp, + beforeNodeRemoved: noOp, + afterNodeRemoved: noOp, + beforeAttributeUpdated: noOp, + }, + head: { + style: "merge", + shouldPreserve: (elt) => elt.getAttribute("im-preserve") === "true", + shouldReAppend: (elt) => elt.getAttribute("im-re-append") === "true", + shouldRemove: noOp, + afterHeadMorphed: noOp, + }, + restoreFocus: true, + }; + + /** + * Core idiomorph function for morphing one DOM tree to another + * + * @param {Element | Document} oldNode + * @param {Element | Node | HTMLCollection | Node[] | string | null} newContent + * @param {Config} [config] + * @returns {Promise | Node[]} + */ + function morph(oldNode, newContent, config = {}) { + oldNode = normalizeElement(oldNode); + const newNode = normalizeParent(newContent); + const ctx = createMorphContext(oldNode, newNode, config); + + const morphedNodes = saveAndRestoreFocus(ctx, () => { + return withHeadBlocking( + ctx, + oldNode, + newNode, + /** @param {MorphContext} ctx */ (ctx) => { + if (ctx.morphStyle === "innerHTML") { + morphChildren(ctx, oldNode, newNode); + return Array.from(oldNode.childNodes); + } else { + return morphOuterHTML(ctx, oldNode, newNode); + } + }, + ); + }); + + ctx.pantry.remove(); + return morphedNodes; + } + + /** + * Morph just the outerHTML of the oldNode to the newContent + * We have to be careful because the oldNode could have siblings which need to be untouched + * @param {MorphContext} ctx + * @param {Element} oldNode + * @param {Element} newNode + * @returns {Node[]} + */ + function morphOuterHTML(ctx, oldNode, newNode) { + const oldParent = normalizeParent(oldNode); + morphChildren( + ctx, + oldParent, + newNode, + // these two optional params are the secret sauce + oldNode, // start point for iteration + oldNode.nextSibling, // end point for iteration + ); + // this is safe even with siblings, because normalizeParent returns a SlicedParentNode if needed. + return Array.from(oldParent.childNodes); + } + + /** + * @param {MorphContext} ctx + * @param {Function} fn + * @returns {Promise | Node[]} + */ + function saveAndRestoreFocus(ctx, fn) { + if (!ctx.config.restoreFocus) return fn(); + let activeElement = + /** @type {HTMLInputElement|HTMLTextAreaElement|null} */ ( + document.activeElement + ); + + // don't bother if the active element is not an input or textarea + if ( + !( + activeElement instanceof HTMLInputElement || + activeElement instanceof HTMLTextAreaElement + ) + ) { + return fn(); + } + + const { id: activeElementId, selectionStart, selectionEnd } = activeElement; + + const results = fn(); + + if ( + activeElementId && + activeElementId !== document.activeElement?.getAttribute("id") + ) { + activeElement = ctx.target.querySelector(`[id="${activeElementId}"]`); + activeElement?.focus(); + } + if (activeElement && !activeElement.selectionEnd && selectionEnd) { + activeElement.setSelectionRange(selectionStart, selectionEnd); + } + + return results; + } + + const morphChildren = (function () { + /** + * This is the core algorithm for matching up children. The idea is to use id sets to try to match up + * nodes as faithfully as possible. We greedily match, which allows us to keep the algorithm fast, but + * by using id sets, we are able to better match up with content deeper in the DOM. + * + * Basic algorithm: + * - for each node in the new content: + * - search self and siblings for an id set match, falling back to a soft match + * - if match found + * - remove any nodes up to the match: + * - pantry persistent nodes + * - delete the rest + * - morph the match + * - elsif no match found, and node is persistent + * - find its match by querying the old root (future) and pantry (past) + * - move it and its children here + * - morph it + * - else + * - create a new node from scratch as a last result + * + * @param {MorphContext} ctx the merge context + * @param {Element} oldParent the old content that we are merging the new content into + * @param {Element} newParent the parent element of the new content + * @param {Node|null} [insertionPoint] the point in the DOM we start morphing at (defaults to first child) + * @param {Node|null} [endPoint] the point in the DOM we stop morphing at (defaults to after last child) + */ + function morphChildren( + ctx, + oldParent, + newParent, + insertionPoint = null, + endPoint = null, + ) { + // normalize + if ( + oldParent instanceof HTMLTemplateElement && + newParent instanceof HTMLTemplateElement + ) { + // @ts-ignore we can pretend the DocumentFragment is an Element + oldParent = oldParent.content; + // @ts-ignore ditto + newParent = newParent.content; + } + insertionPoint ||= oldParent.firstChild; + + // run through all the new content + for (const newChild of newParent.childNodes) { + // once we reach the end of the old parent content skip to the end and insert the rest + if (insertionPoint && insertionPoint != endPoint) { + const bestMatch = findBestMatch( + ctx, + newChild, + insertionPoint, + endPoint, + ); + if (bestMatch) { + // if the node to morph is not at the insertion point then remove/move up to it + if (bestMatch !== insertionPoint) { + removeNodesBetween(ctx, insertionPoint, bestMatch); + } + morphNode(bestMatch, newChild, ctx); + insertionPoint = bestMatch.nextSibling; + continue; + } + } + + // if the matching node is elsewhere in the original content + if (newChild instanceof Element) { + // we can pretend the id is non-null because the next `.has` line will reject it if not + const newChildId = /** @type {String} */ ( + newChild.getAttribute("id") + ); + if (ctx.persistentIds.has(newChildId)) { + // move it and all its children here and morph + const movedChild = moveBeforeById( + oldParent, + newChildId, + insertionPoint, + ctx, + ); + morphNode(movedChild, newChild, ctx); + insertionPoint = movedChild.nextSibling; + continue; + } + } + + // last resort: insert the new node from scratch + const insertedNode = createNode( + oldParent, + newChild, + insertionPoint, + ctx, + ); + // could be null if beforeNodeAdded prevented insertion + if (insertedNode) { + insertionPoint = insertedNode.nextSibling; + } + } + + // remove any remaining old nodes that didn't match up with new content + while (insertionPoint && insertionPoint != endPoint) { + const tempNode = insertionPoint; + insertionPoint = insertionPoint.nextSibling; + removeNode(ctx, tempNode); + } + } + + /** + * This performs the action of inserting a new node while handling situations where the node contains + * elements with persistent ids and possible state info we can still preserve by moving in and then morphing + * + * @param {Element} oldParent + * @param {Node} newChild + * @param {Node|null} insertionPoint + * @param {MorphContext} ctx + * @returns {Node|null} + */ + function createNode(oldParent, newChild, insertionPoint, ctx) { + if (ctx.callbacks.beforeNodeAdded(newChild) === false) return null; + if (ctx.idMap.has(newChild)) { + // node has children with ids with possible state so create a dummy elt of same type and apply full morph algorithm + const newEmptyChild = document.createElement( + /** @type {Element} */ (newChild).tagName, + ); + oldParent.insertBefore(newEmptyChild, insertionPoint); + morphNode(newEmptyChild, newChild, ctx); + ctx.callbacks.afterNodeAdded(newEmptyChild); + return newEmptyChild; + } else { + // optimisation: no id state to preserve so we can just insert a clone of the newChild and its descendants + const newClonedChild = document.importNode(newChild, true); // importNode to not mutate newParent + oldParent.insertBefore(newClonedChild, insertionPoint); + ctx.callbacks.afterNodeAdded(newClonedChild); + return newClonedChild; + } + } + + //============================================================================= + // Matching Functions + //============================================================================= + const findBestMatch = (function () { + /** + * Scans forward from the startPoint to the endPoint looking for a match + * for the node. It looks for an id set match first, then a soft match. + * We abort softmatching if we find two future soft matches, to reduce churn. + * @param {Node} node + * @param {MorphContext} ctx + * @param {Node | null} startPoint + * @param {Node | null} endPoint + * @returns {Node | null} + */ + function findBestMatch(ctx, node, startPoint, endPoint) { + let softMatch = null; + let nextSibling = node.nextSibling; + let siblingSoftMatchCount = 0; + + let cursor = startPoint; + while (cursor && cursor != endPoint) { + // soft matching is a prerequisite for id set matching + if (isSoftMatch(cursor, node)) { + if (isIdSetMatch(ctx, cursor, node)) { + return cursor; // found an id set match, we're done! + } + + // we haven't yet saved a soft match fallback + if (softMatch === null) { + // the current soft match will hard match something else in the future, leave it + if (!ctx.idMap.has(cursor)) { + // save this as the fallback if we get through the loop without finding a hard match + softMatch = cursor; + } + } + } + if ( + softMatch === null && + nextSibling && + isSoftMatch(cursor, nextSibling) + ) { + // The next new node has a soft match with this node, so + // increment the count of future soft matches + siblingSoftMatchCount++; + nextSibling = nextSibling.nextSibling; + + // If there are two future soft matches, block soft matching for this node to allow + // future siblings to soft match. This is to reduce churn in the DOM when an element + // is prepended. + if (siblingSoftMatchCount >= 2) { + softMatch = undefined; + } + } + + // if the current node contains active element, stop looking for better future matches, + // because if one is found, this node will be moved to the pantry, reparenting it and thus losing focus + // @ts-ignore pretend cursor is Element rather than Node, we're just testing for array inclusion + if (ctx.activeElementAndParents.includes(cursor)) break; + + cursor = cursor.nextSibling; + } + + return softMatch || null; + } + + /** + * + * @param {MorphContext} ctx + * @param {Node} oldNode + * @param {Node} newNode + * @returns {boolean} + */ + function isIdSetMatch(ctx, oldNode, newNode) { + let oldSet = ctx.idMap.get(oldNode); + let newSet = ctx.idMap.get(newNode); + + if (!newSet || !oldSet) return false; + + for (const id of oldSet) { + // a potential match is an id in the new and old nodes that + // has not already been merged into the DOM + // But the newNode content we call this on has not been + // merged yet and we don't allow duplicate IDs so it is simple + if (newSet.has(id)) { + return true; + } + } + return false; + } + + /** + * + * @param {Node} oldNode + * @param {Node} newNode + * @returns {boolean} + */ + function isSoftMatch(oldNode, newNode) { + // ok to cast: if one is not element, `id` and `tagName` will be undefined and we'll just compare that. + const oldElt = /** @type {Element} */ (oldNode); + const newElt = /** @type {Element} */ (newNode); + + return ( + oldElt.nodeType === newElt.nodeType && + oldElt.tagName === newElt.tagName && + // If oldElt has an `id` with possible state and it doesn't match newElt.id then avoid morphing. + // We'll still match an anonymous node with an IDed newElt, though, because if it got this far, + // its not persistent, and new nodes can't have any hidden state. + // We can't use .id because of form input shadowing, and we can't count on .getAttribute's presence because it could be a document-fragment + (!oldElt.getAttribute?.("id") || + oldElt.getAttribute?.("id") === newElt.getAttribute?.("id")) + ); + } + + return findBestMatch; + })(); + + //============================================================================= + // DOM Manipulation Functions + //============================================================================= + + /** + * Gets rid of an unwanted DOM node; strategy depends on nature of its reuse: + * - Persistent nodes will be moved to the pantry for later reuse + * - Other nodes will have their hooks called, and then are removed + * @param {MorphContext} ctx + * @param {Node} node + */ + function removeNode(ctx, node) { + // are we going to id set match this later? + if (ctx.idMap.has(node)) { + // skip callbacks and move to pantry + moveBefore(ctx.pantry, node, null); + } else { + // remove for realsies + if (ctx.callbacks.beforeNodeRemoved(node) === false) return; + node.parentNode?.removeChild(node); + ctx.callbacks.afterNodeRemoved(node); + } + } + + /** + * Remove nodes between the start and end nodes + * @param {MorphContext} ctx + * @param {Node} startInclusive + * @param {Node} endExclusive + * @returns {Node|null} + */ + function removeNodesBetween(ctx, startInclusive, endExclusive) { + /** @type {Node | null} */ + let cursor = startInclusive; + // remove nodes until the endExclusive node + while (cursor && cursor !== endExclusive) { + let tempNode = /** @type {Node} */ (cursor); + cursor = cursor.nextSibling; + removeNode(ctx, tempNode); + } + return cursor; + } + + /** + * Search for an element by id within the document and pantry, and move it using moveBefore. + * + * @param {Element} parentNode - The parent node to which the element will be moved. + * @param {string} id - The ID of the element to be moved. + * @param {Node | null} after - The reference node to insert the element before. + * If `null`, the element is appended as the last child. + * @param {MorphContext} ctx + * @returns {Element} The found element + */ + function moveBeforeById(parentNode, id, after, ctx) { + const target = + /** @type {Element} - will always be found */ + ( + // ctx.target.id unsafe because of form input shadowing + // ctx.target could be a document fragment which doesn't have `getAttribute` + (ctx.target.getAttribute?.("id") === id && ctx.target) || + ctx.target.querySelector(`[id="${id}"]`) || + ctx.pantry.querySelector(`[id="${id}"]`) + ); + removeElementFromAncestorsIdMaps(target, ctx); + moveBefore(parentNode, target, after); + return target; + } + + /** + * Removes an element from its ancestors' id maps. This is needed when an element is moved from the + * "future" via `moveBeforeId`. Otherwise, its erstwhile ancestors could be mistakenly moved to the + * pantry rather than being deleted, preventing their removal hooks from being called. + * + * @param {Element} element - element to remove from its ancestors' id maps + * @param {MorphContext} ctx + */ + function removeElementFromAncestorsIdMaps(element, ctx) { + // we know id is non-null String, because this function is only called on elements with ids + const id = /** @type {String} */ (element.getAttribute("id")); + /** @ts-ignore - safe to loop in this way **/ + while ((element = element.parentNode)) { + let idSet = ctx.idMap.get(element); + if (idSet) { + idSet.delete(id); + if (!idSet.size) { + ctx.idMap.delete(element); + } + } + } + } + + /** + * Moves an element before another element within the same parent. + * Uses the proposed `moveBefore` API if available (and working), otherwise falls back to `insertBefore`. + * This is essentialy a forward-compat wrapper. + * + * @param {Element} parentNode - The parent node containing the after element. + * @param {Node} element - The element to be moved. + * @param {Node | null} after - The reference node to insert `element` before. + * If `null`, `element` is appended as the last child. + */ + function moveBefore(parentNode, element, after) { + // @ts-ignore - use proposed moveBefore feature + if (parentNode.moveBefore) { + try { + // @ts-ignore - use proposed moveBefore feature + parentNode.moveBefore(element, after); + } catch (e) { + // fall back to insertBefore as some browsers may fail on moveBefore when trying to move Dom disconnected nodes to pantry + parentNode.insertBefore(element, after); + } + } else { + parentNode.insertBefore(element, after); + } + } + + return morphChildren; + })(); + + //============================================================================= + // Single Node Morphing Code + //============================================================================= + const morphNode = (function () { + /** + * @param {Node} oldNode root node to merge content into + * @param {Node} newContent new content to merge + * @param {MorphContext} ctx the merge context + * @returns {Node | null} the element that ended up in the DOM + */ + function morphNode(oldNode, newContent, ctx) { + if (ctx.ignoreActive && oldNode === document.activeElement) { + // don't morph focused element + return null; + } + + if (ctx.callbacks.beforeNodeMorphed(oldNode, newContent) === false) { + return oldNode; + } + + if (oldNode instanceof HTMLHeadElement && ctx.head.ignore) ; else if ( + oldNode instanceof HTMLHeadElement && + ctx.head.style !== "morph" + ) { + // ok to cast: if newContent wasn't also a , it would've got caught in the `!isSoftMatch` branch above + handleHeadElement( + oldNode, + /** @type {HTMLHeadElement} */ (newContent), + ctx, + ); + } else { + morphAttributes(oldNode, newContent, ctx); + if (!ignoreValueOfActiveElement(oldNode, ctx)) { + // @ts-ignore newContent can be a node here because .firstChild will be null + morphChildren(ctx, oldNode, newContent); + } + } + ctx.callbacks.afterNodeMorphed(oldNode, newContent); + return oldNode; + } + + /** + * syncs the oldNode to the newNode, copying over all attributes and + * inner element state from the newNode to the oldNode + * + * @param {Node} oldNode the node to copy attributes & state to + * @param {Node} newNode the node to copy attributes & state from + * @param {MorphContext} ctx the merge context + */ + function morphAttributes(oldNode, newNode, ctx) { + let type = newNode.nodeType; + + // if is an element type, sync the attributes from the + // new node into the new node + if (type === 1 /* element type */) { + const oldElt = /** @type {Element} */ (oldNode); + const newElt = /** @type {Element} */ (newNode); + + const oldAttributes = oldElt.attributes; + const newAttributes = newElt.attributes; + for (const newAttribute of newAttributes) { + if (ignoreAttribute(newAttribute.name, oldElt, "update", ctx)) { + continue; + } + if (oldElt.getAttribute(newAttribute.name) !== newAttribute.value) { + oldElt.setAttribute(newAttribute.name, newAttribute.value); + } + } + // iterate backwards to avoid skipping over items when a delete occurs + for (let i = oldAttributes.length - 1; 0 <= i; i--) { + const oldAttribute = oldAttributes[i]; + + // toAttributes is a live NamedNodeMap, so iteration+mutation is unsafe + // e.g. custom element attribute callbacks can remove other attributes + if (!oldAttribute) continue; + + if (!newElt.hasAttribute(oldAttribute.name)) { + if (ignoreAttribute(oldAttribute.name, oldElt, "remove", ctx)) { + continue; + } + oldElt.removeAttribute(oldAttribute.name); + } + } + + if (!ignoreValueOfActiveElement(oldElt, ctx)) { + syncInputValue(oldElt, newElt, ctx); + } + } + + // sync text nodes + if (type === 8 /* comment */ || type === 3 /* text */) { + if (oldNode.nodeValue !== newNode.nodeValue) { + oldNode.nodeValue = newNode.nodeValue; + } + } + } + + /** + * NB: many bothans died to bring us information: + * + * https://github.com/patrick-steele-idem/morphdom/blob/master/src/specialElHandlers.js + * https://github.com/choojs/nanomorph/blob/master/lib/morph.jsL113 + * + * @param {Element} oldElement the element to sync the input value to + * @param {Element} newElement the element to sync the input value from + * @param {MorphContext} ctx the merge context + */ + function syncInputValue(oldElement, newElement, ctx) { + if ( + oldElement instanceof HTMLInputElement && + newElement instanceof HTMLInputElement && + newElement.type !== "file" + ) { + let newValue = newElement.value; + let oldValue = oldElement.value; + + // sync boolean attributes + syncBooleanAttribute(oldElement, newElement, "checked", ctx); + syncBooleanAttribute(oldElement, newElement, "disabled", ctx); + + if (!newElement.hasAttribute("value")) { + if (!ignoreAttribute("value", oldElement, "remove", ctx)) { + oldElement.value = ""; + oldElement.removeAttribute("value"); + } + } else if (oldValue !== newValue) { + if (!ignoreAttribute("value", oldElement, "update", ctx)) { + oldElement.setAttribute("value", newValue); + oldElement.value = newValue; + } + } + // TODO: QUESTION(1cg): this used to only check `newElement` unlike the other branches -- why? + // did I break something? + } else if ( + oldElement instanceof HTMLOptionElement && + newElement instanceof HTMLOptionElement + ) { + syncBooleanAttribute(oldElement, newElement, "selected", ctx); + } else if ( + oldElement instanceof HTMLTextAreaElement && + newElement instanceof HTMLTextAreaElement + ) { + let newValue = newElement.value; + let oldValue = oldElement.value; + if (ignoreAttribute("value", oldElement, "update", ctx)) { + return; + } + if (newValue !== oldValue) { + oldElement.value = newValue; + } + if ( + oldElement.firstChild && + oldElement.firstChild.nodeValue !== newValue + ) { + oldElement.firstChild.nodeValue = newValue; + } + } + } + + /** + * @param {Element} oldElement element to write the value to + * @param {Element} newElement element to read the value from + * @param {string} attributeName the attribute name + * @param {MorphContext} ctx the merge context + */ + function syncBooleanAttribute(oldElement, newElement, attributeName, ctx) { + // @ts-ignore this function is only used on boolean attrs that are reflected as dom properties + const newLiveValue = newElement[attributeName], + // @ts-ignore ditto + oldLiveValue = oldElement[attributeName]; + if (newLiveValue !== oldLiveValue) { + const ignoreUpdate = ignoreAttribute( + attributeName, + oldElement, + "update", + ctx, + ); + if (!ignoreUpdate) { + // update attribute's associated DOM property + // @ts-ignore this function is only used on boolean attrs that are reflected as dom properties + oldElement[attributeName] = newElement[attributeName]; + } + if (newLiveValue) { + if (!ignoreUpdate) { + // https://developer.mozilla.org/en-US/docs/Glossary/Boolean/HTML + // this is the correct way to set a boolean attribute to "true" + oldElement.setAttribute(attributeName, ""); + } + } else { + if (!ignoreAttribute(attributeName, oldElement, "remove", ctx)) { + oldElement.removeAttribute(attributeName); + } + } + } + } + + /** + * @param {string} attr the attribute to be mutated + * @param {Element} element the element that is going to be updated + * @param {"update" | "remove"} updateType + * @param {MorphContext} ctx the merge context + * @returns {boolean} true if the attribute should be ignored, false otherwise + */ + function ignoreAttribute(attr, element, updateType, ctx) { + if ( + attr === "value" && + ctx.ignoreActiveValue && + element === document.activeElement + ) { + return true; + } + return ( + ctx.callbacks.beforeAttributeUpdated(attr, element, updateType) === + false + ); + } + + /** + * @param {Node} possibleActiveElement + * @param {MorphContext} ctx + * @returns {boolean} + */ + function ignoreValueOfActiveElement(possibleActiveElement, ctx) { + return ( + !!ctx.ignoreActiveValue && + possibleActiveElement === document.activeElement && + possibleActiveElement !== document.body + ); + } + + return morphNode; + })(); + + //============================================================================= + // Head Management Functions + //============================================================================= + /** + * @param {MorphContext} ctx + * @param {Element} oldNode + * @param {Element} newNode + * @param {function} callback + * @returns {Node[] | Promise} + */ + function withHeadBlocking(ctx, oldNode, newNode, callback) { + if (ctx.head.block) { + const oldHead = oldNode.querySelector("head"); + const newHead = newNode.querySelector("head"); + if (oldHead && newHead) { + const promises = handleHeadElement(oldHead, newHead, ctx); + // when head promises resolve, proceed ignoring the head tag + return Promise.all(promises).then(() => { + const newCtx = Object.assign(ctx, { + head: { + block: false, + ignore: true, + }, + }); + return callback(newCtx); + }); + } + } + // just proceed if we not head blocking + return callback(ctx); + } + + /** + * The HEAD tag can be handled specially, either w/ a 'merge' or 'append' style + * + * @param {Element} oldHead + * @param {Element} newHead + * @param {MorphContext} ctx + * @returns {Promise[]} + */ + function handleHeadElement(oldHead, newHead, ctx) { + let added = []; + let removed = []; + let preserved = []; + let nodesToAppend = []; + + // put all new head elements into a Map, by their outerHTML + let srcToNewHeadNodes = new Map(); + for (const newHeadChild of newHead.children) { + srcToNewHeadNodes.set(newHeadChild.outerHTML, newHeadChild); + } + + // for each elt in the current head + for (const currentHeadElt of oldHead.children) { + // If the current head element is in the map + let inNewContent = srcToNewHeadNodes.has(currentHeadElt.outerHTML); + let isReAppended = ctx.head.shouldReAppend(currentHeadElt); + let isPreserved = ctx.head.shouldPreserve(currentHeadElt); + if (inNewContent || isPreserved) { + if (isReAppended) { + // remove the current version and let the new version replace it and re-execute + removed.push(currentHeadElt); + } else { + // this element already exists and should not be re-appended, so remove it from + // the new content map, preserving it in the DOM + srcToNewHeadNodes.delete(currentHeadElt.outerHTML); + preserved.push(currentHeadElt); + } + } else { + if (ctx.head.style === "append") { + // we are appending and this existing element is not new content + // so if and only if it is marked for re-append do we do anything + if (isReAppended) { + removed.push(currentHeadElt); + nodesToAppend.push(currentHeadElt); + } + } else { + // if this is a merge, we remove this content since it is not in the new head + if (ctx.head.shouldRemove(currentHeadElt) !== false) { + removed.push(currentHeadElt); + } + } + } + } + + // Push the remaining new head elements in the Map into the + // nodes to append to the head tag + nodesToAppend.push(...srcToNewHeadNodes.values()); + + let promises = []; + for (const newNode of nodesToAppend) { + // TODO: This could theoretically be null, based on type + let newElt = /** @type {ChildNode} */ ( + document.createRange().createContextualFragment(newNode.outerHTML) + .firstChild + ); + if (ctx.callbacks.beforeNodeAdded(newElt) !== false) { + if ( + ("href" in newElt && newElt.href) || + ("src" in newElt && newElt.src) + ) { + /** @type {(result?: any) => void} */ let resolve; + let promise = new Promise(function (_resolve) { + resolve = _resolve; + }); + newElt.addEventListener("load", function () { + resolve(); + }); + promises.push(promise); + } + oldHead.appendChild(newElt); + ctx.callbacks.afterNodeAdded(newElt); + added.push(newElt); + } + } + + // remove all removed elements, after we have appended the new elements to avoid + // additional network requests for things like style sheets + for (const removedElement of removed) { + if (ctx.callbacks.beforeNodeRemoved(removedElement) !== false) { + oldHead.removeChild(removedElement); + ctx.callbacks.afterNodeRemoved(removedElement); + } + } + + ctx.head.afterHeadMorphed(oldHead, { + added: added, + kept: preserved, + removed: removed, + }); + return promises; + } + + //============================================================================= + // Create Morph Context Functions + //============================================================================= + const createMorphContext = (function () { + /** + * + * @param {Element} oldNode + * @param {Element} newContent + * @param {Config} config + * @returns {MorphContext} + */ + function createMorphContext(oldNode, newContent, config) { + const { persistentIds, idMap } = createIdMaps(oldNode, newContent); + + const mergedConfig = mergeDefaults(config); + const morphStyle = mergedConfig.morphStyle || "outerHTML"; + if (!["innerHTML", "outerHTML"].includes(morphStyle)) { + throw `Do not understand how to morph style ${morphStyle}`; + } + + return { + target: oldNode, + newContent: newContent, + config: mergedConfig, + morphStyle: morphStyle, + ignoreActive: mergedConfig.ignoreActive, + ignoreActiveValue: mergedConfig.ignoreActiveValue, + restoreFocus: mergedConfig.restoreFocus, + idMap: idMap, + persistentIds: persistentIds, + pantry: createPantry(), + activeElementAndParents: createActiveElementAndParents(oldNode), + callbacks: mergedConfig.callbacks, + head: mergedConfig.head, + }; + } + + /** + * Deep merges the config object and the Idiomorph.defaults object to + * produce a final configuration object + * @param {Config} config + * @returns {ConfigInternal} + */ + function mergeDefaults(config) { + let finalConfig = Object.assign({}, defaults); + + // copy top level stuff into final config + Object.assign(finalConfig, config); + + // copy callbacks into final config (do this to deep merge the callbacks) + finalConfig.callbacks = Object.assign( + {}, + defaults.callbacks, + config.callbacks, + ); + + // copy head config into final config (do this to deep merge the head) + finalConfig.head = Object.assign({}, defaults.head, config.head); + + return finalConfig; + } + + /** + * @returns {HTMLDivElement} + */ + function createPantry() { + const pantry = document.createElement("div"); + pantry.hidden = true; + document.body.insertAdjacentElement("afterend", pantry); + return pantry; + } + + /** + * @param {Element} oldNode + * @returns {Element[]} + */ + function createActiveElementAndParents(oldNode) { + /** @type {Element[]} */ + let activeElementAndParents = []; + let elt = document.activeElement; + if (elt?.tagName !== "BODY" && oldNode.contains(elt)) { + while (elt) { + activeElementAndParents.push(elt); + if (elt === oldNode) break; + elt = elt.parentElement; + } + } + return activeElementAndParents; + } + + /** + * Returns all elements with an ID contained within the root element and its descendants + * + * @param {Element} root + * @returns {Element[]} + */ + function findIdElements(root) { + let elements = Array.from(root.querySelectorAll("[id]")); + // root could be a document fragment which doesn't have `getAttribute` + if (root.getAttribute?.("id")) { + elements.push(root); + } + return elements; + } + + /** + * A bottom-up algorithm that populates a map of Element -> IdSet. + * The idSet for a given element is the set of all IDs contained within its subtree. + * As an optimzation, we filter these IDs through the given list of persistent IDs, + * because we don't need to bother considering IDed elements that won't be in the new content. + * + * @param {Map>} idMap + * @param {Set} persistentIds + * @param {Element} root + * @param {Element[]} elements + */ + function populateIdMapWithTree(idMap, persistentIds, root, elements) { + for (const elt of elements) { + // we can pretend id is non-null String, because the .has line will reject it immediately if not + const id = /** @type {String} */ (elt.getAttribute("id")); + if (persistentIds.has(id)) { + /** @type {Element|null} */ + let current = elt; + // walk up the parent hierarchy of that element, adding the id + // of element to the parent's id set + while (current) { + let idSet = idMap.get(current); + // if the id set doesn't exist, create it and insert it in the map + if (idSet == null) { + idSet = new Set(); + idMap.set(current, idSet); + } + idSet.add(id); + + if (current === root) break; + current = current.parentElement; + } + } + } + } + + /** + * This function computes a map of nodes to all ids contained within that node (inclusive of the + * node). This map can be used to ask if two nodes have intersecting sets of ids, which allows + * for a looser definition of "matching" than tradition id matching, and allows child nodes + * to contribute to a parent nodes matching. + * + * @param {Element} oldContent the old content that will be morphed + * @param {Element} newContent the new content to morph to + * @returns {IdSets} + */ + function createIdMaps(oldContent, newContent) { + const oldIdElements = findIdElements(oldContent); + const newIdElements = findIdElements(newContent); + + const persistentIds = createPersistentIds(oldIdElements, newIdElements); + + /** @type {Map>} */ + let idMap = new Map(); + populateIdMapWithTree(idMap, persistentIds, oldContent, oldIdElements); + + /** @ts-ignore - if newContent is a duck-typed parent, pass its single child node as the root to halt upwards iteration */ + const newRoot = newContent.__idiomorphRoot || newContent; + populateIdMapWithTree(idMap, persistentIds, newRoot, newIdElements); + + return { persistentIds, idMap }; + } + + /** + * This function computes the set of ids that persist between the two contents excluding duplicates + * + * @param {Element[]} oldIdElements + * @param {Element[]} newIdElements + * @returns {Set} + */ + function createPersistentIds(oldIdElements, newIdElements) { + let duplicateIds = new Set(); + + /** @type {Map} */ + let oldIdTagNameMap = new Map(); + for (const { id, tagName } of oldIdElements) { + if (oldIdTagNameMap.has(id)) { + duplicateIds.add(id); + } else { + oldIdTagNameMap.set(id, tagName); + } + } + + let persistentIds = new Set(); + for (const { id, tagName } of newIdElements) { + if (persistentIds.has(id)) { + duplicateIds.add(id); + } else if (oldIdTagNameMap.get(id) === tagName) { + persistentIds.add(id); + } + // skip if tag types mismatch because its not possible to morph one tag into another + } + + for (const id of duplicateIds) { + persistentIds.delete(id); + } + return persistentIds; + } + + return createMorphContext; + })(); + + //============================================================================= + // HTML Normalization Functions + //============================================================================= + const { normalizeElement, normalizeParent } = (function () { + /** @type {WeakSet} */ + const generatedByIdiomorph = new WeakSet(); + + /** + * + * @param {Element | Document} content + * @returns {Element} + */ + function normalizeElement(content) { + if (content instanceof Document) { + return content.documentElement; + } else { + return content; + } + } + + /** + * + * @param {null | string | Node | HTMLCollection | Node[] | Document & {generatedByIdiomorph:boolean}} newContent + * @returns {Element} + */ + function normalizeParent(newContent) { + if (newContent == null) { + return document.createElement("div"); // dummy parent element + } else if (typeof newContent === "string") { + return normalizeParent(parseContent(newContent)); + } else if ( + generatedByIdiomorph.has(/** @type {Element} */ (newContent)) + ) { + // the template tag created by idiomorph parsing can serve as a dummy parent + return /** @type {Element} */ (newContent); + } else if (newContent instanceof Node) { + if (newContent.parentNode) { + // we can't use the parent directly because newContent may have siblings + // that we don't want in the morph, and reparenting might be expensive (TODO is it?), + // so instead we create a fake parent node that only sees a slice of its children. + /** @type {Element} */ + return /** @type {any} */ (new SlicedParentNode(newContent)); + } else { + // a single node is added as a child to a dummy parent + const dummyParent = document.createElement("div"); + dummyParent.append(newContent); + return dummyParent; + } + } else { + // all nodes in the array or HTMLElement collection are consolidated under + // a single dummy parent element + const dummyParent = document.createElement("div"); + for (const elt of [...newContent]) { + dummyParent.append(elt); + } + return dummyParent; + } + } + + /** + * A fake duck-typed parent element to wrap a single node, without actually reparenting it. + * This is useful because the node may have siblings that we don't want in the morph, and it may also be moved + * or replaced with one or more elements during the morph. This class effectively allows us a window into + * a slice of a node's children. + * "If it walks like a duck, and quacks like a duck, then it must be a duck!" -- James Whitcomb Riley (1849–1916) + */ + class SlicedParentNode { + /** @param {Node} node */ + constructor(node) { + this.originalNode = node; + this.realParentNode = /** @type {Element} */ (node.parentNode); + this.previousSibling = node.previousSibling; + this.nextSibling = node.nextSibling; + } + + /** @returns {Node[]} */ + get childNodes() { + // return slice of realParent's current childNodes, based on previousSibling and nextSibling + const nodes = []; + let cursor = this.previousSibling + ? this.previousSibling.nextSibling + : this.realParentNode.firstChild; + while (cursor && cursor != this.nextSibling) { + nodes.push(cursor); + cursor = cursor.nextSibling; + } + return nodes; + } + + /** + * @param {string} selector + * @returns {Element[]} + */ + querySelectorAll(selector) { + return this.childNodes.reduce((results, node) => { + if (node instanceof Element) { + if (node.matches(selector)) results.push(node); + const nodeList = node.querySelectorAll(selector); + for (let i = 0; i < nodeList.length; i++) { + results.push(nodeList[i]); + } + } + return results; + }, /** @type {Element[]} */ ([])); + } + + /** + * @param {Node} node + * @param {Node} referenceNode + * @returns {Node} + */ + insertBefore(node, referenceNode) { + return this.realParentNode.insertBefore(node, referenceNode); + } + + /** + * @param {Node} node + * @param {Node} referenceNode + * @returns {Node} + */ + moveBefore(node, referenceNode) { + // @ts-ignore - use new moveBefore feature + return this.realParentNode.moveBefore(node, referenceNode); + } + + /** + * for later use with populateIdMapWithTree to halt upwards iteration + * @returns {Node} + */ + get __idiomorphRoot() { + return this.originalNode; + } + } + + /** + * + * @param {string} newContent + * @returns {Node | null | DocumentFragment} + */ + function parseContent(newContent) { + let parser = new DOMParser(); + + // remove svgs to avoid false-positive matches on head, etc. + let contentWithSvgsRemoved = newContent.replace( + /]*>|>)([\s\S]*?)<\/svg>/gim, + "", + ); + + // if the newContent contains a html, head or body tag, we can simply parse it w/o wrapping + if ( + contentWithSvgsRemoved.match(/<\/html>/) || + contentWithSvgsRemoved.match(/<\/head>/) || + contentWithSvgsRemoved.match(/<\/body>/) + ) { + let content = parser.parseFromString(newContent, "text/html"); + // if it is a full HTML document, return the document itself as the parent container + if (contentWithSvgsRemoved.match(/<\/html>/)) { + generatedByIdiomorph.add(content); + return content; + } else { + // otherwise return the html element as the parent container + let htmlElement = content.firstChild; + if (htmlElement) { + generatedByIdiomorph.add(htmlElement); + } + return htmlElement; + } + } else { + // if it is partial HTML, wrap it in a template tag to provide a parent element and also to help + // deal with touchy tags like tr, tbody, etc. + let responseDoc = parser.parseFromString( + "", + "text/html", + ); + let content = /** @type {HTMLTemplateElement} */ ( + responseDoc.body.querySelector("template") + ).content; + generatedByIdiomorph.add(content); + return content; + } + } + + return { normalizeElement, normalizeParent }; + })(); + + //============================================================================= + // This is what ends up becoming the Idiomorph global object + //============================================================================= + return { + morph, + defaults, + }; +})(); + +/** + * Morph the state of the currentElement based on the attributes and contents of + * the newElement. Morphing may dispatch turbo:before-morph-element, + * turbo:before-morph-attribute, and turbo:morph-element events. + * + * @param currentElement Element destination of morphing changes + * @param newElement Element source of morphing changes + */ +function morphElements(currentElement, newElement, { callbacks, ...options } = {}) { + Idiomorph.morph(currentElement, newElement, { + ...options, + callbacks: new DefaultIdiomorphCallbacks(callbacks) + }); +} + +/** + * Morph the child elements of the currentElement based on the child elements of + * the newElement. Morphing children may dispatch turbo:before-morph-element, + * turbo:before-morph-attribute, and turbo:morph-element events. + * + * @param currentElement Element destination of morphing children changes + * @param newElement Element source of morphing children changes + */ +function morphChildren(currentElement, newElement, options = {}) { + morphElements(currentElement, newElement.childNodes, { + ...options, + morphStyle: "innerHTML" + }); +} + +function shouldRefreshFrameWithMorphing(currentFrame, newFrame) { + return currentFrame instanceof FrameElement && + currentFrame.shouldReloadWithMorph && (!newFrame || areFramesCompatibleForRefreshing(currentFrame, newFrame)) && + !currentFrame.closest("[data-turbo-permanent]") +} + +function areFramesCompatibleForRefreshing(currentFrame, newFrame) { + // newFrame cannot yet be an instance of FrameElement because custom + // elements don't get initialized until they're attached to the DOM, so + // test its Element#nodeName instead + return newFrame instanceof Element && newFrame.nodeName === "TURBO-FRAME" && currentFrame.id === newFrame.id && + (!newFrame.getAttribute("src") || urlsAreEqual(currentFrame.src, newFrame.getAttribute("src"))) +} + +function closestFrameReloadableWithMorphing(node) { + return node.parentElement.closest("turbo-frame[src][refresh=morph]") +} + +class DefaultIdiomorphCallbacks { + #beforeNodeMorphed + + constructor({ beforeNodeMorphed } = {}) { + this.#beforeNodeMorphed = beforeNodeMorphed || (() => true); + } + + beforeNodeAdded = (node) => { + return !(node.id && node.hasAttribute("data-turbo-permanent") && document.getElementById(node.id)) + } + + beforeNodeMorphed = (currentElement, newElement) => { + if (currentElement instanceof Element) { + if (!currentElement.hasAttribute("data-turbo-permanent") && this.#beforeNodeMorphed(currentElement, newElement)) { + const event = dispatch("turbo:before-morph-element", { + cancelable: true, + target: currentElement, + detail: { currentElement, newElement } + }); + + return !event.defaultPrevented + } else { + return false + } + } + } + + beforeAttributeUpdated = (attributeName, target, mutationType) => { + const event = dispatch("turbo:before-morph-attribute", { + cancelable: true, + target, + detail: { attributeName, mutationType } + }); + + return !event.defaultPrevented + } + + beforeNodeRemoved = (node) => { + return this.beforeNodeMorphed(node) + } + + afterNodeMorphed = (currentElement, newElement) => { + if (currentElement instanceof Element) { + dispatch("turbo:morph-element", { + target: currentElement, + detail: { currentElement, newElement } + }); + } + } +} + +class MorphingFrameRenderer extends FrameRenderer { + static renderElement(currentElement, newElement) { + dispatch("turbo:before-frame-morph", { + target: currentElement, + detail: { currentElement, newElement } + }); + + morphChildren(currentElement, newElement, { + callbacks: { + beforeNodeMorphed: (node, newNode) => { + if ( + shouldRefreshFrameWithMorphing(node, newNode) && + closestFrameReloadableWithMorphing(node) === currentElement + ) { + node.reload(); + return false + } + return true + } + } + }); + } + + async preservingPermanentElements(callback) { + return await callback() + } +} + +class ProgressBar { + static animationDuration = 300 /*ms*/ + + static get defaultCSS() { + return unindent` + .turbo-progress-bar { + position: fixed; + display: block; + top: 0; + left: 0; + height: 3px; + background: #0076ff; + z-index: 2147483647; + transition: + width ${ProgressBar.animationDuration}ms ease-out, + opacity ${ProgressBar.animationDuration / 2}ms ${ProgressBar.animationDuration / 2}ms ease-in; + transform: translate3d(0, 0, 0); + } + ` + } + + hiding = false + value = 0 + visible = false + + constructor() { + this.stylesheetElement = this.createStylesheetElement(); + this.progressElement = this.createProgressElement(); + this.installStylesheetElement(); + this.setValue(0); + } + + show() { + if (!this.visible) { + this.visible = true; + this.installProgressElement(); + this.startTrickling(); + } + } + + hide() { + if (this.visible && !this.hiding) { + this.hiding = true; + this.fadeProgressElement(() => { + this.uninstallProgressElement(); + this.stopTrickling(); + this.visible = false; + this.hiding = false; + }); + } + } + + setValue(value) { + this.value = value; + this.refresh(); + } + + // Private + + installStylesheetElement() { + document.head.insertBefore(this.stylesheetElement, document.head.firstChild); + } + + installProgressElement() { + this.progressElement.style.width = "0"; + this.progressElement.style.opacity = "1"; + document.documentElement.insertBefore(this.progressElement, document.body); + this.refresh(); + } + + fadeProgressElement(callback) { + this.progressElement.style.opacity = "0"; + setTimeout(callback, ProgressBar.animationDuration * 1.5); + } + + uninstallProgressElement() { + if (this.progressElement.parentNode) { + document.documentElement.removeChild(this.progressElement); + } + } + + startTrickling() { + if (!this.trickleInterval) { + this.trickleInterval = window.setInterval(this.trickle, ProgressBar.animationDuration); + } + } + + stopTrickling() { + window.clearInterval(this.trickleInterval); + delete this.trickleInterval; + } + + trickle = () => { + this.setValue(this.value + Math.random() / 100); + } + + refresh() { + requestAnimationFrame(() => { + this.progressElement.style.width = `${10 + this.value * 90}%`; + }); + } + + createStylesheetElement() { + const element = document.createElement("style"); + element.type = "text/css"; + element.textContent = ProgressBar.defaultCSS; + const cspNonce = getCspNonce(); + if (cspNonce) { + element.nonce = cspNonce; + } + return element + } + + createProgressElement() { + const element = document.createElement("div"); + element.className = "turbo-progress-bar"; + return element + } +} + +class HeadSnapshot extends Snapshot { + detailsByOuterHTML = this.children + .filter((element) => !elementIsNoscript(element)) + .map((element) => elementWithoutNonce(element)) + .reduce((result, element) => { + const { outerHTML } = element; + const details = + outerHTML in result + ? result[outerHTML] + : { + type: elementType(element), + tracked: elementIsTracked(element), + elements: [] + }; + return { + ...result, + [outerHTML]: { + ...details, + elements: [...details.elements, element] + } + } + }, {}) + + get trackedElementSignature() { + return Object.keys(this.detailsByOuterHTML) + .filter((outerHTML) => this.detailsByOuterHTML[outerHTML].tracked) + .join("") + } + + getScriptElementsNotInSnapshot(snapshot) { + return this.getElementsMatchingTypeNotInSnapshot("script", snapshot) + } + + getStylesheetElementsNotInSnapshot(snapshot) { + return this.getElementsMatchingTypeNotInSnapshot("stylesheet", snapshot) + } + + getElementsMatchingTypeNotInSnapshot(matchedType, snapshot) { + return Object.keys(this.detailsByOuterHTML) + .filter((outerHTML) => !(outerHTML in snapshot.detailsByOuterHTML)) + .map((outerHTML) => this.detailsByOuterHTML[outerHTML]) + .filter(({ type }) => type == matchedType) + .map(({ elements: [element] }) => element) + } + + get provisionalElements() { + return Object.keys(this.detailsByOuterHTML).reduce((result, outerHTML) => { + const { type, tracked, elements } = this.detailsByOuterHTML[outerHTML]; + if (type == null && !tracked) { + return [...result, ...elements] + } else if (elements.length > 1) { + return [...result, ...elements.slice(1)] + } else { + return result + } + }, []) + } + + getMetaValue(name) { + const element = this.findMetaElementByName(name); + return element ? element.getAttribute("content") : null + } + + findMetaElementByName(name) { + return Object.keys(this.detailsByOuterHTML).reduce((result, outerHTML) => { + const { + elements: [element] + } = this.detailsByOuterHTML[outerHTML]; + return elementIsMetaElementWithName(element, name) ? element : result + }, undefined | undefined) + } +} + +function elementType(element) { + if (elementIsScript(element)) { + return "script" + } else if (elementIsStylesheet(element)) { + return "stylesheet" + } +} + +function elementIsTracked(element) { + return element.getAttribute("data-turbo-track") == "reload" +} + +function elementIsScript(element) { + const tagName = element.localName; + return tagName == "script" +} + +function elementIsNoscript(element) { + const tagName = element.localName; + return tagName == "noscript" +} + +function elementIsStylesheet(element) { + const tagName = element.localName; + return tagName == "style" || (tagName == "link" && element.getAttribute("rel") == "stylesheet") +} + +function elementIsMetaElementWithName(element, name) { + const tagName = element.localName; + return tagName == "meta" && element.getAttribute("name") == name +} + +function elementWithoutNonce(element) { + if (element.hasAttribute("nonce")) { + element.setAttribute("nonce", ""); + } + + return element +} + +class PageSnapshot extends Snapshot { + static fromHTMLString(html = "") { + return this.fromDocument(parseHTMLDocument(html)) + } + + static fromElement(element) { + return this.fromDocument(element.ownerDocument) + } + + static fromDocument({ documentElement, body, head }) { + return new this(documentElement, body, new HeadSnapshot(head)) + } + + constructor(documentElement, body, headSnapshot) { + super(body); + this.documentElement = documentElement; + this.headSnapshot = headSnapshot; + } + + clone() { + const clonedElement = this.element.cloneNode(true); + + const selectElements = this.element.querySelectorAll("select"); + const clonedSelectElements = clonedElement.querySelectorAll("select"); + + for (const [index, source] of selectElements.entries()) { + const clone = clonedSelectElements[index]; + for (const option of clone.selectedOptions) option.selected = false; + for (const option of source.selectedOptions) clone.options[option.index].selected = true; + } + + for (const clonedPasswordInput of clonedElement.querySelectorAll('input[type="password"]')) { + clonedPasswordInput.value = ""; + } + + for (const clonedNoscriptElement of clonedElement.querySelectorAll("noscript")) { + clonedNoscriptElement.remove(); + } + + return new PageSnapshot(this.documentElement, clonedElement, this.headSnapshot) + } + + get lang() { + return this.documentElement.getAttribute("lang") + } + + get dir() { + return this.documentElement.getAttribute("dir") + } + + get headElement() { + return this.headSnapshot.element + } + + get rootLocation() { + const root = this.getSetting("root") ?? "/"; + return expandURL(root) + } + + get cacheControlValue() { + return this.getSetting("cache-control") + } + + get isPreviewable() { + return this.cacheControlValue != "no-preview" + } + + get isCacheable() { + return this.cacheControlValue != "no-cache" + } + + get isVisitable() { + return this.getSetting("visit-control") != "reload" + } + + get prefersViewTransitions() { + const viewTransitionEnabled = this.getSetting("view-transition") === "true" || this.headSnapshot.getMetaValue("view-transition") === "same-origin"; + return viewTransitionEnabled && !window.matchMedia("(prefers-reduced-motion: reduce)").matches + } + + get refreshMethod() { + return this.getSetting("refresh-method") + } + + get refreshScroll() { + return this.getSetting("refresh-scroll") + } + + // Private + + getSetting(name) { + return this.headSnapshot.getMetaValue(`turbo-${name}`) + } +} + +class ViewTransitioner { + #viewTransitionStarted = false + #lastOperation = Promise.resolve() + + renderChange(useViewTransition, render) { + if (useViewTransition && this.viewTransitionsAvailable && !this.#viewTransitionStarted) { + this.#viewTransitionStarted = true; + this.#lastOperation = this.#lastOperation.then(async () => { + await document.startViewTransition(render).finished; + }); + } else { + this.#lastOperation = this.#lastOperation.then(render); + } + + return this.#lastOperation + } + + get viewTransitionsAvailable() { + return document.startViewTransition + } +} + +const defaultOptions = { + action: "advance", + historyChanged: false, + visitCachedSnapshot: () => {}, + willRender: true, + updateHistory: true, + shouldCacheSnapshot: true, + acceptsStreamResponse: false, + refresh: {} +}; + +const TimingMetric = { + visitStart: "visitStart", + requestStart: "requestStart", + requestEnd: "requestEnd", + visitEnd: "visitEnd" +}; + +const VisitState = { + initialized: "initialized", + started: "started", + canceled: "canceled", + failed: "failed", + completed: "completed" +}; + +const SystemStatusCode = { + networkFailure: 0, + timeoutFailure: -1, + contentTypeMismatch: -2 +}; + +const Direction = { + advance: "forward", + restore: "back", + replace: "none" +}; + +class Visit { + identifier = uuid() // Required by turbo-ios + timingMetrics = {} + + followedRedirect = false + historyChanged = false + scrolled = false + shouldCacheSnapshot = true + acceptsStreamResponse = false + snapshotCached = false + state = VisitState.initialized + viewTransitioner = new ViewTransitioner() + + constructor(delegate, location, restorationIdentifier, options = {}) { + this.delegate = delegate; + this.location = location; + this.restorationIdentifier = restorationIdentifier || uuid(); + + const { + action, + historyChanged, + referrer, + snapshot, + snapshotHTML, + response, + visitCachedSnapshot, + willRender, + updateHistory, + shouldCacheSnapshot, + acceptsStreamResponse, + direction, + refresh + } = { + ...defaultOptions, + ...options + }; + this.action = action; + this.historyChanged = historyChanged; + this.referrer = referrer; + this.snapshot = snapshot; + this.snapshotHTML = snapshotHTML; + this.response = response; + this.isPageRefresh = this.view.isPageRefresh(this); + this.visitCachedSnapshot = visitCachedSnapshot; + this.willRender = willRender; + this.updateHistory = updateHistory; + this.scrolled = !willRender; + this.shouldCacheSnapshot = shouldCacheSnapshot; + this.acceptsStreamResponse = acceptsStreamResponse; + this.direction = direction || Direction[action]; + this.refresh = refresh; + } + + get adapter() { + return this.delegate.adapter + } + + get view() { + return this.delegate.view + } + + get history() { + return this.delegate.history + } + + get restorationData() { + return this.history.getRestorationDataForIdentifier(this.restorationIdentifier) + } + + start() { + if (this.state == VisitState.initialized) { + this.recordTimingMetric(TimingMetric.visitStart); + this.state = VisitState.started; + this.adapter.visitStarted(this); + this.delegate.visitStarted(this); + } + } + + cancel() { + if (this.state == VisitState.started) { + if (this.request) { + this.request.cancel(); + } + this.cancelRender(); + this.state = VisitState.canceled; + } + } + + complete() { + if (this.state == VisitState.started) { + this.recordTimingMetric(TimingMetric.visitEnd); + this.adapter.visitCompleted(this); + this.state = VisitState.completed; + this.followRedirect(); + + if (!this.followedRedirect) { + this.delegate.visitCompleted(this); + } + } + } + + fail() { + if (this.state == VisitState.started) { + this.state = VisitState.failed; + this.adapter.visitFailed(this); + this.delegate.visitCompleted(this); + } + } + + changeHistory() { + if (!this.historyChanged && this.updateHistory) { + const actionForHistory = this.location.href === this.referrer?.href ? "replace" : this.action; + const method = getHistoryMethodForAction(actionForHistory); + this.history.update(method, this.location, this.restorationIdentifier); + this.historyChanged = true; + } + } + + issueRequest() { + if (this.hasPreloadedResponse()) { + this.simulateRequest(); + } else if (this.shouldIssueRequest() && !this.request) { + this.request = new FetchRequest(this, FetchMethod.get, this.location); + this.request.perform(); + } + } + + simulateRequest() { + if (this.response) { + this.startRequest(); + this.recordResponse(); + this.finishRequest(); + } + } + + startRequest() { + this.recordTimingMetric(TimingMetric.requestStart); + this.adapter.visitRequestStarted(this); + } + + recordResponse(response = this.response) { + this.response = response; + if (response) { + const { statusCode } = response; + if (isSuccessful(statusCode)) { + this.adapter.visitRequestCompleted(this); + } else { + this.adapter.visitRequestFailedWithStatusCode(this, statusCode); + } + } + } + + finishRequest() { + this.recordTimingMetric(TimingMetric.requestEnd); + this.adapter.visitRequestFinished(this); + } + + loadResponse() { + if (this.response) { + const { statusCode, responseHTML } = this.response; + this.render(async () => { + if (this.shouldCacheSnapshot) this.cacheSnapshot(); + if (this.view.renderPromise) await this.view.renderPromise; + + if (isSuccessful(statusCode) && responseHTML != null) { + const snapshot = PageSnapshot.fromHTMLString(responseHTML); + await this.renderPageSnapshot(snapshot, false); + + this.adapter.visitRendered(this); + this.complete(); + } else { + await this.view.renderError(PageSnapshot.fromHTMLString(responseHTML), this); + this.adapter.visitRendered(this); + this.fail(); + } + }); + } + } + + getCachedSnapshot() { + const snapshot = this.view.getCachedSnapshotForLocation(this.location) || this.getPreloadedSnapshot(); + + if (snapshot && (!getAnchor(this.location) || snapshot.hasAnchor(getAnchor(this.location)))) { + if (this.action == "restore" || snapshot.isPreviewable) { + return snapshot + } + } + } + + getPreloadedSnapshot() { + if (this.snapshotHTML) { + return PageSnapshot.fromHTMLString(this.snapshotHTML) + } + } + + hasCachedSnapshot() { + return this.getCachedSnapshot() != null + } + + loadCachedSnapshot() { + const snapshot = this.getCachedSnapshot(); + if (snapshot) { + const isPreview = this.shouldIssueRequest(); + this.render(async () => { + this.cacheSnapshot(); + if (this.isPageRefresh) { + this.adapter.visitRendered(this); + } else { + if (this.view.renderPromise) await this.view.renderPromise; + + await this.renderPageSnapshot(snapshot, isPreview); + + this.adapter.visitRendered(this); + if (!isPreview) { + this.complete(); + } + } + }); + } + } + + followRedirect() { + if (this.redirectedToLocation && !this.followedRedirect && this.response?.redirected) { + this.adapter.visitProposedToLocation(this.redirectedToLocation, { + action: "replace", + response: this.response, + shouldCacheSnapshot: false, + willRender: false + }); + this.followedRedirect = true; + } + } + + // Fetch request delegate + + prepareRequest(request) { + if (this.acceptsStreamResponse) { + request.acceptResponseType(StreamMessage.contentType); + } + } + + requestStarted() { + this.startRequest(); + } + + requestPreventedHandlingResponse(_request, _response) {} + + async requestSucceededWithResponse(request, response) { + const responseHTML = await response.responseHTML; + const { redirected, statusCode } = response; + if (responseHTML == undefined) { + this.recordResponse({ + statusCode: SystemStatusCode.contentTypeMismatch, + redirected + }); + } else { + this.redirectedToLocation = response.redirected ? response.location : undefined; + this.recordResponse({ statusCode: statusCode, responseHTML, redirected }); + } + } + + async requestFailedWithResponse(request, response) { + const responseHTML = await response.responseHTML; + const { redirected, statusCode } = response; + if (responseHTML == undefined) { + this.recordResponse({ + statusCode: SystemStatusCode.contentTypeMismatch, + redirected + }); + } else { + this.recordResponse({ statusCode: statusCode, responseHTML, redirected }); + } + } + + requestErrored(_request, _error) { + this.recordResponse({ + statusCode: SystemStatusCode.networkFailure, + redirected: false + }); + } + + requestFinished() { + this.finishRequest(); + } + + // Scrolling + + performScroll() { + if (!this.scrolled && !this.view.forceReloaded && !this.view.shouldPreserveScrollPosition(this)) { + if (this.action == "restore") { + this.scrollToRestoredPosition() || this.scrollToAnchor() || this.view.scrollToTop(); + } else { + this.scrollToAnchor() || this.view.scrollToTop(); + } + + this.scrolled = true; + } + } + + scrollToRestoredPosition() { + const { scrollPosition } = this.restorationData; + if (scrollPosition) { + this.view.scrollToPosition(scrollPosition); + return true + } + } + + scrollToAnchor() { + const anchor = getAnchor(this.location); + if (anchor != null) { + this.view.scrollToAnchor(anchor); + return true + } + } + + // Instrumentation + + recordTimingMetric(metric) { + this.timingMetrics[metric] = new Date().getTime(); + } + + getTimingMetrics() { + return { ...this.timingMetrics } + } + + // Private + + hasPreloadedResponse() { + return typeof this.response == "object" + } + + shouldIssueRequest() { + if (this.action == "restore") { + return !this.hasCachedSnapshot() + } else { + return this.willRender + } + } + + cacheSnapshot() { + if (!this.snapshotCached) { + this.view.cacheSnapshot(this.snapshot).then((snapshot) => snapshot && this.visitCachedSnapshot(snapshot)); + this.snapshotCached = true; + } + } + + async render(callback) { + this.cancelRender(); + await new Promise((resolve) => { + this.frame = + document.visibilityState === "hidden" ? setTimeout(() => resolve(), 0) : requestAnimationFrame(() => resolve()); + }); + await callback(); + delete this.frame; + } + + async renderPageSnapshot(snapshot, isPreview) { + await this.viewTransitioner.renderChange(this.view.shouldTransitionTo(snapshot), async () => { + await this.view.renderPage(snapshot, isPreview, this.willRender, this); + this.performScroll(); + }); + } + + cancelRender() { + if (this.frame) { + cancelAnimationFrame(this.frame); + delete this.frame; + } + } +} + +function isSuccessful(statusCode) { + return statusCode >= 200 && statusCode < 300 +} + +class BrowserAdapter { + progressBar = new ProgressBar() + + constructor(session) { + this.session = session; + } + + visitProposedToLocation(location, options) { + if (locationIsVisitable(location, this.navigator.rootLocation)) { + this.navigator.startVisit(location, options?.restorationIdentifier || uuid(), options); + } else { + window.location.href = location.toString(); + } + } + + visitStarted(visit) { + this.location = visit.location; + this.redirectedToLocation = null; + + visit.loadCachedSnapshot(); + visit.issueRequest(); + } + + visitRequestStarted(visit) { + this.progressBar.setValue(0); + if (visit.hasCachedSnapshot() || visit.action != "restore") { + this.showVisitProgressBarAfterDelay(); + } else { + this.showProgressBar(); + } + } + + visitRequestCompleted(visit) { + visit.loadResponse(); + + if (visit.response.redirected) { + this.redirectedToLocation = visit.redirectedToLocation; + } + } + + visitRequestFailedWithStatusCode(visit, statusCode) { + switch (statusCode) { + case SystemStatusCode.networkFailure: + case SystemStatusCode.timeoutFailure: + case SystemStatusCode.contentTypeMismatch: + return this.reload({ + reason: "request_failed", + context: { + statusCode + } + }) + default: + return visit.loadResponse() + } + } + + visitRequestFinished(_visit) {} + + visitCompleted(_visit) { + this.progressBar.setValue(1); + this.hideVisitProgressBar(); + } + + pageInvalidated(reason) { + this.reload(reason); + } + + visitFailed(_visit) { + this.progressBar.setValue(1); + this.hideVisitProgressBar(); + } + + visitRendered(_visit) {} + + // Link prefetching + + linkPrefetchingIsEnabledForLocation(location) { + return true + } + + // Form Submission Delegate + + formSubmissionStarted(_formSubmission) { + this.progressBar.setValue(0); + this.showFormProgressBarAfterDelay(); + } + + formSubmissionFinished(_formSubmission) { + this.progressBar.setValue(1); + this.hideFormProgressBar(); + } + + // Private + + showVisitProgressBarAfterDelay() { + this.visitProgressBarTimeout = window.setTimeout(this.showProgressBar, this.session.progressBarDelay); + } + + hideVisitProgressBar() { + this.progressBar.hide(); + if (this.visitProgressBarTimeout != null) { + window.clearTimeout(this.visitProgressBarTimeout); + delete this.visitProgressBarTimeout; + } + } + + showFormProgressBarAfterDelay() { + if (this.formProgressBarTimeout == null) { + this.formProgressBarTimeout = window.setTimeout(this.showProgressBar, this.session.progressBarDelay); + } + } + + hideFormProgressBar() { + this.progressBar.hide(); + if (this.formProgressBarTimeout != null) { + window.clearTimeout(this.formProgressBarTimeout); + delete this.formProgressBarTimeout; + } + } + + showProgressBar = () => { + this.progressBar.show(); + } + + reload(reason) { + dispatch("turbo:reload", { detail: reason }); + + window.location.href = (this.redirectedToLocation || this.location)?.toString() || window.location.href; + } + + get navigator() { + return this.session.navigator + } +} + +class CacheObserver { + selector = "[data-turbo-temporary]" + + started = false + + start() { + if (!this.started) { + this.started = true; + addEventListener("turbo:before-cache", this.removeTemporaryElements, false); + } + } + + stop() { + if (this.started) { + this.started = false; + removeEventListener("turbo:before-cache", this.removeTemporaryElements, false); + } + } + + removeTemporaryElements = (_event) => { + for (const element of this.temporaryElements) { + element.remove(); + } + } + + get temporaryElements() { + return [...document.querySelectorAll(this.selector)] + } +} + +class FrameRedirector { + constructor(session, element) { + this.session = session; + this.element = element; + this.linkInterceptor = new LinkInterceptor(this, element); + this.formSubmitObserver = new FormSubmitObserver(this, element); + } + + start() { + this.linkInterceptor.start(); + this.formSubmitObserver.start(); + } + + stop() { + this.linkInterceptor.stop(); + this.formSubmitObserver.stop(); + } + + // Link interceptor delegate + + shouldInterceptLinkClick(element, _location, _event) { + return this.#shouldRedirect(element) + } + + linkClickIntercepted(element, url, event) { + const frame = this.#findFrameElement(element); + if (frame) { + frame.delegate.linkClickIntercepted(element, url, event); + } + } + + // Form submit observer delegate + + willSubmitForm(element, submitter) { + return ( + element.closest("turbo-frame") == null && + this.#shouldSubmit(element, submitter) && + this.#shouldRedirect(element, submitter) + ) + } + + formSubmitted(element, submitter) { + const frame = this.#findFrameElement(element, submitter); + if (frame) { + frame.delegate.formSubmitted(element, submitter); + } + } + + #shouldSubmit(form, submitter) { + const action = getAction$1(form, submitter); + const meta = this.element.ownerDocument.querySelector(`meta[name="turbo-root"]`); + const rootLocation = expandURL(meta?.content ?? "/"); + + return this.#shouldRedirect(form, submitter) && locationIsVisitable(action, rootLocation) + } + + #shouldRedirect(element, submitter) { + const isNavigatable = + element instanceof HTMLFormElement + ? this.session.submissionIsNavigatable(element, submitter) + : this.session.elementIsNavigatable(element); + + if (isNavigatable) { + const frame = this.#findFrameElement(element, submitter); + return frame ? frame != element.closest("turbo-frame") : false + } else { + return false + } + } + + #findFrameElement(element, submitter) { + const id = submitter?.getAttribute("data-turbo-frame") || element.getAttribute("data-turbo-frame"); + if (id && id != "_top") { + const frame = this.element.querySelector(`#${id}:not([disabled])`); + if (frame instanceof FrameElement) { + return frame + } + } + } +} + +class History { + location + restorationIdentifier = uuid() + restorationData = {} + started = false + currentIndex = 0 + + constructor(delegate) { + this.delegate = delegate; + } + + start() { + if (!this.started) { + addEventListener("popstate", this.onPopState, false); + this.currentIndex = history.state?.turbo?.restorationIndex || 0; + this.started = true; + this.replace(new URL(window.location.href)); + } + } + + stop() { + if (this.started) { + removeEventListener("popstate", this.onPopState, false); + this.started = false; + } + } + + push(location, restorationIdentifier) { + this.update(history.pushState, location, restorationIdentifier); + } + + replace(location, restorationIdentifier) { + this.update(history.replaceState, location, restorationIdentifier); + } + + update(method, location, restorationIdentifier = uuid()) { + if (method === history.pushState) ++this.currentIndex; + + const state = { turbo: { restorationIdentifier, restorationIndex: this.currentIndex } }; + method.call(history, state, "", location.href); + this.location = location; + this.restorationIdentifier = restorationIdentifier; + } + + // Restoration data + + getRestorationDataForIdentifier(restorationIdentifier) { + return this.restorationData[restorationIdentifier] || {} + } + + updateRestorationData(additionalData) { + const { restorationIdentifier } = this; + const restorationData = this.restorationData[restorationIdentifier]; + this.restorationData[restorationIdentifier] = { + ...restorationData, + ...additionalData + }; + } + + // Scroll restoration + + assumeControlOfScrollRestoration() { + if (!this.previousScrollRestoration) { + this.previousScrollRestoration = history.scrollRestoration ?? "auto"; + history.scrollRestoration = "manual"; + } + } + + relinquishControlOfScrollRestoration() { + if (this.previousScrollRestoration) { + history.scrollRestoration = this.previousScrollRestoration; + delete this.previousScrollRestoration; + } + } + + // Event handlers + + onPopState = (event) => { + const { turbo } = event.state || {}; + this.location = new URL(window.location.href); + + if (turbo) { + const { restorationIdentifier, restorationIndex } = turbo; + this.restorationIdentifier = restorationIdentifier; + const direction = restorationIndex > this.currentIndex ? "forward" : "back"; + this.delegate.historyPoppedToLocationWithRestorationIdentifierAndDirection(this.location, restorationIdentifier, direction); + this.currentIndex = restorationIndex; + } else { + this.currentIndex++; + this.delegate.historyPoppedWithEmptyState(this.location); + } + } +} + +class LinkPrefetchObserver { + started = false + #prefetchedLink = null + + constructor(delegate, eventTarget) { + this.delegate = delegate; + this.eventTarget = eventTarget; + } + + start() { + if (this.started) return + + if (this.eventTarget.readyState === "loading") { + this.eventTarget.addEventListener("DOMContentLoaded", this.#enable, { once: true }); + } else { + this.#enable(); + } + } + + stop() { + if (!this.started) return + + this.eventTarget.removeEventListener("mouseenter", this.#tryToPrefetchRequest, { + capture: true, + passive: true + }); + this.eventTarget.removeEventListener("mouseleave", this.#cancelRequestIfObsolete, { + capture: true, + passive: true + }); + + this.eventTarget.removeEventListener("turbo:before-fetch-request", this.#tryToUsePrefetchedRequest, true); + this.started = false; + } + + #enable = () => { + this.eventTarget.addEventListener("mouseenter", this.#tryToPrefetchRequest, { + capture: true, + passive: true + }); + this.eventTarget.addEventListener("mouseleave", this.#cancelRequestIfObsolete, { + capture: true, + passive: true + }); + + this.eventTarget.addEventListener("turbo:before-fetch-request", this.#tryToUsePrefetchedRequest, true); + this.started = true; + } + + #tryToPrefetchRequest = (event) => { + if (getMetaContent("turbo-prefetch") === "false") return + + const target = event.target; + const isLink = target.matches && target.matches("a[href]:not([target^=_]):not([download])"); + + if (isLink && this.#isPrefetchable(target)) { + const link = target; + const location = getLocationForLink(link); + + if (this.delegate.canPrefetchRequestToLocation(link, location)) { + this.#prefetchedLink = link; + + const fetchRequest = new FetchRequest( + this, + FetchMethod.get, + location, + new URLSearchParams(), + target + ); + + fetchRequest.fetchOptions.priority = "low"; + + prefetchCache.putLater(location, fetchRequest, this.#cacheTtl); + } + } + } + + #cancelRequestIfObsolete = (event) => { + if (event.target === this.#prefetchedLink) this.#cancelPrefetchRequest(); + } + + #cancelPrefetchRequest = () => { + prefetchCache.clear(); + this.#prefetchedLink = null; + } + + #tryToUsePrefetchedRequest = (event) => { + if (event.target.tagName !== "FORM" && event.detail.fetchOptions.method === "GET") { + const cached = prefetchCache.get(event.detail.url); + + if (cached) { + // User clicked link, use cache response + event.detail.fetchRequest = cached; + } + + prefetchCache.clear(); + } + } + + prepareRequest(request) { + const link = request.target; + + request.headers["X-Sec-Purpose"] = "prefetch"; + + const turboFrame = link.closest("turbo-frame"); + const turboFrameTarget = link.getAttribute("data-turbo-frame") || turboFrame?.getAttribute("target") || turboFrame?.id; + + if (turboFrameTarget && turboFrameTarget !== "_top") { + request.headers["Turbo-Frame"] = turboFrameTarget; + } + } + + // Fetch request interface + + requestSucceededWithResponse() {} + + requestStarted(fetchRequest) {} + + requestErrored(fetchRequest) {} + + requestFinished(fetchRequest) {} + + requestPreventedHandlingResponse(fetchRequest, fetchResponse) {} + + requestFailedWithResponse(fetchRequest, fetchResponse) {} + + get #cacheTtl() { + return Number(getMetaContent("turbo-prefetch-cache-time")) || cacheTtl + } + + #isPrefetchable(link) { + const href = link.getAttribute("href"); + + if (!href) return false + + if (unfetchableLink(link)) return false + if (linkToTheSamePage(link)) return false + if (linkOptsOut(link)) return false + if (nonSafeLink(link)) return false + if (eventPrevented(link)) return false + + return true + } +} + +const unfetchableLink = (link) => { + return link.origin !== document.location.origin || !["http:", "https:"].includes(link.protocol) || link.hasAttribute("target") +}; + +const linkToTheSamePage = (link) => { + return (link.pathname + link.search === document.location.pathname + document.location.search) || link.href.startsWith("#") +}; + +const linkOptsOut = (link) => { + if (link.getAttribute("data-turbo-prefetch") === "false") return true + if (link.getAttribute("data-turbo") === "false") return true + + const turboPrefetchParent = findClosestRecursively(link, "[data-turbo-prefetch]"); + if (turboPrefetchParent && turboPrefetchParent.getAttribute("data-turbo-prefetch") === "false") return true + + return false +}; + +const nonSafeLink = (link) => { + const turboMethod = link.getAttribute("data-turbo-method"); + if (turboMethod && turboMethod.toLowerCase() !== "get") return true + + if (isUJS(link)) return true + if (link.hasAttribute("data-turbo-confirm")) return true + if (link.hasAttribute("data-turbo-stream")) return true + + return false +}; + +const isUJS = (link) => { + return link.hasAttribute("data-remote") || link.hasAttribute("data-behavior") || link.hasAttribute("data-confirm") || link.hasAttribute("data-method") +}; + +const eventPrevented = (link) => { + const event = dispatch("turbo:before-prefetch", { target: link, cancelable: true }); + return event.defaultPrevented +}; + +class Navigator { + constructor(delegate) { + this.delegate = delegate; + } + + proposeVisit(location, options = {}) { + if (this.delegate.allowsVisitingLocationWithAction(location, options.action)) { + this.delegate.visitProposedToLocation(location, options); + } + } + + startVisit(locatable, restorationIdentifier, options = {}) { + this.stop(); + this.currentVisit = new Visit(this, expandURL(locatable), restorationIdentifier, { + referrer: this.location, + ...options + }); + this.currentVisit.start(); + } + + submitForm(form, submitter) { + this.stop(); + this.formSubmission = new FormSubmission(this, form, submitter, true); + + this.formSubmission.start(); + } + + stop() { + if (this.formSubmission) { + this.formSubmission.stop(); + delete this.formSubmission; + } + + if (this.currentVisit) { + this.currentVisit.cancel(); + delete this.currentVisit; + } + } + + get adapter() { + return this.delegate.adapter + } + + get view() { + return this.delegate.view + } + + get rootLocation() { + return this.view.snapshot.rootLocation + } + + get history() { + return this.delegate.history + } + + // Form submission delegate + + formSubmissionStarted(formSubmission) { + // Not all adapters implement formSubmissionStarted + if (typeof this.adapter.formSubmissionStarted === "function") { + this.adapter.formSubmissionStarted(formSubmission); + } + } + + async formSubmissionSucceededWithResponse(formSubmission, fetchResponse) { + if (formSubmission == this.formSubmission) { + const responseHTML = await fetchResponse.responseHTML; + if (responseHTML) { + const shouldCacheSnapshot = formSubmission.isSafe; + if (!shouldCacheSnapshot) { + this.view.clearSnapshotCache(); + } + + const { statusCode, redirected } = fetchResponse; + const action = this.#getActionForFormSubmission(formSubmission, fetchResponse); + const visitOptions = { + action, + shouldCacheSnapshot, + response: { statusCode, responseHTML, redirected } + }; + this.proposeVisit(fetchResponse.location, visitOptions); + } + } + } + + async formSubmissionFailedWithResponse(formSubmission, fetchResponse) { + const responseHTML = await fetchResponse.responseHTML; + + if (responseHTML) { + const snapshot = PageSnapshot.fromHTMLString(responseHTML); + if (fetchResponse.serverError) { + await this.view.renderError(snapshot, this.currentVisit); + } else { + await this.view.renderPage(snapshot, false, true, this.currentVisit); + } + if (snapshot.refreshScroll !== "preserve") { + this.view.scrollToTop(); + } + this.view.clearSnapshotCache(); + } + } + + formSubmissionErrored(formSubmission, error) { + console.error(error); + } + + formSubmissionFinished(formSubmission) { + // Not all adapters implement formSubmissionFinished + if (typeof this.adapter.formSubmissionFinished === "function") { + this.adapter.formSubmissionFinished(formSubmission); + } + } + + // Link prefetching + + linkPrefetchingIsEnabledForLocation(location) { + // Not all adapters implement linkPrefetchingIsEnabledForLocation + if (typeof this.adapter.linkPrefetchingIsEnabledForLocation === "function") { + return this.adapter.linkPrefetchingIsEnabledForLocation(location) + } + + return true + } + + // Visit delegate + + visitStarted(visit) { + this.delegate.visitStarted(visit); + } + + visitCompleted(visit) { + this.delegate.visitCompleted(visit); + delete this.currentVisit; + } + + // Same-page links are no longer handled with a Visit. + // This method is still needed for Turbo Native adapters. + locationWithActionIsSamePage(location, action) { + return false + } + + // Visits + + get location() { + return this.history.location + } + + get restorationIdentifier() { + return this.history.restorationIdentifier + } + + #getActionForFormSubmission(formSubmission, fetchResponse) { + const { submitter, formElement } = formSubmission; + return getVisitAction(submitter, formElement) || this.#getDefaultAction(fetchResponse) + } + + #getDefaultAction(fetchResponse) { + const sameLocationRedirect = fetchResponse.redirected && fetchResponse.location.href === this.location?.href; + return sameLocationRedirect ? "replace" : "advance" + } +} + +const PageStage = { + initial: 0, + loading: 1, + interactive: 2, + complete: 3 +}; + +class PageObserver { + stage = PageStage.initial + started = false + + constructor(delegate) { + this.delegate = delegate; + } + + start() { + if (!this.started) { + if (this.stage == PageStage.initial) { + this.stage = PageStage.loading; + } + document.addEventListener("readystatechange", this.interpretReadyState, false); + addEventListener("pagehide", this.pageWillUnload, false); + this.started = true; + } + } + + stop() { + if (this.started) { + document.removeEventListener("readystatechange", this.interpretReadyState, false); + removeEventListener("pagehide", this.pageWillUnload, false); + this.started = false; + } + } + + interpretReadyState = () => { + const { readyState } = this; + if (readyState == "interactive") { + this.pageIsInteractive(); + } else if (readyState == "complete") { + this.pageIsComplete(); + } + } + + pageIsInteractive() { + if (this.stage == PageStage.loading) { + this.stage = PageStage.interactive; + this.delegate.pageBecameInteractive(); + } + } + + pageIsComplete() { + this.pageIsInteractive(); + if (this.stage == PageStage.interactive) { + this.stage = PageStage.complete; + this.delegate.pageLoaded(); + } + } + + pageWillUnload = () => { + this.delegate.pageWillUnload(); + } + + get readyState() { + return document.readyState + } +} + +class ScrollObserver { + started = false + + constructor(delegate) { + this.delegate = delegate; + } + + start() { + if (!this.started) { + addEventListener("scroll", this.onScroll, false); + this.onScroll(); + this.started = true; + } + } + + stop() { + if (this.started) { + removeEventListener("scroll", this.onScroll, false); + this.started = false; + } + } + + onScroll = () => { + this.updatePosition({ x: window.pageXOffset, y: window.pageYOffset }); + } + + // Private + + updatePosition(position) { + this.delegate.scrollPositionChanged(position); + } +} + +class StreamMessageRenderer { + render({ fragment }) { + Bardo.preservingPermanentElements(this, getPermanentElementMapForFragment(fragment), () => { + withAutofocusFromFragment(fragment, () => { + withPreservedFocus(() => { + document.documentElement.appendChild(fragment); + }); + }); + }); + } + + // Bardo delegate + + enteringBardo(currentPermanentElement, newPermanentElement) { + newPermanentElement.replaceWith(currentPermanentElement.cloneNode(true)); + } + + leavingBardo() {} +} + +function getPermanentElementMapForFragment(fragment) { + const permanentElementsInDocument = queryPermanentElementsAll(document.documentElement); + const permanentElementMap = {}; + for (const permanentElementInDocument of permanentElementsInDocument) { + const { id } = permanentElementInDocument; + + for (const streamElement of fragment.querySelectorAll("turbo-stream")) { + const elementInStream = getPermanentElementById(streamElement.templateElement.content, id); + + if (elementInStream) { + permanentElementMap[id] = [permanentElementInDocument, elementInStream]; + } + } + } + + return permanentElementMap +} + +async function withAutofocusFromFragment(fragment, callback) { + const generatedID = `turbo-stream-autofocus-${uuid()}`; + const turboStreams = fragment.querySelectorAll("turbo-stream"); + const elementWithAutofocus = firstAutofocusableElementInStreams(turboStreams); + let willAutofocusId = null; + + if (elementWithAutofocus) { + if (elementWithAutofocus.id) { + willAutofocusId = elementWithAutofocus.id; + } else { + willAutofocusId = generatedID; + } + + elementWithAutofocus.id = willAutofocusId; + } + + callback(); + await nextRepaint(); + + const hasNoActiveElement = document.activeElement == null || document.activeElement == document.body; + + if (hasNoActiveElement && willAutofocusId) { + const elementToAutofocus = document.getElementById(willAutofocusId); + + if (elementIsFocusable(elementToAutofocus)) { + elementToAutofocus.focus(); + } + if (elementToAutofocus && elementToAutofocus.id == generatedID) { + elementToAutofocus.removeAttribute("id"); + } + } +} + +async function withPreservedFocus(callback) { + const [activeElementBeforeRender, activeElementAfterRender] = await around(callback, () => document.activeElement); + + const restoreFocusTo = activeElementBeforeRender && activeElementBeforeRender.id; + + if (restoreFocusTo) { + const elementToFocus = document.getElementById(restoreFocusTo); + + if (elementIsFocusable(elementToFocus) && elementToFocus != activeElementAfterRender) { + elementToFocus.focus(); + } + } +} + +function firstAutofocusableElementInStreams(nodeListOfStreamElements) { + for (const streamElement of nodeListOfStreamElements) { + const elementWithAutofocus = queryAutofocusableElement(streamElement.templateElement.content); + + if (elementWithAutofocus) return elementWithAutofocus + } + + return null +} + +class StreamObserver { + sources = new Set() + #started = false + + constructor(delegate) { + this.delegate = delegate; + } + + start() { + if (!this.#started) { + this.#started = true; + addEventListener("turbo:before-fetch-response", this.inspectFetchResponse, false); + } + } + + stop() { + if (this.#started) { + this.#started = false; + removeEventListener("turbo:before-fetch-response", this.inspectFetchResponse, false); + } + } + + connectStreamSource(source) { + if (!this.streamSourceIsConnected(source)) { + this.sources.add(source); + source.addEventListener("message", this.receiveMessageEvent, false); + } + } + + disconnectStreamSource(source) { + if (this.streamSourceIsConnected(source)) { + this.sources.delete(source); + source.removeEventListener("message", this.receiveMessageEvent, false); + } + } + + streamSourceIsConnected(source) { + return this.sources.has(source) + } + + inspectFetchResponse = (event) => { + const response = fetchResponseFromEvent(event); + if (response && fetchResponseIsStream(response)) { + event.preventDefault(); + this.receiveMessageResponse(response); + } + } + + receiveMessageEvent = (event) => { + if (this.#started && typeof event.data == "string") { + this.receiveMessageHTML(event.data); + } + } + + async receiveMessageResponse(response) { + const html = await response.responseHTML; + if (html) { + this.receiveMessageHTML(html); + } + } + + receiveMessageHTML(html) { + this.delegate.receivedMessageFromStream(StreamMessage.wrap(html)); + } +} + +function fetchResponseFromEvent(event) { + const fetchResponse = event.detail?.fetchResponse; + if (fetchResponse instanceof FetchResponse) { + return fetchResponse + } +} + +function fetchResponseIsStream(response) { + const contentType = response.contentType ?? ""; + return contentType.startsWith(StreamMessage.contentType) +} + +class ErrorRenderer extends Renderer { + static renderElement(currentElement, newElement) { + const { documentElement, body } = document; + + documentElement.replaceChild(newElement, body); + } + + async render() { + this.replaceHeadAndBody(); + this.activateScriptElements(); + } + + replaceHeadAndBody() { + const { documentElement, head } = document; + documentElement.replaceChild(this.newHead, head); + this.renderElement(this.currentElement, this.newElement); + } + + activateScriptElements() { + for (const replaceableElement of this.scriptElements) { + const parentNode = replaceableElement.parentNode; + if (parentNode) { + const element = activateScriptElement(replaceableElement); + parentNode.replaceChild(element, replaceableElement); + } + } + } + + get newHead() { + return this.newSnapshot.headSnapshot.element + } + + get scriptElements() { + return document.documentElement.querySelectorAll("script") + } +} + +class PageRenderer extends Renderer { + static renderElement(currentElement, newElement) { + if (document.body && newElement instanceof HTMLBodyElement) { + document.body.replaceWith(newElement); + } else { + document.documentElement.appendChild(newElement); + } + } + + get shouldRender() { + return this.newSnapshot.isVisitable && this.trackedElementsAreIdentical + } + + get reloadReason() { + if (!this.newSnapshot.isVisitable) { + return { + reason: "turbo_visit_control_is_reload" + } + } + + if (!this.trackedElementsAreIdentical) { + return { + reason: "tracked_element_mismatch" + } + } + } + + async prepareToRender() { + this.#setLanguage(); + await this.mergeHead(); + } + + async render() { + if (this.willRender) { + await this.replaceBody(); + } + } + + finishRendering() { + super.finishRendering(); + if (!this.isPreview) { + this.focusFirstAutofocusableElement(); + } + } + + get currentHeadSnapshot() { + return this.currentSnapshot.headSnapshot + } + + get newHeadSnapshot() { + return this.newSnapshot.headSnapshot + } + + get newElement() { + return this.newSnapshot.element + } + + #setLanguage() { + const { documentElement } = this.currentSnapshot; + const { dir, lang } = this.newSnapshot; + + if (lang) { + documentElement.setAttribute("lang", lang); + } else { + documentElement.removeAttribute("lang"); + } + if (dir) { + documentElement.setAttribute("dir", dir); + } else { + documentElement.removeAttribute("dir"); + } + } + + async mergeHead() { + const mergedHeadElements = this.mergeProvisionalElements(); + const newStylesheetElements = this.copyNewHeadStylesheetElements(); + this.copyNewHeadScriptElements(); + + await mergedHeadElements; + await newStylesheetElements; + + if (this.willRender) { + this.removeUnusedDynamicStylesheetElements(); + } + } + + async replaceBody() { + await this.preservingPermanentElements(async () => { + this.activateNewBody(); + await this.assignNewBody(); + }); + } + + get trackedElementsAreIdentical() { + return this.currentHeadSnapshot.trackedElementSignature == this.newHeadSnapshot.trackedElementSignature + } + + async copyNewHeadStylesheetElements() { + const loadingElements = []; + + for (const element of this.newHeadStylesheetElements) { + loadingElements.push(waitForLoad(element)); + + document.head.appendChild(element); + } + + await Promise.all(loadingElements); + } + + copyNewHeadScriptElements() { + for (const element of this.newHeadScriptElements) { + document.head.appendChild(activateScriptElement(element)); + } + } + + removeUnusedDynamicStylesheetElements() { + for (const element of this.unusedDynamicStylesheetElements) { + document.head.removeChild(element); + } + } + + async mergeProvisionalElements() { + const newHeadElements = [...this.newHeadProvisionalElements]; + + for (const element of this.currentHeadProvisionalElements) { + if (!this.isCurrentElementInElementList(element, newHeadElements)) { + document.head.removeChild(element); + } + } + + for (const element of newHeadElements) { + document.head.appendChild(element); + } + } + + isCurrentElementInElementList(element, elementList) { + for (const [index, newElement] of elementList.entries()) { + // if title element... + if (element.tagName == "TITLE") { + if (newElement.tagName != "TITLE") { + continue + } + if (element.innerHTML == newElement.innerHTML) { + elementList.splice(index, 1); + return true + } + } + + // if any other element... + if (newElement.isEqualNode(element)) { + elementList.splice(index, 1); + return true + } + } + + return false + } + + removeCurrentHeadProvisionalElements() { + for (const element of this.currentHeadProvisionalElements) { + document.head.removeChild(element); + } + } + + copyNewHeadProvisionalElements() { + for (const element of this.newHeadProvisionalElements) { + document.head.appendChild(element); + } + } + + activateNewBody() { + document.adoptNode(this.newElement); + this.removeNoscriptElements(); + this.activateNewBodyScriptElements(); + } + + removeNoscriptElements() { + for (const noscriptElement of this.newElement.querySelectorAll("noscript")) { + noscriptElement.remove(); + } + } + + activateNewBodyScriptElements() { + for (const inertScriptElement of this.newBodyScriptElements) { + const activatedScriptElement = activateScriptElement(inertScriptElement); + inertScriptElement.replaceWith(activatedScriptElement); + } + } + + async assignNewBody() { + await this.renderElement(this.currentElement, this.newElement); + } + + get unusedDynamicStylesheetElements() { + return this.oldHeadStylesheetElements.filter((element) => { + return element.getAttribute("data-turbo-track") === "dynamic" + }) + } + + get oldHeadStylesheetElements() { + return this.currentHeadSnapshot.getStylesheetElementsNotInSnapshot(this.newHeadSnapshot) + } + + get newHeadStylesheetElements() { + return this.newHeadSnapshot.getStylesheetElementsNotInSnapshot(this.currentHeadSnapshot) + } + + get newHeadScriptElements() { + return this.newHeadSnapshot.getScriptElementsNotInSnapshot(this.currentHeadSnapshot) + } + + get currentHeadProvisionalElements() { + return this.currentHeadSnapshot.provisionalElements + } + + get newHeadProvisionalElements() { + return this.newHeadSnapshot.provisionalElements + } + + get newBodyScriptElements() { + return this.newElement.querySelectorAll("script") + } +} + +class MorphingPageRenderer extends PageRenderer { + static renderElement(currentElement, newElement) { + morphElements(currentElement, newElement, { + callbacks: { + beforeNodeMorphed: (node, newNode) => { + if ( + shouldRefreshFrameWithMorphing(node, newNode) && + !closestFrameReloadableWithMorphing(node) + ) { + node.reload(); + return false + } + return true + } + } + }); + + dispatch("turbo:morph", { detail: { currentElement, newElement } }); + } + + async preservingPermanentElements(callback) { + return await callback() + } + + get renderMethod() { + return "morph" + } + + get shouldAutofocus() { + return false + } +} + +class SnapshotCache extends LRUCache { + constructor(size) { + super(size, toCacheKey); + } + + get snapshots() { + return this.entries + } +} + +class PageView extends View { + snapshotCache = new SnapshotCache(10) + lastRenderedLocation = new URL(location.href) + forceReloaded = false + + shouldTransitionTo(newSnapshot) { + return this.snapshot.prefersViewTransitions && newSnapshot.prefersViewTransitions + } + + renderPage(snapshot, isPreview = false, willRender = true, visit) { + const shouldMorphPage = this.isPageRefresh(visit) && (visit?.refresh?.method || this.snapshot.refreshMethod) === "morph"; + const rendererClass = shouldMorphPage ? MorphingPageRenderer : PageRenderer; + + const renderer = new rendererClass(this.snapshot, snapshot, isPreview, willRender); + + if (!renderer.shouldRender) { + this.forceReloaded = true; + } else { + visit?.changeHistory(); + } + + return this.render(renderer) + } + + renderError(snapshot, visit) { + visit?.changeHistory(); + const renderer = new ErrorRenderer(this.snapshot, snapshot, false); + return this.render(renderer) + } + + clearSnapshotCache() { + this.snapshotCache.clear(); + } + + async cacheSnapshot(snapshot = this.snapshot) { + if (snapshot.isCacheable) { + this.delegate.viewWillCacheSnapshot(); + const { lastRenderedLocation: location } = this; + await nextEventLoopTick(); + const cachedSnapshot = snapshot.clone(); + this.snapshotCache.put(location, cachedSnapshot); + return cachedSnapshot + } + } + + getCachedSnapshotForLocation(location) { + return this.snapshotCache.get(location) + } + + isPageRefresh(visit) { + return !visit || (this.lastRenderedLocation.pathname === visit.location.pathname && visit.action === "replace") + } + + shouldPreserveScrollPosition(visit) { + return this.isPageRefresh(visit) && (visit?.refresh?.scroll || this.snapshot.refreshScroll) === "preserve" + } + + get snapshot() { + return PageSnapshot.fromElement(this.element) + } +} + +class Preloader { + selector = "a[data-turbo-preload]" + + constructor(delegate, snapshotCache) { + this.delegate = delegate; + this.snapshotCache = snapshotCache; + } + + start() { + if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", this.#preloadAll); + } else { + this.preloadOnLoadLinksForView(document.body); + } + } + + stop() { + document.removeEventListener("DOMContentLoaded", this.#preloadAll); + } + + preloadOnLoadLinksForView(element) { + for (const link of element.querySelectorAll(this.selector)) { + if (this.delegate.shouldPreloadLink(link)) { + this.preloadURL(link); + } + } + } + + async preloadURL(link) { + const location = new URL(link.href); + + if (this.snapshotCache.has(location)) { + return + } + + const fetchRequest = new FetchRequest(this, FetchMethod.get, location, new URLSearchParams(), link); + await fetchRequest.perform(); + } + + // Fetch request delegate + + prepareRequest(fetchRequest) { + fetchRequest.headers["X-Sec-Purpose"] = "prefetch"; + } + + async requestSucceededWithResponse(fetchRequest, fetchResponse) { + try { + const responseHTML = await fetchResponse.responseHTML; + const snapshot = PageSnapshot.fromHTMLString(responseHTML); + + this.snapshotCache.put(fetchRequest.url, snapshot); + } catch (_) { + // If we cannot preload that is ok! + } + } + + requestStarted(fetchRequest) {} + + requestErrored(fetchRequest) {} + + requestFinished(fetchRequest) {} + + requestPreventedHandlingResponse(fetchRequest, fetchResponse) {} + + requestFailedWithResponse(fetchRequest, fetchResponse) {} + + #preloadAll = () => { + this.preloadOnLoadLinksForView(document.body); + } +} + +class Cache { + constructor(session) { + this.session = session; + } + + clear() { + this.session.clearCache(); + } + + resetCacheControl() { + this.#setCacheControl(""); + } + + exemptPageFromCache() { + this.#setCacheControl("no-cache"); + } + + exemptPageFromPreview() { + this.#setCacheControl("no-preview"); + } + + #setCacheControl(value) { + setMetaContent("turbo-cache-control", value); + } +} + +class Session { + navigator = new Navigator(this) + history = new History(this) + view = new PageView(this, document.documentElement) + adapter = new BrowserAdapter(this) + + pageObserver = new PageObserver(this) + cacheObserver = new CacheObserver() + linkPrefetchObserver = new LinkPrefetchObserver(this, document) + linkClickObserver = new LinkClickObserver(this, window) + formSubmitObserver = new FormSubmitObserver(this, document) + scrollObserver = new ScrollObserver(this) + streamObserver = new StreamObserver(this) + formLinkClickObserver = new FormLinkClickObserver(this, document.documentElement) + frameRedirector = new FrameRedirector(this, document.documentElement) + streamMessageRenderer = new StreamMessageRenderer() + cache = new Cache(this) + + enabled = true + started = false + #pageRefreshDebouncePeriod = 150 + + constructor(recentRequests) { + this.recentRequests = recentRequests; + this.preloader = new Preloader(this, this.view.snapshotCache); + this.debouncedRefresh = this.refresh; + this.pageRefreshDebouncePeriod = this.pageRefreshDebouncePeriod; + } + + start() { + if (!this.started) { + this.pageObserver.start(); + this.cacheObserver.start(); + this.linkPrefetchObserver.start(); + this.formLinkClickObserver.start(); + this.linkClickObserver.start(); + this.formSubmitObserver.start(); + this.scrollObserver.start(); + this.streamObserver.start(); + this.frameRedirector.start(); + this.history.start(); + this.preloader.start(); + this.started = true; + this.enabled = true; + } + } + + disable() { + this.enabled = false; + } + + stop() { + if (this.started) { + this.pageObserver.stop(); + this.cacheObserver.stop(); + this.linkPrefetchObserver.stop(); + this.formLinkClickObserver.stop(); + this.linkClickObserver.stop(); + this.formSubmitObserver.stop(); + this.scrollObserver.stop(); + this.streamObserver.stop(); + this.frameRedirector.stop(); + this.history.stop(); + this.preloader.stop(); + this.started = false; + } + } + + registerAdapter(adapter) { + this.adapter = adapter; + } + + visit(location, options = {}) { + const frameElement = options.frame ? document.getElementById(options.frame) : null; + + if (frameElement instanceof FrameElement) { + const action = options.action || getVisitAction(frameElement); + + frameElement.delegate.proposeVisitIfNavigatedWithAction(frameElement, action); + frameElement.src = location.toString(); + } else { + this.navigator.proposeVisit(expandURL(location), options); + } + } + + refresh(url, options = {}) { + options = typeof options === "string" ? { requestId: options } : options; + + const { method, requestId, scroll } = options; + const isRecentRequest = requestId && this.recentRequests.has(requestId); + const isCurrentUrl = url === document.baseURI; + if (!isRecentRequest && !this.navigator.currentVisit && isCurrentUrl) { + this.visit(url, { action: "replace", shouldCacheSnapshot: false, refresh: { method, scroll } }); + } + } + + connectStreamSource(source) { + this.streamObserver.connectStreamSource(source); + } + + disconnectStreamSource(source) { + this.streamObserver.disconnectStreamSource(source); + } + + renderStreamMessage(message) { + this.streamMessageRenderer.render(StreamMessage.wrap(message)); + } + + clearCache() { + this.view.clearSnapshotCache(); + } + + setProgressBarDelay(delay) { + console.warn( + "Please replace `session.setProgressBarDelay(delay)` with `session.progressBarDelay = delay`. The function is deprecated and will be removed in a future version of Turbo.`" + ); + + this.progressBarDelay = delay; + } + + set progressBarDelay(delay) { + config.drive.progressBarDelay = delay; + } + + get progressBarDelay() { + return config.drive.progressBarDelay + } + + set drive(value) { + config.drive.enabled = value; + } + + get drive() { + return config.drive.enabled + } + + set formMode(value) { + config.forms.mode = value; + } + + get formMode() { + return config.forms.mode + } + + get location() { + return this.history.location + } + + get restorationIdentifier() { + return this.history.restorationIdentifier + } + + get pageRefreshDebouncePeriod() { + return this.#pageRefreshDebouncePeriod + } + + set pageRefreshDebouncePeriod(value) { + this.refresh = debounce(this.debouncedRefresh.bind(this), value); + this.#pageRefreshDebouncePeriod = value; + } + + // Preloader delegate + + shouldPreloadLink(element) { + const isUnsafe = element.hasAttribute("data-turbo-method"); + const isStream = element.hasAttribute("data-turbo-stream"); + const frameTarget = element.getAttribute("data-turbo-frame"); + const frame = frameTarget == "_top" ? + null : + document.getElementById(frameTarget) || findClosestRecursively(element, "turbo-frame:not([disabled])"); + + if (isUnsafe || isStream || frame instanceof FrameElement) { + return false + } else { + const location = new URL(element.href); + + return this.elementIsNavigatable(element) && locationIsVisitable(location, this.snapshot.rootLocation) + } + } + + // History delegate + + historyPoppedToLocationWithRestorationIdentifierAndDirection(location, restorationIdentifier, direction) { + if (this.enabled) { + this.navigator.startVisit(location, restorationIdentifier, { + action: "restore", + historyChanged: true, + direction + }); + } else { + this.adapter.pageInvalidated({ + reason: "turbo_disabled" + }); + } + } + + historyPoppedWithEmptyState(location) { + this.history.replace(location); + this.view.lastRenderedLocation = location; + this.view.cacheSnapshot(); + } + + // Scroll observer delegate + + scrollPositionChanged(position) { + this.history.updateRestorationData({ scrollPosition: position }); + } + + // Form click observer delegate + + willSubmitFormLinkToLocation(link, location) { + return this.elementIsNavigatable(link) && locationIsVisitable(location, this.snapshot.rootLocation) + } + + submittedFormLinkToLocation() {} + + // Link hover observer delegate + + canPrefetchRequestToLocation(link, location) { + return ( + this.elementIsNavigatable(link) && + locationIsVisitable(location, this.snapshot.rootLocation) && + this.navigator.linkPrefetchingIsEnabledForLocation(location) + ) + } + + // Link click observer delegate + + willFollowLinkToLocation(link, location, event) { + return ( + this.elementIsNavigatable(link) && + locationIsVisitable(location, this.snapshot.rootLocation) && + this.applicationAllowsFollowingLinkToLocation(link, location, event) + ) + } + + followedLinkToLocation(link, location) { + const action = this.getActionForLink(link); + const acceptsStreamResponse = link.hasAttribute("data-turbo-stream"); + + this.visit(location.href, { action, acceptsStreamResponse }); + } + + // Navigator delegate + + allowsVisitingLocationWithAction(location, action) { + return this.applicationAllowsVisitingLocation(location) + } + + visitProposedToLocation(location, options) { + extendURLWithDeprecatedProperties(location); + this.adapter.visitProposedToLocation(location, options); + } + + // Visit delegate + + visitStarted(visit) { + if (!visit.acceptsStreamResponse) { + markAsBusy(document.documentElement); + this.view.markVisitDirection(visit.direction); + } + extendURLWithDeprecatedProperties(visit.location); + this.notifyApplicationAfterVisitingLocation(visit.location, visit.action); + } + + visitCompleted(visit) { + this.view.unmarkVisitDirection(); + clearBusyState(document.documentElement); + this.notifyApplicationAfterPageLoad(visit.getTimingMetrics()); + } + + // Form submit observer delegate + + willSubmitForm(form, submitter) { + const action = getAction$1(form, submitter); + + return ( + this.submissionIsNavigatable(form, submitter) && + locationIsVisitable(expandURL(action), this.snapshot.rootLocation) + ) + } + + formSubmitted(form, submitter) { + this.navigator.submitForm(form, submitter); + } + + // Page observer delegate + + pageBecameInteractive() { + this.view.lastRenderedLocation = this.location; + this.notifyApplicationAfterPageLoad(); + } + + pageLoaded() { + this.history.assumeControlOfScrollRestoration(); + } + + pageWillUnload() { + this.history.relinquishControlOfScrollRestoration(); + } + + // Stream observer delegate + + receivedMessageFromStream(message) { + this.renderStreamMessage(message); + } + + // Page view delegate + + viewWillCacheSnapshot() { + this.notifyApplicationBeforeCachingSnapshot(); + } + + allowsImmediateRender({ element }, options) { + const event = this.notifyApplicationBeforeRender(element, options); + const { + defaultPrevented, + detail: { render } + } = event; + + if (this.view.renderer && render) { + this.view.renderer.renderElement = render; + } + + return !defaultPrevented + } + + viewRenderedSnapshot(_snapshot, _isPreview, renderMethod) { + this.view.lastRenderedLocation = this.history.location; + this.notifyApplicationAfterRender(renderMethod); + } + + preloadOnLoadLinksForView(element) { + this.preloader.preloadOnLoadLinksForView(element); + } + + viewInvalidated(reason) { + this.adapter.pageInvalidated(reason); + } + + // Frame element + + frameLoaded(frame) { + this.notifyApplicationAfterFrameLoad(frame); + } + + frameRendered(fetchResponse, frame) { + this.notifyApplicationAfterFrameRender(fetchResponse, frame); + } + + // Application events + + applicationAllowsFollowingLinkToLocation(link, location, ev) { + const event = this.notifyApplicationAfterClickingLinkToLocation(link, location, ev); + return !event.defaultPrevented + } + + applicationAllowsVisitingLocation(location) { + const event = this.notifyApplicationBeforeVisitingLocation(location); + return !event.defaultPrevented + } + + notifyApplicationAfterClickingLinkToLocation(link, location, event) { + return dispatch("turbo:click", { + target: link, + detail: { url: location.href, originalEvent: event }, + cancelable: true + }) + } + + notifyApplicationBeforeVisitingLocation(location) { + return dispatch("turbo:before-visit", { + detail: { url: location.href }, + cancelable: true + }) + } + + notifyApplicationAfterVisitingLocation(location, action) { + return dispatch("turbo:visit", { detail: { url: location.href, action } }) + } + + notifyApplicationBeforeCachingSnapshot() { + return dispatch("turbo:before-cache") + } + + notifyApplicationBeforeRender(newBody, options) { + return dispatch("turbo:before-render", { + detail: { newBody, ...options }, + cancelable: true + }) + } + + notifyApplicationAfterRender(renderMethod) { + return dispatch("turbo:render", { detail: { renderMethod } }) + } + + notifyApplicationAfterPageLoad(timing = {}) { + return dispatch("turbo:load", { + detail: { url: this.location.href, timing } + }) + } + + notifyApplicationAfterFrameLoad(frame) { + return dispatch("turbo:frame-load", { target: frame }) + } + + notifyApplicationAfterFrameRender(fetchResponse, frame) { + return dispatch("turbo:frame-render", { + detail: { fetchResponse }, + target: frame, + cancelable: true + }) + } + + // Helpers + + submissionIsNavigatable(form, submitter) { + if (config.forms.mode == "off") { + return false + } else { + const submitterIsNavigatable = submitter ? this.elementIsNavigatable(submitter) : true; + + if (config.forms.mode == "optin") { + return submitterIsNavigatable && form.closest('[data-turbo="true"]') != null + } else { + return submitterIsNavigatable && this.elementIsNavigatable(form) + } + } + } + + elementIsNavigatable(element) { + const container = findClosestRecursively(element, "[data-turbo]"); + const withinFrame = findClosestRecursively(element, "turbo-frame"); + + // Check if Drive is enabled on the session or we're within a Frame. + if (config.drive.enabled || withinFrame) { + // Element is navigatable by default, unless `data-turbo="false"`. + if (container) { + return container.getAttribute("data-turbo") != "false" + } else { + return true + } + } else { + // Element isn't navigatable by default, unless `data-turbo="true"`. + if (container) { + return container.getAttribute("data-turbo") == "true" + } else { + return false + } + } + } + + // Private + + getActionForLink(link) { + return getVisitAction(link) || "advance" + } + + get snapshot() { + return this.view.snapshot + } +} + +// Older versions of the Turbo Native adapters referenced the +// `Location#absoluteURL` property in their implementations of +// the `Adapter#visitProposedToLocation()` and `#visitStarted()` +// methods. The Location class has since been removed in favor +// of the DOM URL API, and accordingly all Adapter methods now +// receive URL objects. +// +// We alias #absoluteURL to #toString() here to avoid crashing +// older adapters which do not expect URL objects. We should +// consider removing this support at some point in the future. + +function extendURLWithDeprecatedProperties(url) { + Object.defineProperties(url, deprecatedLocationPropertyDescriptors); +} + +const deprecatedLocationPropertyDescriptors = { + absoluteURL: { + get() { + return this.toString() + } + } +}; + +const session = new Session(recentRequests); + +// Rename `navigator` to avoid shadowing `window.navigator` +const { cache, navigator: sessionNavigator } = session; + +/** + * Starts the main session. + * This initialises any necessary observers such as those to monitor + * link interactions. + */ +function start() { + session.start(); +} + +/** + * Registers an adapter for the main session. + * + * @param adapter Adapter to register + */ +function registerAdapter(adapter) { + session.registerAdapter(adapter); +} + +/** + * Performs an application visit to the given location. + * + * @param location Location to visit (a URL or path) + * @param options Options to apply + * @param options.action Type of history navigation to apply ("restore", + * "replace" or "advance") + * @param options.historyChanged Specifies whether the browser history has + * already been changed for this visit or not + * @param options.referrer Specifies the referrer of this visit such that + * navigations to the same page will not result in a new history entry. + * @param options.snapshotHTML Cached snapshot to render + * @param options.response Response of the specified location + */ +function visit(location, options) { + session.visit(location, options); +} + +/** + * Connects a stream source to the main session. + * + * @param source Stream source to connect + */ +function connectStreamSource(source) { + session.connectStreamSource(source); +} + +/** + * Disconnects a stream source from the main session. + * + * @param source Stream source to disconnect + */ +function disconnectStreamSource(source) { + session.disconnectStreamSource(source); +} + +/** + * Renders a stream message to the main session by appending it to the + * current document. + * + * @param message Message to render + */ +function renderStreamMessage(message) { + session.renderStreamMessage(message); +} + +/** + * Sets the delay after which the progress bar will appear during navigation. + * + * The progress bar appears after 500ms by default. + * + * Note that this method has no effect when used with the iOS or Android + * adapters. + * + * @param delay Time to delay in milliseconds + */ +function setProgressBarDelay(delay) { + console.warn( + "Please replace `Turbo.setProgressBarDelay(delay)` with `Turbo.config.drive.progressBarDelay = delay`. The top-level function is deprecated and will be removed in a future version of Turbo.`" + ); + config.drive.progressBarDelay = delay; +} + +function setConfirmMethod(confirmMethod) { + console.warn( + "Please replace `Turbo.setConfirmMethod(confirmMethod)` with `Turbo.config.forms.confirm = confirmMethod`. The top-level function is deprecated and will be removed in a future version of Turbo.`" + ); + config.forms.confirm = confirmMethod; +} + +function setFormMode(mode) { + console.warn( + "Please replace `Turbo.setFormMode(mode)` with `Turbo.config.forms.mode = mode`. The top-level function is deprecated and will be removed in a future version of Turbo.`" + ); + config.forms.mode = mode; +} + +/** + * Morph the state of the currentBody based on the attributes and contents of + * the newBody. Morphing body elements may dispatch turbo:morph, + * turbo:before-morph-element, turbo:before-morph-attribute, and + * turbo:morph-element events. + * + * @param currentBody HTMLBodyElement destination of morphing changes + * @param newBody HTMLBodyElement source of morphing changes + */ +function morphBodyElements(currentBody, newBody) { + MorphingPageRenderer.renderElement(currentBody, newBody); +} + +/** + * Morph the child elements of the currentFrame based on the child elements of + * the newFrame. Morphing turbo-frame elements may dispatch turbo:before-frame-morph, + * turbo:before-morph-element, turbo:before-morph-attribute, and + * turbo:morph-element events. + * + * @param currentFrame FrameElement destination of morphing children changes + * @param newFrame FrameElement source of morphing children changes + */ +function morphTurboFrameElements(currentFrame, newFrame) { + MorphingFrameRenderer.renderElement(currentFrame, newFrame); +} + +var Turbo = /*#__PURE__*/Object.freeze({ + __proto__: null, + PageRenderer: PageRenderer, + PageSnapshot: PageSnapshot, + FrameRenderer: FrameRenderer, + fetch: fetchWithTurboHeaders, + config: config, + session: session, + cache: cache, + navigator: sessionNavigator, + start: start, + registerAdapter: registerAdapter, + visit: visit, + connectStreamSource: connectStreamSource, + disconnectStreamSource: disconnectStreamSource, + renderStreamMessage: renderStreamMessage, + setProgressBarDelay: setProgressBarDelay, + setConfirmMethod: setConfirmMethod, + setFormMode: setFormMode, + morphBodyElements: morphBodyElements, + morphTurboFrameElements: morphTurboFrameElements, + morphChildren: morphChildren, + morphElements: morphElements +}); + +class TurboFrameMissingError extends Error {} + +class FrameController { + fetchResponseLoaded = (_fetchResponse) => Promise.resolve() + #currentFetchRequest = null + #resolveVisitPromise = () => {} + #connected = false + #hasBeenLoaded = false + #ignoredAttributes = new Set() + #shouldMorphFrame = false + action = null + + constructor(element) { + this.element = element; + this.view = new FrameView(this, this.element); + this.appearanceObserver = new AppearanceObserver(this, this.element); + this.formLinkClickObserver = new FormLinkClickObserver(this, this.element); + this.linkInterceptor = new LinkInterceptor(this, this.element); + this.restorationIdentifier = uuid(); + this.formSubmitObserver = new FormSubmitObserver(this, this.element); + } + + // Frame delegate + + connect() { + if (!this.#connected) { + this.#connected = true; + if (this.loadingStyle == FrameLoadingStyle.lazy) { + this.appearanceObserver.start(); + } else { + this.#loadSourceURL(); + } + this.formLinkClickObserver.start(); + this.linkInterceptor.start(); + this.formSubmitObserver.start(); + } + } + + disconnect() { + if (this.#connected) { + this.#connected = false; + this.appearanceObserver.stop(); + this.formLinkClickObserver.stop(); + this.linkInterceptor.stop(); + this.formSubmitObserver.stop(); + + if (!this.element.hasAttribute("recurse")) { + this.#currentFetchRequest?.cancel(); + } + } + } + + disabledChanged() { + if (this.disabled) { + this.#currentFetchRequest?.cancel(); + } else if (this.loadingStyle == FrameLoadingStyle.eager) { + this.#loadSourceURL(); + } + } + + sourceURLChanged() { + if (this.#isIgnoringChangesTo("src")) return + + if (!this.sourceURL) { + this.#currentFetchRequest?.cancel(); + } + + if (this.element.isConnected) { + this.complete = false; + } + + if (this.loadingStyle == FrameLoadingStyle.eager || this.#hasBeenLoaded) { + this.#loadSourceURL(); + } + } + + sourceURLReloaded() { + const { refresh, src } = this.element; + + this.#shouldMorphFrame = src && refresh === "morph"; + + this.element.removeAttribute("complete"); + this.element.src = null; + this.element.src = src; + return this.element.loaded + } + + loadingStyleChanged() { + if (this.loadingStyle == FrameLoadingStyle.lazy) { + this.appearanceObserver.start(); + } else { + this.appearanceObserver.stop(); + this.#loadSourceURL(); + } + } + + async #loadSourceURL() { + if (this.enabled && this.isActive && !this.complete && this.sourceURL) { + this.element.loaded = this.#visit(expandURL(this.sourceURL)); + this.appearanceObserver.stop(); + await this.element.loaded; + this.#hasBeenLoaded = true; + } + } + + async loadResponse(fetchResponse) { + if (fetchResponse.redirected || (fetchResponse.succeeded && fetchResponse.isHTML)) { + this.sourceURL = fetchResponse.response.url; + } + + try { + const html = await fetchResponse.responseHTML; + if (html) { + const document = parseHTMLDocument(html); + const pageSnapshot = PageSnapshot.fromDocument(document); + + if (pageSnapshot.isVisitable) { + await this.#loadFrameResponse(fetchResponse, document); + } else { + await this.#handleUnvisitableFrameResponse(fetchResponse); + } + } + } finally { + this.#shouldMorphFrame = false; + this.fetchResponseLoaded = () => Promise.resolve(); + } + } + + // Appearance observer delegate + + elementAppearedInViewport(element) { + this.proposeVisitIfNavigatedWithAction(element, getVisitAction(element)); + this.#loadSourceURL(); + } + + // Form link click observer delegate + + willSubmitFormLinkToLocation(link) { + return this.#shouldInterceptNavigation(link) + } + + submittedFormLinkToLocation(link, _location, form) { + const frame = this.#findFrameElement(link); + if (frame) form.setAttribute("data-turbo-frame", frame.id); + } + + // Link interceptor delegate + + shouldInterceptLinkClick(element, _location, _event) { + return this.#shouldInterceptNavigation(element) + } + + linkClickIntercepted(element, location) { + this.#navigateFrame(element, location); + } + + // Form submit observer delegate + + willSubmitForm(element, submitter) { + return element.closest("turbo-frame") == this.element && this.#shouldInterceptNavigation(element, submitter) + } + + formSubmitted(element, submitter) { + if (this.formSubmission) { + this.formSubmission.stop(); + } + + this.formSubmission = new FormSubmission(this, element, submitter); + + const { fetchRequest } = this.formSubmission; + const frame = this.#findFrameElement(element, submitter); + + this.prepareRequest(fetchRequest, frame); + this.formSubmission.start(); + } + + // Fetch request delegate + + prepareRequest(request, frame = this) { + request.headers["Turbo-Frame"] = frame.id; + + if (this.currentNavigationElement?.hasAttribute("data-turbo-stream")) { + request.acceptResponseType(StreamMessage.contentType); + } + } + + requestStarted(_request) { + markAsBusy(this.element); + } + + requestPreventedHandlingResponse(_request, _response) { + this.#resolveVisitPromise(); + } + + async requestSucceededWithResponse(request, response) { + await this.loadResponse(response); + this.#resolveVisitPromise(); + } + + async requestFailedWithResponse(request, response) { + await this.loadResponse(response); + this.#resolveVisitPromise(); + } + + requestErrored(request, error) { + console.error(error); + this.#resolveVisitPromise(); + } + + requestFinished(_request) { + clearBusyState(this.element); + } + + // Form submission delegate + + formSubmissionStarted({ formElement }) { + markAsBusy(formElement, this.#findFrameElement(formElement)); + } + + formSubmissionSucceededWithResponse(formSubmission, response) { + const frame = this.#findFrameElement(formSubmission.formElement, formSubmission.submitter); + + frame.delegate.proposeVisitIfNavigatedWithAction(frame, getVisitAction(formSubmission.submitter, formSubmission.formElement, frame)); + frame.delegate.loadResponse(response); + + if (!formSubmission.isSafe) { + session.clearCache(); + } + } + + formSubmissionFailedWithResponse(formSubmission, fetchResponse) { + this.element.delegate.loadResponse(fetchResponse); + session.clearCache(); + } + + formSubmissionErrored(formSubmission, error) { + console.error(error); + } + + formSubmissionFinished({ formElement }) { + clearBusyState(formElement, this.#findFrameElement(formElement)); + } + + // View delegate + + allowsImmediateRender({ element: newFrame }, options) { + const event = dispatch("turbo:before-frame-render", { + target: this.element, + detail: { newFrame, ...options }, + cancelable: true + }); + + const { + defaultPrevented, + detail: { render } + } = event; + + if (this.view.renderer && render) { + this.view.renderer.renderElement = render; + } + + return !defaultPrevented + } + + viewRenderedSnapshot(_snapshot, _isPreview, _renderMethod) {} + + preloadOnLoadLinksForView(element) { + session.preloadOnLoadLinksForView(element); + } + + viewInvalidated() {} + + // Frame renderer delegate + + willRenderFrame(currentElement, _newElement) { + this.previousFrameElement = currentElement.cloneNode(true); + } + + visitCachedSnapshot = ({ element }) => { + const frame = element.querySelector("#" + this.element.id); + + if (frame && this.previousFrameElement) { + frame.replaceChildren(...this.previousFrameElement.children); + } + + delete this.previousFrameElement; + } + + // Private + + async #loadFrameResponse(fetchResponse, document) { + const newFrameElement = await this.extractForeignFrameElement(document.body); + const rendererClass = this.#shouldMorphFrame ? MorphingFrameRenderer : FrameRenderer; + + if (newFrameElement) { + const snapshot = new Snapshot(newFrameElement); + const renderer = new rendererClass(this, this.view.snapshot, snapshot, false, false); + if (this.view.renderPromise) await this.view.renderPromise; + this.changeHistory(); + + await this.view.render(renderer); + this.complete = true; + session.frameRendered(fetchResponse, this.element); + session.frameLoaded(this.element); + await this.fetchResponseLoaded(fetchResponse); + } else if (this.#willHandleFrameMissingFromResponse(fetchResponse)) { + this.#handleFrameMissingFromResponse(fetchResponse); + } + } + + async #visit(url) { + const request = new FetchRequest(this, FetchMethod.get, url, new URLSearchParams(), this.element); + + this.#currentFetchRequest?.cancel(); + this.#currentFetchRequest = request; + + return new Promise((resolve) => { + this.#resolveVisitPromise = () => { + this.#resolveVisitPromise = () => {}; + this.#currentFetchRequest = null; + resolve(); + }; + request.perform(); + }) + } + + #navigateFrame(element, url, submitter) { + const frame = this.#findFrameElement(element, submitter); + + frame.delegate.proposeVisitIfNavigatedWithAction(frame, getVisitAction(submitter, element, frame)); + + this.#withCurrentNavigationElement(element, () => { + frame.src = url; + }); + } + + proposeVisitIfNavigatedWithAction(frame, action = null) { + this.action = action; + + if (this.action) { + const pageSnapshot = PageSnapshot.fromElement(frame).clone(); + const { visitCachedSnapshot } = frame.delegate; + + frame.delegate.fetchResponseLoaded = async (fetchResponse) => { + if (frame.src) { + const { statusCode, redirected } = fetchResponse; + const responseHTML = await fetchResponse.responseHTML; + const response = { statusCode, redirected, responseHTML }; + const options = { + response, + visitCachedSnapshot, + willRender: false, + updateHistory: false, + restorationIdentifier: this.restorationIdentifier, + snapshot: pageSnapshot + }; + + if (this.action) options.action = this.action; + + session.visit(frame.src, options); + } + }; + } + } + + changeHistory() { + if (this.action) { + const method = getHistoryMethodForAction(this.action); + session.history.update(method, expandURL(this.element.src || ""), this.restorationIdentifier); + } + } + + async #handleUnvisitableFrameResponse(fetchResponse) { + console.warn( + `The response (${fetchResponse.statusCode}) from is performing a full page visit due to turbo-visit-control.` + ); + + await this.#visitResponse(fetchResponse.response); + } + + #willHandleFrameMissingFromResponse(fetchResponse) { + this.element.setAttribute("complete", ""); + + const response = fetchResponse.response; + const visit = async (url, options) => { + if (url instanceof Response) { + this.#visitResponse(url); + } else { + session.visit(url, options); + } + }; + + const event = dispatch("turbo:frame-missing", { + target: this.element, + detail: { response, visit }, + cancelable: true + }); + + return !event.defaultPrevented + } + + #handleFrameMissingFromResponse(fetchResponse) { + this.view.missing(); + this.#throwFrameMissingError(fetchResponse); + } + + #throwFrameMissingError(fetchResponse) { + const message = `The response (${fetchResponse.statusCode}) did not contain the expected and will be ignored. To perform a full page visit instead, set turbo-visit-control to reload.`; + throw new TurboFrameMissingError(message) + } + + async #visitResponse(response) { + const wrapped = new FetchResponse(response); + const responseHTML = await wrapped.responseHTML; + const { location, redirected, statusCode } = wrapped; + + return session.visit(location, { response: { redirected, statusCode, responseHTML } }) + } + + #findFrameElement(element, submitter) { + const id = getAttribute("data-turbo-frame", submitter, element) || this.element.getAttribute("target"); + const target = this.#getFrameElementById(id); + + return target instanceof FrameElement ? target : this.element + } + + async extractForeignFrameElement(container) { + let element; + const id = CSS.escape(this.id); + + try { + element = activateElement(container.querySelector(`turbo-frame#${id}`), this.sourceURL); + if (element) { + return element + } + + element = activateElement(container.querySelector(`turbo-frame[src][recurse~=${id}]`), this.sourceURL); + if (element) { + await element.loaded; + return await this.extractForeignFrameElement(element) + } + } catch (error) { + console.error(error); + return new FrameElement() + } + + return null + } + + #formActionIsVisitable(form, submitter) { + const action = getAction$1(form, submitter); + + return locationIsVisitable(expandURL(action), this.rootLocation) + } + + #shouldInterceptNavigation(element, submitter) { + const id = getAttribute("data-turbo-frame", submitter, element) || this.element.getAttribute("target"); + + if (element instanceof HTMLFormElement && !this.#formActionIsVisitable(element, submitter)) { + return false + } + + if (!this.enabled || id == "_top") { + return false + } + + if (id) { + const frameElement = this.#getFrameElementById(id); + if (frameElement) { + return !frameElement.disabled + } else if (id == "_parent") { + return false + } + } + + if (!session.elementIsNavigatable(element)) { + return false + } + + if (submitter && !session.elementIsNavigatable(submitter)) { + return false + } + + return true + } + + // Computed properties + + get id() { + return this.element.id + } + + get disabled() { + return this.element.disabled + } + + get enabled() { + return !this.disabled + } + + get sourceURL() { + if (this.element.src) { + return this.element.src + } + } + + set sourceURL(sourceURL) { + this.#ignoringChangesToAttribute("src", () => { + this.element.src = sourceURL ?? null; + }); + } + + get loadingStyle() { + return this.element.loading + } + + get isLoading() { + return this.formSubmission !== undefined || this.#resolveVisitPromise() !== undefined + } + + get complete() { + return this.element.hasAttribute("complete") + } + + set complete(value) { + if (value) { + this.element.setAttribute("complete", ""); + } else { + this.element.removeAttribute("complete"); + } + } + + get isActive() { + return this.element.isActive && this.#connected + } + + get rootLocation() { + const meta = this.element.ownerDocument.querySelector(`meta[name="turbo-root"]`); + const root = meta?.content ?? "/"; + return expandURL(root) + } + + #isIgnoringChangesTo(attributeName) { + return this.#ignoredAttributes.has(attributeName) + } + + #ignoringChangesToAttribute(attributeName, callback) { + this.#ignoredAttributes.add(attributeName); + callback(); + this.#ignoredAttributes.delete(attributeName); + } + + #withCurrentNavigationElement(element, callback) { + this.currentNavigationElement = element; + callback(); + delete this.currentNavigationElement; + } + + #getFrameElementById(id) { + if (id != null) { + const element = id === "_parent" ? + this.element.parentElement.closest("turbo-frame") : + document.getElementById(id); + if (element instanceof FrameElement) { + return element + } + } + } +} + +function activateElement(element, currentURL) { + if (element) { + const src = element.getAttribute("src"); + if (src != null && currentURL != null && urlsAreEqual(src, currentURL)) { + throw new Error(`Matching element has a source URL which references itself`) + } + if (element.ownerDocument !== document) { + element = document.importNode(element, true); + } + + if (element instanceof FrameElement) { + element.connectedCallback(); + element.disconnectedCallback(); + return element + } + } +} + +const StreamActions = { + after() { + this.removeDuplicateTargetSiblings(); + this.targetElements.forEach((e) => e.parentElement?.insertBefore(this.templateContent, e.nextSibling)); + }, + + append() { + this.removeDuplicateTargetChildren(); + this.targetElements.forEach((e) => e.append(this.templateContent)); + }, + + before() { + this.removeDuplicateTargetSiblings(); + this.targetElements.forEach((e) => e.parentElement?.insertBefore(this.templateContent, e)); + }, + + prepend() { + this.removeDuplicateTargetChildren(); + this.targetElements.forEach((e) => e.prepend(this.templateContent)); + }, + + remove() { + this.targetElements.forEach((e) => e.remove()); + }, + + replace() { + const method = this.getAttribute("method"); + + this.targetElements.forEach((targetElement) => { + if (method === "morph") { + morphElements(targetElement, this.templateContent); + } else { + targetElement.replaceWith(this.templateContent); + } + }); + }, + + update() { + const method = this.getAttribute("method"); + + this.targetElements.forEach((targetElement) => { + if (method === "morph") { + morphChildren(targetElement, this.templateContent); + } else { + targetElement.innerHTML = ""; + targetElement.append(this.templateContent); + } + }); + }, + + refresh() { + const method = this.getAttribute("method"); + const requestId = this.requestId; + const scroll = this.getAttribute("scroll"); + + session.refresh(this.baseURI, { method, requestId, scroll }); + } +}; + +//