diff --git a/config/sLangCheck.php b/config/sLangCheck.php
new file mode 100644
index 0000000..241de72
--- /dev/null
+++ b/config/sLangCheck.php
@@ -0,0 +1 @@
+ true];
diff --git a/docs/Gemfile b/docs/Gemfile
new file mode 100644
index 0000000..bb5cfc8
--- /dev/null
+++ b/docs/Gemfile
@@ -0,0 +1,24 @@
+source "https://rubygems.org"
+ruby RUBY_VERSION
+
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+# gem "jekyll", "3.2.1"
+
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+# gem "minima"
+
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+gem "github-pages", group: :jekyll_plugins
+
+# If you have any plugins, put them here!
+# group :jekyll_plugins do
+# gem "jekyll-github-metadata", "~> 1.0"
+# end
diff --git a/docs/_config.yml b/docs/_config.yml
index f92c116..be0db43 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,4 +1,83 @@
-title: sLang Docs
-remote_theme: just-the-docs/just-the-docs
-plugins:
- - jekyll-remote-theme
\ No newline at end of file
+# Welcome to Jekyll!
+#
+# This config file is meant for settings that affect your whole blog, values
+# which you are expected to set up once and rarely edit after that. If you find
+# yourself editing these this file very often, consider using Jekyll's data files
+# feature for the data you need to update frequently.
+#
+# For technical reasons, this file is *NOT* reloaded automatically when you use
+# 'jekyll serve'. If you change this file, please restart the server process.
+
+# Site settings
+# These are used to personalize your new site. If you look in the HTML files,
+# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
+# You can create any custom variable you would like, and they will be accessible
+# in the templates via {{ site.myvariable }}.
+
+# See more https://vsoch.github.io/tw-jekyll/
+
+title: sCommerce
+email: info@seigerit.com
+author: Serhii Korneliuk
+description: sCommerce is a set of e-commerce tools for Evolution CMS.
+
+# Add your baseurl here (your repository) but DO NOT CHANGE THE LINE NUMBER without editing .circleci/circle_urls.sh
+baseurl: "/sCommerce" # the subpath of your site, e.g. /blog
+
+# This is mostly for testing
+url: "https://seiger.github.io" # the base hostname & protocol for your site
+
+# Keywords (space separated)
+keywords: "documentation sCommerce"
+
+# Add colorful permalinks to headers
+# change colors in _includes/permalinks.html
+add_permalinks: true
+
+# Optional
+#twitter: vsoch
+linkedin: seiger-kor
+support: https://github.com/Seiger/sCommerce/issues
+repo: https://github.com/Seiger/sCommerce
+github_user: seiger
+github_repo: sCommerce
+# discord: https://community.discord.com
+
+# If you have a logo, put here to include in meta tags
+logo: assets/img/logo.svg
+
+# branch to edit on GitHub
+github_branch: main
+
+# If not set, badge color (background) defaults to violet
+# badge_color: "#2bcf98"
+badge_rounded: true
+
+# Build settings
+markdown: kramdown
+
+# If you add tags to pages, define this variable to link them to some external search
+# If you want to link to tags locally on the site, leave this commented out
+# tag_search_endpoint: https://ask.cyberinfrastructure.org/search?q=
+tag_color: primary # danger, success, warning, primary, info, secondary
+
+accentColor: red # purple, green, etc.
+themeColor: red # purple, green, blue, orange, purple, grey
+fixedNav: 'true' # true or false
+
+permalink: /:year/:title/
+exclude: [_site, CHANGELOG.md, LICENSE, README.md, vendor]
+
+# Collections
+collections:
+ docs:
+ output: true
+ permalink: /:collection/:path
+
+# Defaults
+defaults:
+ - scope:
+ path: ""
+ type: "pages"
+ values:
+ layout: "page"
diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml
new file mode 100644
index 0000000..7303473
--- /dev/null
+++ b/docs/_data/navigation.yml
@@ -0,0 +1,4 @@
+- title: About
+ url: about
+- title: Documentation
+ url: docs
diff --git a/docs/_data/toc.yml b/docs/_data/toc.yml
new file mode 100644
index 0000000..0176b50
--- /dev/null
+++ b/docs/_data/toc.yml
@@ -0,0 +1,9 @@
+- title: Documentation
+ url:
+ links:
+ - title: "Getting Started"
+ url: "getting-started"
+ - title: "Management tabs"
+ url: "management"
+ - title: "Use in Blade"
+ url: "use-in-blade"
diff --git a/docs/_includes/alert.html b/docs/_includes/alert.html
new file mode 100644
index 0000000..a04371f
--- /dev/null
+++ b/docs/_includes/alert.html
@@ -0,0 +1,4 @@
+
+
{% if include.title %}{{ include.title }}{% else %}{{ include.type }}{% endif %}
+{{ include.content }}
+
diff --git a/docs/_includes/badge.html b/docs/_includes/badge.html
new file mode 100644
index 0000000..aef39cf
--- /dev/null
+++ b/docs/_includes/badge.html
@@ -0,0 +1,2 @@
+{{ include.text }}
+
diff --git a/docs/_includes/callout.html b/docs/_includes/callout.html
new file mode 100644
index 0000000..50dc341
--- /dev/null
+++ b/docs/_includes/callout.html
@@ -0,0 +1,2 @@
+
+{{ include.text }}
diff --git a/docs/_includes/doc.html b/docs/_includes/doc.html
new file mode 100644
index 0000000..7ca21b6
--- /dev/null
+++ b/docs/_includes/doc.html
@@ -0,0 +1 @@
+{% if include.name %}{{ include.name }}{% else %}{{ include.path }}{% endif %}
diff --git a/docs/_includes/feedback.html b/docs/_includes/feedback.html
new file mode 100644
index 0000000..dd0056f
--- /dev/null
+++ b/docs/_includes/feedback.html
@@ -0,0 +1,58 @@
+{% if site.feedback %}
+Feedback
+Was this page helpful?
+Yes
+No
+
+ Glad to hear it! Please tell us how we can improve .
+
+
+ Sorry to hear that. Please tell us how we can improve .
+
+{% endif %}
+
diff --git a/docs/_includes/figure.html b/docs/_includes/figure.html
new file mode 100644
index 0000000..c57fe54
--- /dev/null
+++ b/docs/_includes/figure.html
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/_includes/google-analytics.html b/docs/_includes/google-analytics.html
new file mode 100644
index 0000000..5f18734
--- /dev/null
+++ b/docs/_includes/google-analytics.html
@@ -0,0 +1,9 @@
+{% if site.google-analytics %}
+{% endif %}
diff --git a/docs/_includes/head.html b/docs/_includes/head.html
new file mode 100644
index 0000000..4f78e07
--- /dev/null
+++ b/docs/_includes/head.html
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}
+
+
+
+
+
+
+
+
+
+
+{% if site.logo %} {% endif %}
+
+
+
+
+
+
+
+{% if site.logo %} {% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/_includes/header.html b/docs/_includes/header.html
new file mode 100644
index 0000000..0a31dde
--- /dev/null
+++ b/docs/_includes/header.html
@@ -0,0 +1,56 @@
+
+
+
diff --git a/docs/_includes/logo-menu.html b/docs/_includes/logo-menu.html
new file mode 100644
index 0000000..9a1c5da
--- /dev/null
+++ b/docs/_includes/logo-menu.html
@@ -0,0 +1,5 @@
+
+
+ {{ site.title }}
+
+
\ No newline at end of file
diff --git a/docs/_includes/navigation.html b/docs/_includes/navigation.html
new file mode 100644
index 0000000..f24909a
--- /dev/null
+++ b/docs/_includes/navigation.html
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+ Skip to content
+
diff --git a/docs/_includes/page-header.html b/docs/_includes/page-header.html
new file mode 100644
index 0000000..8cb4217
--- /dev/null
+++ b/docs/_includes/page-header.html
@@ -0,0 +1,4 @@
+{% if page.author %} By {{ page.author.name }}
+{% if page.author.github %}
GitHub {% endif %}
+{% if page.author.twitter %}
Twitter {% endif %}
+{% else if page.subtitle %} {{ page.subtitle }}
{% endif %}
\ No newline at end of file
diff --git a/docs/_includes/permalinks.html b/docs/_includes/permalinks.html
new file mode 100644
index 0000000..98023ef
--- /dev/null
+++ b/docs/_includes/permalinks.html
@@ -0,0 +1,19 @@
+{% if site.add_permalinks %}
+
+{% endif %}
diff --git a/docs/_includes/scripts.html b/docs/_includes/scripts.html
new file mode 100644
index 0000000..e69de29
diff --git a/docs/_includes/scrolltop.html b/docs/_includes/scrolltop.html
new file mode 100644
index 0000000..c3810dd
--- /dev/null
+++ b/docs/_includes/scrolltop.html
@@ -0,0 +1,42 @@
+
+🔝
+
+
diff --git a/docs/_includes/sidebar.html b/docs/_includes/sidebar.html
new file mode 100644
index 0000000..0d76a81
--- /dev/null
+++ b/docs/_includes/sidebar.html
@@ -0,0 +1,26 @@
+
diff --git a/docs/_includes/social-menu.html b/docs/_includes/social-menu.html
new file mode 100644
index 0000000..eb21ec0
--- /dev/null
+++ b/docs/_includes/social-menu.html
@@ -0,0 +1,34 @@
+
+
+ {% if site.repo %}
+
+ Github
+
+
+
+
+
+
+ {% endif %}
+ {% if site.twitter %}
+
+ Twitter
+
+
+
+
+
+
+ {% endif %}
+ {% if site.support %}
+
+ Support forum
+
+
+
+
+
+
+ {% endif %}
+
+
\ No newline at end of file
diff --git a/docs/_includes/toc.html b/docs/_includes/toc.html
new file mode 100644
index 0000000..e6bbe30
--- /dev/null
+++ b/docs/_includes/toc.html
@@ -0,0 +1,57 @@
+
+
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
new file mode 100644
index 0000000..b8ff177
--- /dev/null
+++ b/docs/_layouts/default.html
@@ -0,0 +1,56 @@
+
+
+{% include head.html %}
+
+
+
+
+ {% include sidebar.html %}
+
+
+ {% if page.title %}{{ page.title }} {% endif %}
+ {% include page-header.html %}
+ {{ content }}
+
+
+
+
+
+
+
+
+
diff --git a/docs/_layouts/page.html b/docs/_layouts/page.html
new file mode 100644
index 0000000..15168dd
--- /dev/null
+++ b/docs/_layouts/page.html
@@ -0,0 +1,6 @@
+---
+layout: default
+---
+{{ content }}
+{% include toc.html %}
+{% include permalinks.html %}
diff --git a/docs/_layouts/post.html b/docs/_layouts/post.html
new file mode 100644
index 0000000..b44258e
--- /dev/null
+++ b/docs/_layouts/post.html
@@ -0,0 +1,6 @@
+---
+layout: page
+---
+{{ page.title }} {% if page.badges %}{% for badge in page.badges %}{{ badge.name }} {% endfor %}{% endif %}
+{{ page.date | date: "%B %d, %Y" }}
+{{ content }}
diff --git a/docs/assets/css/docsearch.css b/docs/assets/css/docsearch.css
new file mode 100644
index 0000000..d0c067a
--- /dev/null
+++ b/docs/assets/css/docsearch.css
@@ -0,0 +1 @@
+.DocSearch--active{overflow:hidden!important}.DocSearch-Container{height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:9999;display:flex;flex-direction:column;background:rgba(0,0,0,.25);padding:1rem}@media (min-width:640px){.DocSearch-Container{padding:1.5rem}}@media (min-width:768px){.DocSearch-Container{padding:10vh}}@media (min-width:1024px){.DocSearch-Container{padding:12vh}}.DocSearch-Button{padding:0 .75rem 0 3rem;height:3rem;display:flex;width:100%;align-items:center;border-radius:.75rem;border-width:1px;border-color:transparent;--tw-bg-opacity:1;background-color:rgba(241,245,249,var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(148,163,184,var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px;transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.DocSearch-Button:hover{--tw-text-opacity:1;color:rgba(71,85,105,var(--tw-text-opacity))}.DocSearch-Button:focus{--tw-border-opacity:1;border-color:rgba(14,165,233,var(--tw-border-opacity));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(14,165,233,var(--tw-ring-opacity))}.DocSearch-Button:focus,.DocSearch-Button:focus:not(:focus-visible){box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.DocSearch-Button:focus:not(:focus-visible){border-color:transparent;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.DocSearch-Button-Container{padding:0 1.5rem 0 0}.DocSearch-Button-Placeholder{color:transparent}.DocSearch-Button-Placeholder:before{content:"Search the docs";color:#94a3b8;margin-right:-52px}.DocSearch-Search-Icon{display:none}.DocSearch-Button-Keys{margin-left:auto;display:none;border-radius:.375rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(203,213,225,var(--tw-border-opacity));padding:.125rem .375rem;font-size:.875rem;line-height:1.25rem;color:currentColor}@media (min-width:640px){.DocSearch-Button-Keys{display:block}}.DocSearch-LoadingIndicator svg{display:none}.DocSearch-LoadingIndicator{display:none;width:1.5rem;height:1.5rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='9' stroke-width='2' stroke='%23cffafe'/%3E%3Cpath d='M3 12a9 9 0 1018 0 9 9 0 10-18 0' stroke-width='2' stroke='%2306b6d4' stroke-dasharray='56.549' stroke-dashoffset='37.699' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100% 100%}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{display:block}.DocSearch-Modal{margin:0 auto;width:100%;max-width:47.375rem;display:flex;flex-direction:column;min-height:0;border-radius:1rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);background:#fff}.DocSearch-SearchBar{flex:none;border-bottom:1px solid #e2e8f0;position:relative;z-index:1;display:flex;align-items:center;margin:0 1.5rem}.DocSearch-Form{flex:auto;display:flex;align-items:center;min-width:0}.DocSearch-Dropdown{flex:auto;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem;padding:0 1.5rem 1.5rem;overflow:auto}.DocSearch-MagnifierLabel{flex:none;width:1.5rem;height:1.5rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z' stroke='%2395a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100%}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-MagnifierLabel svg{display:none}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;height:4.5rem;font-size:1rem;font-weight:500;color:#000;margin:0 1rem;flex:auto;min-width:0;padding:0;border:none;box-shadow:none!important}.DocSearch-Input:focus{border-width:0;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-Reset{display:none}.DocSearch-Reset:before{content:"esc"}.DocSearch-Cancel{flex:none;font-size:0;border-radius:.375rem;background-color:#f8fafc;border:1px solid #cbd5e1;padding:.125rem .375rem}.DocSearch-Cancel:before{content:"esc";color:#94a3b8;font-size:.875rem;line-height:1.25rem}.DocSearch-Reset svg{display:none}.DocSearch-Hit-source{line-height:1.5rem;font-weight:700;color:#475569;margin-top:1.5rem;margin-bottom:1rem}.DocSearch-Hit-Container{display:flex;align-items:center;height:4rem}.DocSearch-Hit-Tree{display:none}.DocSearch-Hit-icon{flex:none;margin-right:.875rem}.DocSearch-Hit-icon path{stroke-width:2px;stroke:#71717a}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon path{stroke:#fff}.DocSearch-Hit-content-wrapper{flex:auto;display:flex;flex-direction:column-reverse;min-width:0}.DocSearch-Hit-path{font-size:.75rem;line-height:1rem;font-weight:500;color:#64748b}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path{color:#ddd6fe}.DocSearch-Hit-title{color:#000;line-height:1.5rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title{color:#fff}.DocSearch-Hit-title+.DocSearch-Hit-path{margin-bottom:.125rem}.DocSearch-Hit-action{flex:none;margin-left:.875rem}.DocSearch-Hit-action-button{display:flex}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:.5rem}.DocSearch-Hit-action path{stroke-width:2px;stroke:#71717a}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action path{stroke:#fff}.DocSearch-Hit>a{display:block;background:#f8fafc;border-radius:.5rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);padding:0 1.25rem 0 1rem}.DocSearch-Hit[aria-selected=true]>a{background:#8b5cf6}.DocSearch-Hit+.DocSearch-Hit{margin-top:.5rem}.DocSearch-Hit{position:relative;list-style:none;margin:0}.DocSearch-Hit--Child{padding-left:1.75rem}.DocSearch-Hit--Child+.DocSearch-Hit:not(.DocSearch-Hit--Child):before,.DocSearch-Hit--Child:before{content:"";position:absolute;top:-.25rem;bottom:-.25rem;left:.5rem;width:1.25rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='200' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 0v200m0-100h11' stroke='%23a1a1aa' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0}.DocSearch-Hit--Child+.DocSearch-Hit:not(.DocSearch-Hit--Child):before,.DocSearch-Hit--Child:last-child:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='200' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 0v89q0 11 11 11' stroke='%23a1a1aa' stroke-width='2'/%3E%3C/svg%3E")}.DocSearch-Hit:not(.DocSearch-Hit--Child)+.DocSearch-Hit--Child:after{content:"";position:absolute;top:-.25rem;left:0;width:1.25rem;height:.25rem;background:#fff}.DocSearch-Hit--Child+.DocSearch-Hit:not(.DocSearch-Hit--Child):before{top:auto;bottom:calc(100% + .25rem);height:calc(100% + .25rem);background-color:#fff}.DocSearch-Hits mark{background:none;color:#8b5cf6}.DocSearch-Hit[aria-selected=true] mark{color:inherit;text-decoration:underline}.DocSearch-Footer{flex:none;display:flex;justify-content:flex-end;margin:0 1.5rem;border-top:1px solid #e2e8f0;padding:1.25rem 0}.DocSearch-Commands{display:none}.DocSearch-Logo a{display:flex;align-items:center;color:#5d6494;font-size:.75rem;font-weight:500}.DocSearch-Logo svg{color:#5468ff;margin-left:.5rem}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{opacity:0;transition:all .25s linear}.DocSearch-NoResults .DocSearch-Screen-Icon{display:none}.DocSearch-Title{font-size:1.125rem;line-height:1.5rem;margin-bottom:2.5rem}.DocSearch-Title strong{color:#0f172a;font-weight:500}.DocSearch-NoResults,.DocSearch-StartScreen{padding-top:2.5rem;padding-bottom:1rem}.DocSearch-StartScreen .DocSearch-Help{font-size:1.125rem;line-height:1.5rem;margin:0}.DocSearch-NoResults-Prefill-List .DocSearch-Help{font-size:.75rem;line-height:1rem;letter-spacing:.025em;text-transform:uppercase;font-weight:600;padding-bottom:.5rem;margin:0;border-bottom:1px solid #e2e8f0}.DocSearch-NoResults-Prefill-List li{list-style:none;margin:0;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.DocSearch-NoResults-Prefill-List button{font-weight:500;color:#7c3aed}.DocSearch-NoResults-Prefill-List+.DocSearch-Help{font-size:.875rem;line-height:1.25rem;margin-top:1rem}.DocSearch-NoResults-Prefill-List+.DocSearch-Help a{box-shadow:inset 0 -.125em 0 0 #fff,inset 0 -.375em 0 0 rgba(143,88,240,.25);color:#6d28d9;font-weight:500}
\ No newline at end of file
diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css
new file mode 100644
index 0000000..91ad793
--- /dev/null
+++ b/docs/assets/css/main.css
@@ -0,0 +1,125 @@
+[class*=language-] {
+ border-radius: 10px !important;
+}
+
+.docs article .callout {
+ margin-left: 0rem !important;
+ margin-right: -2rem;
+}
+
+.btn-blue {
+ background-color: #405cf5;
+}
+
+.btn-sky {
+ background-color: #0284c7;
+}
+
+.btn-red {
+ background-color: #e31616;
+}
+
+.btn-green {
+ background-color: #2ea44f;
+}
+
+.btn-yellow {
+ background-color: #ffca35;
+}
+
+.btn-orange {
+ background-color: darkorange;
+}
+
+.btn-purple {
+ background-color: #8b5cf6;
+}
+
+.btn-pink {
+ background-color: #EA4C89;
+}
+
+.btn {
+ border-radius: 8px;
+ border-style: none;
+ box-sizing: border-box;
+ color: #FFFFFF;
+ cursor: pointer;
+ display: inline-block;
+ font-family: "Haas Grot Text R Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ font-weight: 500;
+ height: 40px;
+ line-height: 20px;
+ list-style: none;
+ margin: 0;
+ outline: none;
+ padding: 10px 16px;
+ position: relative;
+ text-align: center;
+ text-decoration: none;
+ transition: color 100ms;
+ vertical-align: baseline;
+ user-select: none;
+ -webkit-user-select: none;
+ touch-action: manipulation;
+}
+
+.btn:hover,
+.btn:focus {
+ background-color: #bae6fd;
+ color: #333;
+}
+
+@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic);
+blockquote {
+ font-family:Open Sans;
+ font-style:italic;
+ color: #555555;
+ padding:1.2em 30px 0.2em 25px;
+ border-left:8px solid #CCC ;
+ line-height:1.6;
+ position: relative;
+}
+
+blockquote::before{
+ font-family:Arial;
+ color:#78C0A8;
+ font-size:4em;
+ position: absolute;
+ left: 10px;
+ top:-10px;
+}
+
+blockquote::after {
+ content: '';
+}
+
+blockquote span {
+ display:block;
+ color:#333333;
+ font-style: normal;
+ font-weight: bold;
+ margin-top:1em;
+}
+
+article ul.task-list {
+ margin-top: 0.5em;
+}
+
+article ul li.task-list-item {
+ margin-left: 2em;
+}
+
+article ul li.task-list-item:before {
+ display: none;
+}
+
+.task-list-item [type=checkbox] {
+ margin-right: 0.5em;
+}
+
+a.badge img, article img.badge {
+ margin: initial;
+ display: inline;
+}
diff --git a/docs/assets/css/tailwind2.css b/docs/assets/css/tailwind2.css
new file mode 100644
index 0000000..13a7ad4
--- /dev/null
+++ b/docs/assets/css/tailwind2.css
@@ -0,0 +1,2 @@
+/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com*/
+/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */html{-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#94a3b8}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#94a3b8}input::placeholder,textarea::placeholder{opacity:1;color:#94a3b8}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:Native,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}*{--tw-shadow:0 0 transparent;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#64748b;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#64748b;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#64748b;opacity:1}input::placeholder,textarea::placeholder{color:#64748b;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#64748b;border-width:1px}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:#0284c7;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{border-color:transparent;background-color:#bae6fd;}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}pre{word-wrap:break-word;white-space:pre-wrap}svg{-webkit-backface-visibility:hidden;backface-visibility:hidden}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1400px){.container{max-width:1400px}}.card{background-color:#fff}.button,.button-2xl,.button-lg,.button-sm,.button-xl,.button-xs{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-weight:600;line-height:1.25;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-xs{padding-left:.25rem;padding-right:.25rem;font-size:.875rem;line-height:1.25rem;height:30px}.button-sm{height:34px}.button,.button-sm{padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem}.button{height:38px}.button-lg{padding-left:1rem;padding-right:1rem;font-size:.875rem;line-height:1.25rem;height:42px}.button-xl{padding-left:1.25rem;padding-right:1.25rem;font-size:1rem;line-height:1.5rem;height:48px}.button-2xl{padding-left:1.5rem;padding-right:1.5rem;font-size:1.125rem;line-height:1.75rem;height:60px}.button-red{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.button-red:active,.button-red:focus,.button-red:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.button-emerald{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:.5rem;--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-emerald:hover{--tw-scale-x:.95;--tw-scale-y:.95}.button-emerald:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgba(110,231,183,var(--tw-ring-opacity));--tw-ring-opacity:0.75}.button-emerald:focus,.button-emerald:hover{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.button-shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.button-shadow,.button-shadow:active,.button-shadow:focus,.button-shadow:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.button-shadow:active,.button-shadow:focus,.button-shadow:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.button-outline{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(203,213,225,var(--tw-border-opacity));--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity));--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-outline:hover{--tw-scale-x:.95;--tw-scale-y:.95;--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity));--tw-shadow:0 0 transparent;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.button-outline:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgba(139,92,246,var(--tw-ring-opacity));--tw-ring-opacity:0.5}.button-outline:focus,.button-outline:hover{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.button-lg[disabled],.button-sm[disabled],.button-xl[disabled],.button-xs[disabled],.button[disabled]{background-image:none!important;cursor:default!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;border-color:transparent!important;--tw-bg-opacity:1!important;background-color:rgba(203,213,225,var(--tw-bg-opacity))!important;--tw-text-opacity:1!important;color:rgba(71,85,105,var(--tw-text-opacity))!important;--tw-shadow:0 0 transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)!important}.bg-custom{background-image:var(--bg-sm)}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.bg-custom{background-image:var(--bg-lg)}}.docs article h1,.docs article h2,.docs article h3,.docs article h4,.docs article h5,.docs article h6{font-family:Mackinac,ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-weight:700;--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity));letter-spacing:-.025em;word-spacing:.025em}.docs article h1[id],.docs article h2[id],.docs article h3[id],.docs article h4[id],.docs article h5[id],.docs article h6[id]{scroll-margin-top:9rem;margin-top:2.75rem}.docs article h2{font-size:1.5rem;line-height:2rem}.docs article h3{font-size:1.25rem;line-height:1.75rem}.docs article h4{font-size:1.125rem;line-height:1.75rem}.docs article img{margin:3.5rem auto;max-width:100%}.after\:hash:after{content:"#"}.docs article div.overflow-x-auto{margin-left:1px;margin-right:1px}.docs article .button,.docs article>ol:not([class]),.docs article>ul:not([class]),.docs article blockquote:not([class]),.docs article dl:not([class]),.docs article figure:not([class]),.docs article hr:not([class]),.docs article input:not([class]),.docs article legend:not([class]),.docs article p:not([class]),.docs article pre:not([class]),.docs article select:not([class]),.docs article table:not([class]),.docs article textarea:not([class]){margin-bottom:1.5rem}.docs article p:empty{display:none}.docs article li a:not([class]),.docs article p a:not([class]){--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity));text-decoration:underline;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;text-underline-offset:.05em;text-decoration-thickness:1px}.docs article li a:not([class]):hover,.docs article p a:not([class]):hover{--tw-text-opacity:1;color:rgba(14,165,233,var(--tw-text-opacity))}.docs article .callout{margin-top:3rem;margin-bottom:3rem;border-radius:.75rem;--tw-bg-opacity:1;background-color:rgba(241,245,249,var(--tw-bg-opacity));padding:2rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}@media (min-width:1024px){.docs article .callout{margin-left:-2rem;margin-right:-2rem}}.docs article .callout h2{font-size:1.5rem;line-height:2rem}.docs article .callout:not(pre):not(.changelog-item) code{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity));color:currentColor}.docs article .callout>:first-child{margin-top:0}.docs article .callout>:last-child{margin-bottom:0}.docs article .callout h3{font-size:1.25rem;line-height:1.75rem}.docs div.highlight{margin-left:auto;margin-right:auto;margin-bottom:1.5rem;max-width:100%;overflow-x:auto;border-radius:.75rem;padding:1.5rem}.docs div.highlight>pre{white-space:pre}.docs :not(a):not(pre)>code{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(3,105,161,var(--tw-text-opacity));mix-blend-mode:multiply}.docs a>code{color:currentColor}.docs pre.highlight{margin:0;padding:0}.docs .cmd,.docs .output{position:relative}.docs .cmd pre.highlight{position:relative;z-index:10;padding-left:1.25rem}.docs .cmd .highlight:before{content:"$ ";--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.docs .cmd+div.output{margin-top:-2rem;border-top-left-radius:0;border-top-right-radius:0;border-top-width:1px;--tw-border-opacity:1;border-color:rgba(51,65,85,var(--tw-border-opacity));box-shadow:0 -2rem #0e172a}.docs .cmd .highlight:before,.docs .output .highlight:before{position:absolute;left:0}.docs .cmd+div.cmd{margin-top:-4.5rem;border-top-left-radius:0;border-top-right-radius:0;padding-top:0}.docs a.active{pointer-events:none;--tw-border-opacity:1;border-color:rgba(14,165,233,var(--tw-border-opacity))}.docs a.active,.docs a.active>.text\:code{--tw-text-opacity:1;color:rgba(2,132,199,var(--tw-text-opacity))}.docs a.active>.text\:code{background-image:none}.docs article ol{counter-reset:a;list-style-type:none}.docs article ol>li{position:relative;margin-left:0;list-style-type:none;padding-left:1.75em}.docs article ol>li:before{counter-increment:a;position:absolute;left:0;text-align:right;font-weight:700;top:.4em;width:2.1875em;padding-right:.625em;font-size:.8em;content:counter(a) "."}.docs article .list-alpha>li:before{content:counter(a,lower-alpha) "."}.docs article li:before{--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}.docs article ul{margin-top:-.2em}.docs article ul li{position:relative;margin-left:1.25em;margin-top:.2em}.docs article ul li+li{margin-top:.2em}.docs article li ul{margin-bottom:0;margin-top:.2em;padding-left:1em}.docs article ul li:before{content:"\2022";position:absolute;--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity));left:-1.25em}.docs article li p:last-of-type{margin-bottom:0}.docs article li div.highlight{margin-top:var(--size-3)}.target\:shadow\:highlight:target{box-shadow:var(--shadow-highlight)}@media (min-width:64rem){.docs-right-sidebar{right:2rem;left:auto}}@media (min-width:96rem){.docs-right-sidebar{left:calc(50vw + 31rem);right:auto}}.outline-list li{border-left-width:1px;line-height:1.25rem}.outline-list li li{margin-left:1rem}.target\:bg-violet-100:target{border-width:1px;--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgba(196,181,253,var(--tw-ring-opacity))}.phoenix-files-cover{position:absolute;bottom:0;left:0;height:100%;width:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 60 96' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd' stroke-linejoin='round' stroke-miterlimit='2'%3E%3CclipPath id='a'%3E%3Cpath d='M0 0h60v96H0z'/%3E%3C/clipPath%3E%3Cg opacity='.15' clip-path='url(%23a)'%3E%3Cpath d='M66.112 76.722a1.38 1.38 0 001.585-1.584l-3.614-21.99a1.368 1.368 0 00-.385-.75 1.384 1.384 0 00-1.949 0L43.373 70.774h-.001a1.386 1.386 0 000 1.949c.204.204.467.339.751.385l21.989 3.614z' fill='url(%23_Linear2)'/%3E%3Cpath d='M51.678 77.375a1.508 1.508 0 00-1.277.427 1.514 1.514 0 00-.001 2.131l5.683 5.683a1.514 1.514 0 002.13 0l.001-.001 4.272-4.272a1.515 1.515 0 000-2.131 1.505 1.505 0 00-.853-.426l-9.955-1.411z' fill='url(%23_Linear3)'/%3E%3Cpath d='M36.126 28.725a1.379 1.379 0 001.584-1.584L34.097 5.152a1.378 1.378 0 00-2.334-.751h-.001L13.386 22.778a1.383 1.383 0 000 1.948c.203.204.466.339.75.386l21.99 3.613z' fill='url(%23_Linear4)'/%3E%3Cpath d='M40.92 11.429l-.001-.001a1.512 1.512 0 00-2.13 0 1.507 1.507 0 00-.426 1.278l1.41 9.956a1.507 1.507 0 002.558.853l4.272-4.273a1.512 1.512 0 000-2.13l-5.683-5.683z' fill='url(%23_Linear5)'/%3E%3Cpath d='M21.691 29.378a1.509 1.509 0 00-1.277.427 1.515 1.515 0 00-.001 2.131l5.683 5.683a1.515 1.515 0 002.131 0l4.272-4.273a1.514 1.514 0 000-2.131c-.231-.23-.53-.38-.853-.426l-9.955-1.411z' fill='url(%23_Linear6)'/%3E%3Cpath d='M6.112 76.722a1.38 1.38 0 001.585-1.584l-3.614-21.99a1.368 1.368 0 00-.385-.75 1.384 1.384 0 00-1.949 0l-18.376 18.376h-.001a1.386 1.386 0 000 1.949c.204.204.467.339.751.385l21.989 3.614z' fill='url(%23_Linear7)'/%3E%3Cpath d='M10.907 59.425l-.001-.001a1.514 1.514 0 00-2.13 0c-.336.335-.494.81-.426 1.279l1.41 9.955c.046.323.196.623.426.853a1.513 1.513 0 002.131 0l4.273-4.272a1.513 1.513 0 000-2.131l-5.683-5.683z' fill='url(%23_Linear8)'/%3E%3Cpath d='M-8.322 77.375a1.508 1.508 0 00-1.277.427 1.514 1.514 0 00-.001 2.131l5.683 5.683a1.514 1.514 0 002.13 0l.001-.001 4.272-4.272a1.515 1.515 0 000-2.131 1.505 1.505 0 00-.853-.426l-9.955-1.411z' fill='url(%23_Linear9)'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='_Linear2' x1='0' y1='0' x2='1' y2='0' gradientUnits='userSpaceOnUse' gradientTransform='rotate(45 -48.061 94.245) scale(20.86)'%3E%3Cstop offset='0' stop-color='%23ba77ff'/%3E%3Cstop offset='.44' stop-color='%238d5ee4'/%3E%3Cstop offset='1' stop-color='%232325a6'/%3E%3C/linearGradient%3E%3ClinearGradient id='_Linear3' x1='0' y1='0' x2='1' y2='0' gradientUnits='userSpaceOnUse' gradientTransform='rotate(-67.325 93.653 .434) scale(9.79019)'%3E%3Cstop offset='0' stop-color='%23ff70b7'/%3E%3Cstop offset='.59' stop-color='%23e56ec0'/%3E%3Cstop offset='.81' stop-color='%23aa69d5'/%3E%3Cstop offset='1' stop-color='%236e64eb'/%3E%3C/linearGradient%3E%3ClinearGradient id='_Linear4' x1='0' y1='0' x2='1' y2='0' gradientUnits='userSpaceOnUse' gradientTransform='rotate(45 -5.11 34.044) scale(20.86)'%3E%3Cstop offset='0' stop-color='%23ba77ff'/%3E%3Cstop offset='.44' stop-color='%238d5ee4'/%3E%3Cstop offset='1' stop-color='%232325a6'/%3E%3C/linearGradient%3E%3ClinearGradient id='_Linear5' x1='0' y1='0' x2='1' y2='0' gradientUnits='userSpaceOnUse' gradientTransform='rotate(156.436 21.938 14.06) scale(9.72942)'%3E%3Cstop offset='0' stop-color='%2300bced'/%3E%3Cstop offset='.55' stop-color='%2317a9ed'/%3E%3Cstop offset='1' stop-color='%236e64eb'/%3E%3C/linearGradient%3E%3ClinearGradient id='_Linear6' x1='0' y1='0' x2='1' y2='0' gradientUnits='userSpaceOnUse' gradientTransform='rotate(-67.325 42.624 -1.05) scale(9.79019)'%3E%3Cstop offset='0' stop-color='%23ff70b7'/%3E%3Cstop offset='.59' stop-color='%23e56ec0'/%3E%3Cstop offset='.81' stop-color='%23aa69d5'/%3E%3Cstop offset='1' stop-color='%236e64eb'/%3E%3C/linearGradient%3E%3ClinearGradient id='_Linear7' x1='0' y1='0' x2='1' y2='0' gradientUnits='userSpaceOnUse' gradientTransform='rotate(45 -78.058 21.82) scale(20.86)'%3E%3Cstop offset='0' stop-color='%23ba77ff'/%3E%3Cstop offset='.44' stop-color='%238d5ee4'/%3E%3Cstop offset='1' stop-color='%232325a6'/%3E%3C/linearGradient%3E%3ClinearGradient id='_Linear8' x1='0' y1='0' x2='1' y2='0' gradientUnits='userSpaceOnUse' gradientTransform='rotate(156.436 1.928 34.928) scale(9.72942)'%3E%3Cstop offset='0' stop-color='%2300bced'/%3E%3Cstop offset='.55' stop-color='%2317a9ed'/%3E%3Cstop offset='1' stop-color='%236e64eb'/%3E%3C/linearGradient%3E%3ClinearGradient id='_Linear9' x1='0' y1='0' x2='1' y2='0' gradientUnits='userSpaceOnUse' gradientTransform='rotate(-67.325 63.653 45.482) scale(9.79019)'%3E%3Cstop offset='0' stop-color='%23ff70b7'/%3E%3Cstop offset='.59' stop-color='%23e56ec0'/%3E%3Cstop offset='.81' stop-color='%23aa69d5'/%3E%3Cstop offset='1' stop-color='%236e64eb'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");background-size:200px;-webkit-mask:radial-gradient(ellipse at top,hsla(0,0%,100%,0) 50%,#fff);mask:radial-gradient(ellipse at top,hsla(0,0%,100%,0) 50%,#fff)}.phoenix-post-cover{margin:-1rem auto 3rem;max-width:100%;border-radius:1rem;-o-object-fit:cover;object-fit:cover}@media (min-width:768px){.phoenix-post-cover{margin-bottom:3.5rem}}@media (min-width:1024px){.phoenix-post-cover{margin-left:-2rem;margin-right:-2rem;margin-top:-.75rem;margin-bottom:4rem;min-height:25rem;max-width:48rem}}@media (min-width:1536px){.phoenix-post-cover{max-width:52rem}}.post article p img{margin:3.5rem auto;max-width:100%}@media (min-width:1024px){.post article p img{margin-left:-2rem;margin-right:-2rem;max-width:52rem}}.post article p>img.center{margin-left:auto;margin-right:auto;display:block}.post article .lead strong{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.post article img[src*="&1\/4"],.post article img[src*="?1\/4"]{width:12rem;max-width:100%}.post article img[src*="&1\/3"],.post article img[src*="?1\/3"]{width:16rem;max-width:100%}.post article img[src*="&1\/2"],.post article img[src*="?1\/2"]{width:24rem;max-width:100%}.post article img[src*="&2\/3"],.post article img[src*="?2\/3"]{width:32rem;max-width:100%}.post article img[src*="&3\/4"],.post article img[src*="?3\/4"]{width:36rem;max-width:100%}.post article img[src*="&shadow"],.post article img[src*="?shadow"]{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.post article img[src*="&rounded"],.post article img[src*="?rounded"]{border-radius:.75rem}.post article img[src*="&card"],.post article img[src*="?card"]{border-radius:.75rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.post article p img[src*="&left"],.post article p img[src*="?left"]{float:none;margin-left:0;margin-right:auto}.post article p img[src*="&right"],.post article p img[src*="?right"]{float:none;margin-left:auto;margin-right:0}.post article p img[src*="¢er"],.post article p img[src*="?center"]{margin-left:auto;margin-right:auto;display:block}.post article p img[src*="&wrap-left"],.post article p img[src*="?wrap-left"]{float:left;margin:0 2.5rem 2.5rem 1px;display:block}.post article p img[src*="&wrap-right"],.post article p img[src*="?wrap-right"]{float:right;margin:0 1px 2.5rem 2.5rem;display:block}.outline:focus-within .label{--tw-text-opacity:1;color:rgba(181,79,243,var(--tw-text-opacity))}.outline input:not(:-moz-placeholder-shown)~.label,.outline textarea:not(:-moz-placeholder-shown)~.label{--tw-translate-y:-1.4rem;--tw-translate-x:0px;--tw-scale-x:.75;--tw-scale-y:.75}.outline input:not(:-ms-input-placeholder)~.label,.outline textarea:not(:-ms-input-placeholder)~.label{--tw-translate-y:-1.4rem;--tw-translate-x:0px;--tw-scale-x:.75;--tw-scale-y:.75}.outline:focus-within .label,.outline [data-selected]~.label,.outline input:not(:placeholder-shown)~.label,.outline textarea:not(:placeholder-shown)~.label{--tw-translate-y:-1.4rem;--tw-translate-x:0px;--tw-scale-x:.75;--tw-scale-y:.75}label.outline[data-invalid]{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity));--tw-ring-opacity:1;--tw-ring-color:rgba(252,165,165,var(--tw-ring-opacity))}label.outline[data-invalid] .label,label.outline[data-invalid] input,label.outline[data-invalid] textarea{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}:root{--dot-size:6px}.loader:not(.loading){opacity:0;z-index:-1}.loader{display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;z-index:30;transition:var(--speed-medium) opacity;pointer-events:none}.loader.overlay{background:rgba(226,232,244,.85)}.dots{display:block;position:relative;width:calc(var(--dot-size)*6);height:calc(var(--dot-size)*6)}.dots:after,.dots:before{content:""}.dots:after,.dots:before,.dots span{position:absolute;top:calc(50% - var(--dot-size)/2);width:var(--dot-size);height:var(--dot-size);border-radius:50%;box-shadow:0 0 0 calc(var(--dot-size)/2) inset;-webkit-animation-timing-function:cubic-bezier(0,1,1,0);animation-timing-function:cubic-bezier(0,1,1,0)}.dots:before{left:calc(var(--dot-size)/2);-webkit-animation:dot-one .6s infinite;animation:dot-one .6s infinite}.dots:after{left:calc(var(--dot-size)/2)}.dots:after,.dots span:first-child{-webkit-animation:dot-two .6s infinite;animation:dot-two .6s infinite}.dots span:first-child{left:calc(var(--dot-size)*2.5)}.dots span:last-child{left:calc(var(--dot-size)*4.5);-webkit-animation:dot-three .6s infinite;animation:dot-three .6s infinite}@-webkit-keyframes dot-one{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes dot-one{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes dot-two{0%{transform:translate(0)}to{transform:translate(calc(var(--dot-size)*2))}}@keyframes dot-two{0%{transform:translate(0)}to{transform:translate(calc(var(--dot-size)*2))}}@-webkit-keyframes dot-three{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}@keyframes dot-three{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.cover{position:absolute;bottom:0;left:0;height:100%;width:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 475 950' xmlns='http://www.w3.org/2000/svg' opacity='.1'%3E%3Cpath d='M266.45 915.732c5.805-34.119 19.853-65.446 40.023-91.861 0-.003.004-.008.012-.016 3.643-3.642 10.16-4.033 13.802-.391l93.282 93.282a9.334 9.334 0 01-6.6 15.933H275.105c-5.152 0-9.709-4.911-9.709-10.062l.097.073c-.024-.053-.08-.134-.094-.097l1.051-6.861zm-58.828 6.518c0 5.151-4.332 10.036-9.483 10.036H66.219a9.334 9.334 0 01-6.599-15.933l93.242-93.242c3.187-3.187 8.711-3.395 12.482-.956l1.497 1.205c21.075 27.715 34.339 59.487 39.794 92.312l.987 6.578zm-80.341-138.423c3.643 3.642 4.033 10.16.391 13.802L34.391 890.91a9.335 9.335 0 01-15.933-6.599V752.446c0-4.507 3.759-8.56 8.15-9.502l1.911-.206c34.499 4.695 66.344 17.782 93.413 37.135l5.349 3.954zm318.347-41.089c5.152 0 10.036 4.332 10.036 9.483v131.92a9.334 9.334 0 01-15.933 6.599l-93.242-93.242c-3.187-3.187-3.394-8.711-.956-12.482l1.206-1.497c27.714-21.075 59.486-34.339 92.311-39.794l6.578-.987zM110.036 640.053c-3.642-3.643-4.033-10.16-.39-13.803l93.281-93.281a9.333 9.333 0 0115.933 6.6v131.864c0 4.508-3.759 8.56-8.15 9.503l-1.912.206c-34.499-4.695-66.343-17.782-93.412-37.136l-5.35-3.953zm154.69 41.07c-5.151 0-10.036-4.332-10.036-9.483V539.72a9.334 9.334 0 0115.933-6.6l93.243 93.243c3.187 3.187 3.394 8.711.956 12.482l-1.206 1.497c-27.715 21.075-59.486 34.339-92.311 39.794l-6.579.987zm138.424-80.341c-3.643 3.642-10.16 4.033-13.803.391l-93.281-93.282a9.332 9.332 0 016.6-15.933H434.53c4.508 0 8.56 3.76 9.503 8.151l.206 1.911c-4.695 34.499-17.782 66.344-37.136 93.412l-3.953 5.35zM29.695 501.629c0-5.151 4.333-10.036 9.484-10.036h131.919a9.333 9.333 0 016.6 15.933l-93.242 93.243c-3.187 3.187-8.711 3.394-12.483.956l-1.497-1.206c-21.074-27.714-34.338-59.486-39.794-92.311l-.987-6.579zm.315-62.036c5.806-34.119 19.854-65.447 40.024-91.862 0-.002.004-.007.012-.015 3.642-3.643 10.16-4.033 13.802-.391l93.281 93.281a9.332 9.332 0 01-6.599 15.933H38.665c-5.151 0-9.708-4.91-9.708-10.061l.097.072c-.024-.053-.08-.134-.094-.097l1.05-6.86zm414.21 6.499c0 5.151-4.332 10.036-9.483 10.036h-131.92a9.334 9.334 0 01-6.6-15.933l93.242-93.242c3.188-3.187 8.712-3.395 12.483-.957l1.497 1.206c21.074 27.715 34.339 59.486 39.794 92.312l.987 6.578zm-80.341-138.423c3.642 3.642 4.033 10.159.39 13.802l-93.281 93.281a9.333 9.333 0 01-15.933-6.6V276.288c0-4.507 3.76-8.56 8.15-9.503l1.912-.206c34.499 4.696 66.344 17.783 93.412 37.136l5.35 3.954zm-154.69-41.071c5.151 0 10.036 4.333 10.036 9.484v131.919a9.333 9.333 0 01-15.933 6.6l-93.242-93.242c-3.188-3.187-3.395-8.711-.957-12.483l1.206-1.497c27.715-21.074 59.486-34.338 92.312-39.794l6.578-.987zm139.25-100.406c-3.643-3.642-4.033-10.16-.391-13.802l93.281-93.281a9.335 9.335 0 0115.933 6.599v131.865c0 4.507-3.759 8.56-8.15 9.502l-1.911.206c-34.499-4.695-66.344-17.782-93.413-37.135l-5.349-3.954zm-320.31 41.07c-5.152 0-10.036-4.332-10.036-9.483V65.859a9.334 9.334 0 0115.933-6.599l93.242 93.242c3.187 3.187 3.394 8.711.956 12.482l-1.206 1.497c-27.714 21.075-59.486 34.339-92.311 39.794l-6.578.987zm138.423-80.341c-3.643 3.643-10.16 4.033-13.802.391L59.468 34.031a9.334 9.334 0 016.6-15.933h131.865c4.507 0 8.56 3.759 9.502 8.15l.206 1.911c-4.695 34.499-17.782 66.344-37.135 93.413l-3.954 5.349zm101.546-99.152c0-5.152 4.332-10.036 9.483-10.036h131.92a9.334 9.334 0 016.599 15.933l-93.242 93.242c-3.187 3.187-8.711 3.394-12.482.956l-1.498-1.206c-21.074-27.714-34.338-59.486-39.793-92.311l-.987-6.578z' fill='%23744df9'/%3E%3Cpath d='M232.875 507.271l-1.978-1.963-1.195-1.24-3.022-3.25-.752-.824-3.665-4.285-1.037-1.285-3.21-4.178-.356-.48-2.465-3.633-.678-1.094-1.767-3.034-.54-.992-1.529-3.229-.288-.743-.879-2.47-.338-1.167-.26-1.079-.218-1.17-.174-1.3-.07-.83-.03-1.418.008-.299.04-.848.307-3.092.095-.543.696-3.086.162-.518.516-1.505.165-.393.823-1.808.57-1.074.796-1.312.793-1.167.563-.742.65-.784.716-.786.613-.617 1.491-1.312 1.091-.893a.933.933 0 01.083-.062l1.29-.874 1.026-.653 1.948-1.027c.03-.017.063-.031.096-.045l2.76-1.147.257-.096 2.454-.72 1.037-.232 1.402-.28.929-.142 1.426-.177.974-.086 1.93-.103.754-.007 1.433.027.371.023 2.077.171 2.744.388.316.067 2.714.674.795.238.885.304 1.079.41.852.36 1.25.591.79.404 1.417.833.528.325 1.933 1.41.556.482 1.347 1.23.067.065 1.143 1.226.394.444 1.34 1.781.274.427 1.064 1.798.32.616.601 1.34.628 1.567.222.654.647 2.359c.012.04.021.083.029.127l.504 3.187.101 1.107.081 1.424.008.295-.03 1.59-.027.422-.085.687-.445 2.54-.106.464-1.023 3.19a.877.877 0 01-.033.092l-.95 2.299-.035.076-1.242 2.479-2.167 3.776-1.15 1.761-1.383 2.066-.974 1.335-1.93 2.58-1.313 1.652-1.943 2.365-1.36 1.59-2.092 2.355-1.346 1.477-3.893 4.066-.906.893c-2.695 2.91-5.39 2.798-8.087-.015zM-3.723 33.41L-5.7 31.447l-1.196-1.24-3.021-3.25-.752-.824-3.666-4.285-1.036-1.285-3.21-4.178-.357-.48-2.465-3.633-.677-1.094-1.767-3.034-.541-.992-1.528-3.229-.289-.743-.878-2.47-.338-1.167-.26-1.079-.219-1.17-.173-1.3-.07-.83-.03-1.418.007-.299.04-.848.307-3.092.095-.543.696-3.086.162-.518.517-1.505.165-.393.822-1.808.571-1.074.795-1.312.793-1.167.563-.742.651-.784.715-.786.613-.617 1.492-1.312 1.09-.893a.933.933 0 01.083-.062l1.291-.874 1.026-.653 1.947-1.027c.03-.017.063-.031.096-.045l2.761-1.147.256-.096 2.455-.72 1.037-.232 1.401-.28.93-.142 1.425-.177.975-.086 1.93-.103.754-.007 1.433.027.37.023 2.077.171 2.745.388.315.067 2.714.674.795.238.885.304 1.08.41.851.36 1.25.591.79.404 1.418.833.527.325 1.934 1.41.555.482 1.347 1.23.068.065 1.143 1.226.394.444 1.34 1.781.274.427 1.063 1.798.32.616.602 1.34.628 1.567.221.654.647 2.359c.013.04.022.083.03.127l.503 3.187.101 1.107.082 1.424.007.295-.029 1.59-.028.422-.085.687-.444 2.54-.106.464-1.023 3.19a.877.877 0 01-.033.092l-.95 2.299-.035.076-1.242 2.479-2.168 3.776-1.15 1.761-1.383 2.066-.973 1.335-1.931 2.58-1.313 1.652-1.942 2.365-1.361 1.59-2.091 2.355-1.346 1.477-3.893 4.066-.907.893c-2.695 2.91-5.39 2.798-8.087-.015zm475 0l-1.977-1.963-1.196-1.24-3.021-3.25-.752-.824-3.666-4.285-1.036-1.285-3.21-4.178-.357-.48-2.465-3.633-.677-1.094-1.767-3.034-.541-.992-1.528-3.229-.289-.743-.878-2.47-.338-1.167-.26-1.079-.219-1.17-.173-1.3-.07-.83-.03-1.418.007-.299.04-.848.307-3.092.095-.543.696-3.086.162-.518.517-1.505.165-.393.822-1.808.571-1.074.795-1.312.793-1.167.563-.742.651-.784.715-.786.613-.617 1.492-1.312 1.09-.893a.933.933 0 01.083-.062l1.291-.874 1.026-.653 1.947-1.027c.03-.017.063-.031.096-.045l2.761-1.147.256-.096 2.455-.72 1.037-.232 1.401-.28.93-.142 1.425-.177.975-.086 1.93-.103.754-.007 1.433.027.37.023 2.077.171 2.745.388.315.067 2.714.674.795.238.885.304 1.08.41.851.36 1.25.591.79.404 1.418.833.527.325 1.934 1.41.555.482 1.347 1.23.068.065 1.143 1.226.394.444 1.34 1.781.274.427 1.063 1.798.32.616.602 1.34.628 1.567.221.654.647 2.359c.013.04.022.083.03.127l.503 3.187.101 1.107.082 1.424.007.295-.029 1.59-.028.422-.085.687-.444 2.54-.106.464-1.023 3.19a.877.877 0 01-.033.092l-.95 2.299-.035.076-1.242 2.479-2.168 3.776-1.15 1.761-1.383 2.066-.973 1.335-1.931 2.58-1.313 1.652-1.942 2.365-1.361 1.59-2.091 2.355-1.346 1.477-3.893 4.066-.907.893c-2.695 2.91-5.39 2.798-8.087-.015zm-1.963 950l-1.977-1.963-1.196-1.24-3.021-3.25-.752-.824-3.666-4.285-1.036-1.285-3.21-4.178-.357-.48-2.465-3.633-.677-1.094-1.767-3.034-.541-.992-1.528-3.229-.289-.743-.878-2.47-.338-1.167-.26-1.079-.219-1.17-.173-1.3-.07-.83-.03-1.418.007-.299.04-.848.307-3.092.095-.543.696-3.086.162-.518.517-1.505.165-.393.822-1.808.571-1.074.795-1.312.793-1.167.563-.742.651-.784.715-.786.613-.617 1.492-1.312 1.09-.893a.933.933 0 01.083-.062l1.291-.874 1.026-.653 1.947-1.027c.03-.017.063-.031.096-.045l2.761-1.147.256-.096 2.455-.72 1.037-.232 1.401-.28.93-.142 1.425-.177.975-.086 1.93-.103.754-.007 1.433.027.37.023 2.077.171 2.745.388.315.067 2.714.674.795.238.885.304 1.08.41.851.36 1.25.591.79.404 1.418.833.527.325 1.934 1.41.555.482 1.347 1.23.068.065 1.143 1.226.394.444 1.34 1.781.274.427 1.063 1.798.32.616.602 1.34.628 1.567.221.654.647 2.359c.013.04.022.083.03.127l.503 3.187.101 1.107.082 1.424.007.295-.029 1.59-.028.422-.085.687-.444 2.54-.106.464-1.023 3.19a.877.877 0 01-.033.092l-.95 2.299-.035.076-1.242 2.479-2.168 3.776-1.15 1.761-1.383 2.066-.973 1.335-1.931 2.58-1.313 1.652-1.942 2.365-1.361 1.59-2.091 2.355-1.346 1.477-3.893 4.066-.907.893c-2.695 2.91-5.39 2.798-8.087-.015zm-473.037.02l-1.977-1.964-1.196-1.24-3.021-3.25-.752-.824-3.666-4.285-1.036-1.285-3.21-4.178-.357-.48-2.465-3.633-.677-1.094-1.767-3.034-.541-.992-1.528-3.229-.289-.743-.878-2.47-.338-1.167-.26-1.079-.219-1.17-.173-1.3-.07-.83-.03-1.418.007-.299.04-.848.307-3.092.095-.543.696-3.086.162-.518.517-1.505.165-.393.822-1.808.571-1.074.795-1.312.793-1.167.563-.742.651-.784.715-.786.613-.617 1.492-1.312 1.09-.893a.933.933 0 01.083-.062l1.291-.874 1.026-.653 1.947-1.027c.03-.017.063-.031.096-.045l2.761-1.147.256-.096 2.455-.72 1.037-.232 1.401-.28.93-.142 1.425-.177.975-.086 1.93-.103.754-.007 1.433.027.37.023 2.077.171 2.745.388.315.067 2.714.674.795.238.885.304 1.08.41.851.36 1.25.591.79.404 1.418.833.527.325 1.934 1.41.555.482 1.347 1.23.068.065 1.143 1.226.394.444 1.34 1.781.274.427 1.063 1.798.32.616.602 1.34.628 1.567.221.654.647 2.359c.013.04.022.083.03.127l.503 3.187.101 1.107.082 1.424.007.295-.029 1.59-.028.422-.085.687-.444 2.54-.106.464-1.023 3.19a.877.877 0 01-.033.092l-.95 2.299-.035.076-1.242 2.479-2.168 3.776-1.15 1.761-1.383 2.066-.973 1.335-1.931 2.58-1.313 1.652-1.942 2.365-1.361 1.59-2.091 2.355-1.346 1.477-3.893 4.066-.907.893c-2.695 2.91-5.39 2.798-8.087-.015z' fill='none' stroke='%23a78bfa' stroke-width='17.332' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:45px auto;-webkit-mask:radial-gradient(ellipse at top,transparent 50%,#fff);mask:radial-gradient(ellipse at top,transparent 50%,#fff)}.post-cover{margin:-1rem auto 3rem;max-width:100%;border-radius:1rem;-o-object-fit:cover;object-fit:cover}@media (min-width:768px){.post-cover{margin-bottom:3.5rem}}@media (min-width:1024px){.post-cover{margin-left:-2rem;margin-right:-2rem;margin-top:-.75rem;margin-bottom:4rem;min-height:25rem;max-width:48rem}}@media (min-width:1536px){.post-cover{max-width:52rem}}.post section dl:not([class]),.post section h1:not([class]),.post section h2:not([class]),.post section h3:not([class]),.post section h4:not([class]),.post section h5:not([class]),.post section h6:not([class]),.post section ol:not([class]),.post section p:not([class]),.post section table:not([class]),.post section ul:not([class]){margin-bottom:1.75rem}.post section h2:not([class]),.post section h3:not([class]),.post section h4:not([class]){margin-top:3.5rem}@media (min-width:640px){.post section h2:not([class]),.post section h3:not([class]),.post section h4:not([class]){margin-top:4rem}}.post section h1[id],.post section h2[id],.post section h3[id],.post section h4[id],.post section h5[id],.post section h6[id]{scroll-margin-top:2.5rem;margin-bottom:1.75rem}.post section h1 code,.post section h2 code,.post section h3 code,.post section h4 code,.post section h5 code,.post section h6 code{letter-spacing:0}.post section a:not([class]){--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity));text-decoration:underline;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;text-underline-offset:.05em;text-decoration-thickness:1px}.post section a:not([class]):hover{--tw-text-opacity:1;color:rgba(14,165,233,var(--tw-text-opacity))}.post section .changelog-item a:not([class]){color:currentColor}.post section h2{font-size:1.5rem;line-height:2rem}@media (min-width:640px){.post section h2{font-size:1.875rem;line-height:2.25rem}}.post section h3{font-size:1.25rem;line-height:1.75rem}@media (min-width:640px){.post section h3{font-size:1.5rem;line-height:2rem}}.post div.highlight{margin-top:2.5rem;margin-bottom:2.5rem;border-radius:.75rem;padding:2rem}@media (min-width:1024px){.post div.highlight{margin-left:-2rem;margin-right:-2rem}}.post :not(a):not(pre):not(.changelog-item)>code{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity));padding-bottom:.125rem;--tw-text-opacity:1;color:rgba(14,165,233,var(--tw-text-opacity));mix-blend-mode:multiply}.post a>code{color:currentColor}.post .changelog-item>code{font-weight:700}.post section hr{margin-top:4rem;margin-bottom:4rem;height:1rem;border-width:0;text-align:center;--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}.post section hr:after{content:"\2736\2736\2736\2736";position:relative;top:-.25em;letter-spacing:20px;text-indent:20px}.post pre.highlight{margin:0;padding:0}.post .cmd,.post .output{position:relative}.post .cmd pre.highlight{padding-left:1.25rem}.post .cmd .highlight:before{content:"$ ";--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.post .cmd+div.output{margin-top:-2.5rem;border-top-left-radius:0;border-top-right-radius:0;border-top-width:1px;--tw-border-opacity:1;border-color:rgba(51,65,85,var(--tw-border-opacity));box-shadow:0 -2rem #0e172a}.post .cmd .highlight:before,.post .output .highlight:before{position:absolute;left:2rem}.post .cmd+div.cmd{margin-top:-4.5rem;border-top-left-radius:0;border-top-right-radius:0;padding-top:0}.post article p img,.post article p video{margin:3.5rem auto;max-width:100%}@media (min-width:1024px){.post article p img,.post article p video{margin-left:-2rem;margin-right:-2rem;max-width:52rem}}.post article p>img.center,.post article p>video.center{margin-left:auto;margin-right:auto;display:block}.post section blockquote{position:relative;margin-top:3rem;margin-bottom:3rem;padding-left:2.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:500;letter-spacing:-.025em;--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}.post section blockquote:before{content:"";position:absolute;right:100%;top:0;height:100%;width:3px;background-image:linear-gradient(180deg,var(--tw-gradient-stops));--tw-gradient-from:#b54ff3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(181,79,243,0));--tw-gradient-to:#3730a3}.post section blockquote p:first-of-type:before{content:"“";margin-left:-1rem}.post section blockquote p:first-of-type:before,.post section blockquote p:last-of-type:after{position:absolute;font-size:1.875rem;line-height:2.25rem;--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.post section blockquote p:last-of-type:after{content:"”";margin-left:.25rem}.post article li.changelog-item{margin-left:0;margin-right:0;margin-top:0}.post article li.changelog-item:before{display:none}.post li[class*="bg:"]>code{background-color:transparent;padding:0;font-weight:700;color:currentColor}.post article ol{counter-reset:a;list-style-type:none}.post article ol>li{position:relative;margin-left:0;list-style-type:none;padding-left:1.75em}.post article ol>li:before{counter-increment:a;position:absolute;left:0;text-align:right;font-weight:700;top:.05em;width:1.5em;font-size:.8em;content:counter(a) "."}.post article li:before{--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}.post article ul{margin-top:-.2em}.post article ul li{position:relative;margin-left:1.25em;margin-top:.2em}.post article ul li+li{margin-top:.2em}.post article li ul{margin-bottom:0;margin-top:.2em;padding-left:1em}.post article ul li:before{content:"\2022";position:absolute;left:-1.25em}.post article .lead,.post article ul li:before{--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}.post article .lead{margin-bottom:1.75rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em}.post article .lead>strong{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.post article .callout{margin-top:3rem;margin-bottom:3rem;border-radius:.75rem;--tw-bg-opacity:1;background-color:rgba(241,245,249,var(--tw-bg-opacity));padding:2rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}@media (min-width:1024px){.post article .callout{margin-left:-2rem;margin-right:-2rem}}.post article .callout h2{font-size:1.5rem;line-height:2rem}.post article .callout>:first-child{margin-top:0}.post article .callout>:last-child{margin-bottom:0}.post article .callout h3{font-size:1.25rem;line-height:1.75rem}.post article .embed{position:relative;margin:3.5rem auto;width:auto;max-width:100%}.post article .embed:before{content:"";display:block;width:100%;padding-top:56.25%}.post article .embed>*{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%}.post article [src*="&1\/4"],.post article [src*="?1\/4"]{width:12rem;max-width:100%}.post article [src*="&1\/3"],.post article [src*="?1\/3"]{width:16rem;max-width:100%}.post article [src*="&1\/2"],.post article [src*="?1\/2"]{width:24rem;max-width:100%}.post article [src*="&2\/3"],.post article [src*="?2\/3"]{width:32rem;max-width:100%}.post article [src*="&3\/4"],.post article [src*="?3\/4"]{width:36rem;max-width:100%}.post article [src*="&shadow"],.post article [src*="?shadow"]{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.post article [src*="&rounded"],.post article [src*="?rounded"]{border-radius:.75rem}.post article [src*="&card"],.post article [src*="?card"]{border-radius:.75rem;--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.post article p [src*="&left"],.post article p [src*="?left"]{float:none;margin-left:0;margin-right:auto}.post article p [src*="&right"],.post article p [src*="?right"]{float:none;margin-left:auto;margin-right:0}.post article p [src*="¢er"],.post article p [src*="?center"]{margin-left:auto;margin-right:auto;display:block}.post article p [src*="&wrap-left"],.post article p [src*="?wrap-left"]{float:left;margin:0 2.5rem 2.5rem 1px;display:block}.post article p [src*="&wrap-right"],.post article p [src*="?wrap-right"]{float:right;margin:0 1px 2.5rem 2.5rem;display:block}.post article .post-cta{position:relative;margin-top:4rem;margin-bottom:4rem;display:flex;border-radius:.75rem;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from:#b54ff3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(181,79,243,0));--tw-gradient-to:#3730a3;padding:2rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity));--tw-text-opacity:0.75}@media (min-width:640px){.post article .post-cta{padding-right:18rem}}@media (min-width:768px){.post article .post-cta{padding-right:20rem}}@media (min-width:1024px){.post article .post-cta{margin-left:-2rem;margin-right:-2rem;padding-right:24rem}}.post article .post-cta h1{word-spacing:.025em;margin-bottom:1rem;font-family:Mackinac,ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.5rem;line-height:2rem;font-weight:700;letter-spacing:-.025em;--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.post article .post-cta figcaption>:first-child{margin-top:0}.post article .post-cta figcaption>:last-child{margin-bottom:0}.post article .post-cta .image-container{position:absolute;top:0;right:3rem;height:100%}@media (min-width:640px){.post article .post-cta .image-container{width:12rem}}@media (min-width:768px){.post article .post-cta .image-container{width:15rem}}@media (min-width:1024px){.post article .post-cta .image-container{width:18rem}}.post article .post-cta img{position:absolute;left:0;top:0;margin:auto;display:none;height:100%;width:100%;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform-origin:center;--tw-rotate:6deg;border-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity));-o-object-fit:cover;object-fit:cover;padding:.5rem;--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent);--tw-ring-opacity:1;--tw-ring-color:rgba(14,165,233,var(--tw-ring-opacity));--tw-ring-opacity:0.1}@media (min-width:640px){.post article .post-cta img{display:block}}.post section table th:empty{display:none}.highlight{--tw-bg-opacity:1;background-color:rgba(15,23,42,var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.highlight .hll{--tw-bg-opacity:1;background-color:rgba(30,41,59,var(--tw-bg-opacity))}.highlight .go .k,.highlight .kc,.highlight .kd,.highlight .kp,.highlight .kr,.highlight .l,.highlight .language-html .na,.highlight .language-scss .nb,.highlight .language-scss .nf,.highlight .mh,.highlight .nc,.highlight .nd,.highlight .no,.highlight .nt{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.highlight .bp,.highlight .k,.highlight .language-css .o,.highlight .language-css .s2,.highlight .language-scss .o,.highlight .language-scss .s2,.highlight .ld,.highlight .n,.highlight .ni,.highlight .nl,.highlight .nn,.highlight .py,.highlight .vc,.highlight .vg,.highlight .vi,.highlight .w{--tw-text-opacity:1;color:rgba(34,211,238,var(--tw-text-opacity))}.highlight .c,.highlight .c1,.highlight .cm,.highlight .cp,.highlight .cs,.highlight .gu,.highlight .p{--tw-text-opacity:1;color:rgba(148,163,184,var(--tw-text-opacity))}.highlight .o,.highlight .ow{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity));--tw-text-opacity:0.75}.highlight .gi,.highlight .ne,.highlight .nf{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.highlight .il,.highlight .m,.highlight .mf,.highlight .mi,.highlight .mo,.highlight .nb{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.highlight .gd,.highlight .kn,.highlight .kt{--tw-text-opacity:1;color:rgba(232,121,249,var(--tw-text-opacity))}.highlight .language-css .k,.highlight .na,.highlight .nv,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sr,.highlight .ss,.highlight .sx{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.highlight .err,.highlight .ge,.highlight .gs{font-weight:700}[class*=language-]{--tw-bg-opacity:1;background-color:rgba(15,23,42,var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.highlighted-line{--tw-bg-opacity:1;background-color:rgba(30,41,59,var(--tw-bg-opacity))}.language-php .token.operator,.token.atrule,.token.keyword{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.language-markup .token.namespace,.language-url,.token.attr-name,.token.function,.token.selector,.token.tag,.token.tag *,.token.title,.token.url{--tw-text-opacity:1;color:rgba(34,211,238,var(--tw-text-opacity))}.token.comment,.token.punctuation{--tw-text-opacity:1;color:rgba(148,163,184,var(--tw-text-opacity))}.token.operator{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity));--tw-text-opacity:0.75}.language-ruby .token.constant+.token.punctuation,.language-ruby .token.constant+.token.punctuation+.token.symbol,.token.boolean,.token.builtin,.token.class-name,.token.constant,.token.namespace{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.token.number{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.language-bash .token.option,.language-css .property,.language-css .token.property,.token.parameter,.token.symbol{--tw-text-opacity:1;color:rgba(232,121,249,var(--tw-text-opacity))}.language-bash .token.function,.language-html .token.attr-value>.punctuation:not(:first-child),.language-markup .token.attr-value>.punctuation:not(:first-child),.token.attr-value,.token.curl,.token.macro,.token.macro .keyword,.token.option,.token.string,.token.stripe,.token.value,.token.variable{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.token.important{font-weight:700}.table-rule td,.table-rule th{border-bottom-width:1px}.table-rule tbody tr:last-child th,.table-rule tr:last-child td{border-bottom-width:0}.table-outline{border-collapse:collapse}.table-outline td,.table-outline th{border-width:1px}.table-stripe-even tbody tr:nth-child(2n),.table-stripe-odd tbody tr:nth-child(odd),.table-stripe tbody tr:nth-child(odd){--tw-bg-opacity:1;background-color:rgba(248,250,252,var(--tw-bg-opacity))}.table-stretch{min-width:100%;table-layout:fixed}.table-expand-first,.table-expand-last{width:auto}.table-expand-first td,.table-expand-first th,.table-expand-last td,.table-expand-last th{white-space:nowrap}.table-expand-first tr>td:first-child,.table-expand-first tr>th:first-child,.table-expand-last tr>td:last-child,.table-expand-last tr>th:last-child{width:100%}.table-condense td,.table-condense th{padding:.375rem .25rem}.table-pad td,.table-pad th{padding:1rem .875rem}.table-reset td,.table-reset th{padding:0}.font-heading{font-family:Mackinac,ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-weight:700;letter-spacing:-.025em;word-spacing:.025em}.font-code{font-family:Native,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em}[data-tooltip]{position:relative;font-weight:500}[data-tooltip] code{--tw-bg-opacity:1;background-color:rgba(15,23,42,var(--tw-bg-opacity));box-shadow:none;word-break:break-all}[data-tooltip]>*{position:relative}[data-tooltip]:before{content:"";position:absolute;left:-12px;top:-12px;right:-12px;bottom:-12px}[data-tooltip-content]{--tw-bg-opacity:1;background-color:rgba(15,23,42,var(--tw-bg-opacity));font-size:.75rem;line-height:1rem;border-radius:5px;color:#fff;padding:.8em 1.2em;white-space:nowrap;opacity:0;z-index:10;position:absolute;pointer-events:none;will-change:opacity,transform;transition:opacity .1s linear,transform .1s linear}[data-tooltip-content]:before{content:"";position:absolute;width:18px;height:6px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 36 12' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z' fill='%23currentColor'/%3E%3C/svg%3E") 0 0/100% auto no-repeat}[data-tooltip-visible=true] [data-tooltip-content],[data-tooltip]:not([data-tooltip-visible=false]):active [data-tooltip-content],[data-tooltip]:not([data-tooltip-visible=false]):focus [data-tooltip-content],[data-tooltip]:not([data-tooltip-visible=false]):hover [data-tooltip-content]{opacity:1;pointer-events:auto}[data-tooltip-break] [data-tooltip-content]{white-space:pre}[data-tooltip-blunt] [data-tooltip-content]{transition:none}[data-tooltip-position=""] [data-tooltip-content],[data-tooltip-position=up] [data-tooltip-content],[data-tooltip]:not([data-tooltip-position]) [data-tooltip-content]{left:50%;bottom:calc(100% + 12px);transform:translate3d(-50%,10px,0);transform-origin:top}[data-tooltip-position=""] [data-tooltip-content]:before,[data-tooltip-position=up] [data-tooltip-content]:before,[data-tooltip]:not([data-tooltip-position]) [data-tooltip-content]:before{left:calc(50% - 9px);top:100%}[data-tooltip-position=""]:active [data-tooltip-content],[data-tooltip-position=""]:focus [data-tooltip-content],[data-tooltip-position=""]:hover [data-tooltip-content],[data-tooltip-position=""][data-tooltip-visible=true] [data-tooltip-content],[data-tooltip-position=up]:active [data-tooltip-content],[data-tooltip-position=up]:focus [data-tooltip-content],[data-tooltip-position=up]:hover [data-tooltip-content],[data-tooltip-position=up][data-tooltip-visible=true] [data-tooltip-content],[data-tooltip]:not([data-tooltip-position]):active [data-tooltip-content],[data-tooltip]:not([data-tooltip-position]):focus [data-tooltip-content],[data-tooltip]:not([data-tooltip-position]):hover [data-tooltip-content],[data-tooltip]:not([data-tooltip-position])[data-tooltip-visible=true] [data-tooltip-content]{transform:translate3d(-50%,0,0)}[data-tooltip-position=up-right] [data-tooltip-content]{left:0;bottom:calc(100% + 12px);transform:translate3d(0,10px,0);transform-origin:top}[data-tooltip-position=up-right] [data-tooltip-content]:before{left:12px;top:100%}[data-tooltip-position=up-right]:active [data-tooltip-content],[data-tooltip-position=up-right]:focus [data-tooltip-content],[data-tooltip-position=up-right]:hover [data-tooltip-content],[data-tooltip-position=up-right][data-tooltip-visible=true] [data-tooltip-content]{transform:translateZ(0)}[data-tooltip-position=up-left] [data-tooltip-content]{right:0;bottom:calc(100% + 12px);transform:translate3d(0,10px,0);transform-origin:top}[data-tooltip-position=up-left] [data-tooltip-content]:before{right:12px;top:100%}[data-tooltip-position=up-left]:active [data-tooltip-content],[data-tooltip-position=up-left]:focus [data-tooltip-content],[data-tooltip-position=up-left]:hover [data-tooltip-content],[data-tooltip-position=up-left][data-tooltip-visible=true] [data-tooltip-content]{transform:translateZ(0)}[data-tooltip-position=down] [data-tooltip-content]{left:50%;top:calc(100% + 9px);transform:translate3d(-50%,-10px,0)}[data-tooltip-position=down] [data-tooltip-content]:before{left:calc(50% - 9px);bottom:100%;transform:rotate(180deg)}[data-tooltip-position=down]:active [data-tooltip-content],[data-tooltip-position=down]:focus [data-tooltip-content],[data-tooltip-position=down]:hover [data-tooltip-content],[data-tooltip-position=down][data-tooltip-visible=true] [data-tooltip-content]{transform:translate3d(-50%,0,0)}[data-tooltip-position=down-right] [data-tooltip-content]{left:0;top:calc(100% + 12px);transform:translate3d(0,-10px,0)}[data-tooltip-position=down-right] [data-tooltip-content]:before{left:12px;bottom:100%;transform:rotate(180deg)}[data-tooltip-position=down-right]:active [data-tooltip-content],[data-tooltip-position=down-right]:focus [data-tooltip-content],[data-tooltip-position=down-right]:hover [data-tooltip-content],[data-tooltip-position=down-right][data-tooltip-visible=true] [data-tooltip-content]{transform:translateZ(0)}[data-tooltip-position=down-left] [data-tooltip-content]{right:0;top:calc(100% + 12px);transform:translate3d(0,-10px,0)}[data-tooltip-position=down-left] [data-tooltip-content]:before{right:12px;bottom:100%;transform:rotate(180deg)}[data-tooltip-position=down-left]:active [data-tooltip-content],[data-tooltip-position=down-left]:focus [data-tooltip-content],[data-tooltip-position=down-left]:hover [data-tooltip-content],[data-tooltip-position=down-left][data-tooltip-visible=true] [data-tooltip-content]{transform:translateZ(0)}[data-tooltip-position=left] [data-tooltip-content]{right:calc(100% + 12px);top:50%;transform:translate3d(10px,-50%,0)}[data-tooltip-position=left] [data-tooltip-content]:before{left:calc(100% - 6px);top:calc(50% - 3px);transform:rotate(-90deg)}[data-tooltip-position=left]:active [data-tooltip-content],[data-tooltip-position=left]:focus [data-tooltip-content],[data-tooltip-position=left]:hover [data-tooltip-content],[data-tooltip-position=left][data-tooltip-visible=true] [data-tooltip-content]{transform:translate3d(0,-50%,0)}[data-tooltip-position=right] [data-tooltip-content]{left:calc(100% + 12px);top:50%;transform:translate3d(-10px,-50%,0)}[data-tooltip-position=right] [data-tooltip-content]:before{right:calc(100% - 6px);top:calc(50% - 3px);transform:rotate(90deg)}[data-tooltip-position=right]:active [data-tooltip-content],[data-tooltip-position=right]:focus [data-tooltip-content],[data-tooltip-position=right]:hover [data-tooltip-content],[data-tooltip-position=right][data-tooltip-visible=true] [data-tooltip-content]{transform:translate3d(0,-50%,0)}[data-tooltip-size=small] [data-tooltip-content]{white-space:normal;width:80px}[data-tooltip-size=medium] [data-tooltip-content]{white-space:normal;width:150px}[data-tooltip-size=large] [data-tooltip-content]{white-space:normal;width:260px}[data-tooltip-size=xlarge] [data-tooltip-content]{white-space:normal;width:380px}@media screen and (max-width:768px){[data-tooltip-size=xlarge] [data-tooltip-content]{white-space:normal;width:90vw}}[data-tooltip-size=fit]:after{white-space:normal;width:100%}[data-valid] [required]~[data-validation-marker]{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}[data-invalid] [required]~[data-validation-marker]{background-color:#dc2626}[data-validation-message][data-tooltip]{width:100%}[data-validation-message][data-tooltip] [data-tooltip-content]{font-weight:700;background-color:#dc2626;--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}[data-validation-message][data-tooltip] [data-tooltip-content]:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 36 12' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0z' fill='%23DC2626'/%3E%3C/svg%3E")}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:-webkit-sticky;position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-inset-x-8{left:-2rem;right:-2rem}.bottom-0{bottom:0}.left-0{left:0}.left-4{left:1rem}.left-full{left:100%}.right-0{right:0}.right-full{right:100%}.top-\[-2px\]{top:-2px}.top-\[-5\.85rem\]{top:-5.85rem}.top-0{top:0}.top-10{top:2.5rem}.top-3\.5{top:.875rem}.top-3{top:.75rem}.top-32{top:8rem}.top-5{top:1.25rem}.top-px{top:1px}.left-3{left:.75rem}.top-1\/2{top:50%}.right-4{right:1rem}.bottom-1{bottom:.25rem}.-left-3{left:-.75rem}.top-1{top:.25rem}.-top-14{top:-3.5rem}.left-5{left:1.25rem}.right-5{right:1.25rem}.bottom-6{bottom:1.5rem}.left-1\/2{left:50%}.right-3{right:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.-z-1{z-index:-1}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.row-end-3{grid-row-end:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.m-0{margin:0}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-12{margin-top:3rem;margin-bottom:3rem}.my-14{margin-top:3.5rem;margin-bottom:3.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.-mb-7{margin-bottom:-1.75rem}.-mt-1{margin-top:-.25rem}.-mt-16{margin-top:-4rem}.-mt-24{margin-top:-6rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-7{margin-bottom:1.75rem}.ml-\[-1em\]{margin-left:-1em}.ml-1{margin-left:.25rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-8{margin-right:2rem}.mr-auto{margin-right:auto}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-auto{margin-top:auto}.-ml-0\.5{margin-left:-.125rem}.-ml-0{margin-left:0}.-ml-px{margin-left:-1px}.-mt-0\.5{margin-top:-.125rem}.-mr-0\.5{margin-right:-.125rem}.-mt-0{margin-top:0}.-mr-0{margin-right:0}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-px{margin-bottom:1px}.-mt-2{margin-top:-.5rem}.mb-6{margin-bottom:1.5rem}.mb-9{margin-bottom:2.25rem}.-mb-3{margin-bottom:-.75rem}.ml-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-5{margin-top:1.25rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-3{margin-top:.75rem}.mb-auto{margin-bottom:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3\/5{height:60%}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.h-1\.5{height:.375rem}.h-1{height:.25rem}.h-3{height:.75rem}.h-36{height:9rem}.h-56{height:14rem}.h-20{height:5rem}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.w-\[3px\]{width:3px}.w-1\.5{width:.375rem}.w-1{width:.25rem}.w-36{width:9rem}.w-1\/2{width:50%}.w-20{width:5rem}.min-w-0{min-width:0}.max-w-\[44rem\]{max-width:44rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-screen-2xl{max-width:1536px}.max-w-xl{max-width:36rem}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-4xl{max-width:56rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.table-auto{table-layout:auto}.transform{transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform,.transform-gpu{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.origin-top-left{transform-origin:top left}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-y-1\/2{--tw-translate-y:-50%}.-rotate-12{--tw-rotate:-12deg}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-auto-span-auto{grid-template-columns:auto 1fr auto}.grid-cols-fit-24{grid-template-columns:repeat(auto-fit,minmax(6rem,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-auto-span{grid-template-columns:auto 1fr}.grid-cols-span-auto{grid-template-columns:1fr auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-auto-span{grid-template-rows:auto 1fr}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-10{gap:2.5rem}.gap-5{gap:1.25rem}.gap-3{gap:.75rem}.gap-16{gap:4rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-y-10{row-gap:2.5rem}.gap-y-4{row-gap:1rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-x-24{-moz-column-gap:6rem;column-gap:6rem}.gap-y-12{row-gap:3rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem*var(--tw-space-x-reverse));margin-left:calc(0.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem*var(--tw-space-x-reverse));margin-left:calc(0.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(226,232,240,var(--tw-divide-opacity))}.self-center{align-self:center}.justify-self-start{justify-self:start}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-md{border-radius:.375rem}.rounded-3xl{border-radius:1.5rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-l{border-left-width:1px}.border-l-\[3px\]{border-left-width:3px}.border-black{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(203,213,225,var(--tw-border-opacity))}.border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.border-orange-200{--tw-border-opacity:1;border-color:rgba(254,215,170,var(--tw-border-opacity))}.border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-violet-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgba(241,245,249,var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.border-opacity-10{--tw-border-opacity:0.1}.border-opacity-25{--tw-border-opacity:0.25}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(241,245,249,var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(226,232,240,var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgba(15,23,42,var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.bg-violet-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.bg-violet-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.bg-violet-900{--tw-bg-opacity:1;background-color:rgba(76,29,149,var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-emerald-300{--tw-bg-opacity:1;background-color:rgba(110,231,183,var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.bg-navy{--tw-bg-opacity:1;background-color:rgba(36,24,91,var(--tw-bg-opacity))}.bg-violet-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(248,250,252,var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgba(30,41,59,var(--tw-bg-opacity))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-5{--tw-bg-opacity:0.05}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-0{--tw-bg-opacity:0}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(180deg,var(--tw-gradient-stops))}.from-gray-900{--tw-gradient-from:#0f172a;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(15,23,42,0))}.from-purple-50{--tw-gradient-from:#faf5ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(250,245,255,0))}.from-purple-500{--tw-gradient-from:#b54ff3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(181,79,243,0))}.from-gray-200{--tw-gradient-from:#e2e8f0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(226,232,240,0))}.from-purple-600{--tw-gradient-from:#a02be4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(160,43,228,0))}.via-violet-600{--tw-gradient-stops:var(--tw-gradient-from),#7c3aed,var(--tw-gradient-to,rgba(124,58,237,0))}.to-navy{--tw-gradient-to:#24185b}.to-violet-100{--tw-gradient-to:#ede9fe}.to-indigo-800{--tw-gradient-to:#3730a3}.to-indigo-600{--tw-gradient-to:#4f46e5}.to-white{--tw-gradient-to:#fff}.bg-cover{background-size:cover}.bg-fixed{background-attachment:fixed}.bg-clip-padding{background-clip:padding-box}.bg-right{background-position:100%}.bg-bottom{background-position:bottom}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-1\.5{padding:.375rem}.p-1{padding:.25rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-36{padding-top:9rem;padding-bottom:9rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0{padding-top:0;padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pl-5{padding-left:1.25rem}.pr-\[0\.5em\]{padding-right:.5em}.pr-16{padding-right:4rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.pt-36{padding-top:9rem}.pt-4{padding-top:1rem}.pt-40{padding-top:10rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pl-0\.5{padding-left:.125rem}.pl-0{padding-left:0}.pl-4{padding-left:1rem}.pr-9{padding-right:2.25rem}.pl-8{padding-left:2rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pt-2{padding-top:.5rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pt-9{padding-top:2.25rem}.pl-6{padding-left:1.5rem}.pt-10{padding-top:2.5rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pr-14{padding-right:3.5rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:Native,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-\[0\.7rem\]{font-size:.7rem}.text-\[1\.4rem\]{font-size:1.4rem}.text-\[11px\]{font-size:11px}.text-\[2rem\]{font-size:2rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-snug{line-height:1.375}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-wide{letter-spacing:.025em}.tracking-normal{letter-spacing:0}.text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgba(203,213,225,var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(148,163,184,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(100,116,139,var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(71,85,105,var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(15,23,42,var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.text-navy{--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity:1;color:rgba(249,115,22,var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.text-teal-500{--tw-text-opacity:1;color:rgba(20,184,166,var(--tw-text-opacity))}.text-violet-300{--tw-text-opacity:1;color:rgba(196,181,253,var(--tw-text-opacity))}.text-violet-400{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.text-violet-500{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.text-violet-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-purple-400{--tw-text-opacity:1;color:rgba(202,127,248,var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgba(160,43,228,var(--tw-text-opacity))}.text-emerald-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.text-emerald-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-violet-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity:1;color:rgba(181,79,243,var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity:1;color:rgba(251,191,36,var(--tw-text-opacity))}.text-violet-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.text-emerald-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.text-opacity-75{--tw-text-opacity:0.75}.text-opacity-70{--tw-text-opacity:0.7}.text-opacity-60{--tw-text-opacity:0.6}.text-opacity-50{--tw-text-opacity:0.5}.text-opacity-80{--tw-text-opacity:0.8}.no-underline{text-decoration:none}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(100,116,139,var(--tw-placeholder-opacity))}.placeholder-gray-500:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(100,116,139,var(--tw-placeholder-opacity))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(100,116,139,var(--tw-placeholder-opacity))}.placeholder-navy::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(36,24,91,var(--tw-placeholder-opacity))}.placeholder-navy:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(36,24,91,var(--tw-placeholder-opacity))}.placeholder-navy::placeholder{--tw-placeholder-opacity:1;color:rgba(36,24,91,var(--tw-placeholder-opacity))}.placeholder-violet-900::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.placeholder-violet-900:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.placeholder-violet-900::placeholder{--tw-placeholder-opacity:1;color:rgba(76,29,149,var(--tw-placeholder-opacity))}.placeholder-opacity-0::-moz-placeholder{--tw-placeholder-opacity:0}.placeholder-opacity-0:-ms-input-placeholder{--tw-placeholder-opacity:0}.placeholder-opacity-0::placeholder{--tw-placeholder-opacity:0}.placeholder-opacity-70::-moz-placeholder{--tw-placeholder-opacity:0.7}.placeholder-opacity-70:-ms-input-placeholder{--tw-placeholder-opacity:0.7}.placeholder-opacity-70::placeholder{--tw-placeholder-opacity:0.7}.placeholder-opacity-60::-moz-placeholder{--tw-placeholder-opacity:0.6}.placeholder-opacity-60:-ms-input-placeholder{--tw-placeholder-opacity:0.6}.placeholder-opacity-60::placeholder{--tw-placeholder-opacity:0.6}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-25{opacity:.25}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}.shadow-white-glow{--tw-shadow:0 25px 50px 50px #fff}.shadow,.shadow-white-glow{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.shadow-lg,.shadow-purple{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-purple{--tw-shadow:0 2px 8px rgba(52,20,169,0.35)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgba(0,0,0,var(--tw-ring-opacity))}.ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgba(51,65,85,var(--tw-ring-opacity))}.ring-violet-300{--tw-ring-opacity:1;--tw-ring-color:rgba(196,181,253,var(--tw-ring-opacity))}.ring-violet-700{--tw-ring-opacity:1;--tw-ring-color:rgba(109,40,217,var(--tw-ring-opacity))}.ring-violet-100{--tw-ring-opacity:1;--tw-ring-color:rgba(237,233,254,var(--tw-ring-opacity))}.ring-opacity-10{--tw-ring-opacity:0.1}.ring-offset-8{--tw-ring-offset-width:8px}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur:blur(64px)}.blur{--tw-blur:blur(8px)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,0.1)) drop-shadow(0 1px 1px rgba(0,0,0,0.06))}.grayscale{--tw-grayscale:grayscale(100%)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.filter-shadow-plum{filter:drop-shadow(0 2px 8px hsla(333,65%,10%,.35))}.filter-shadow-purple{filter:drop-shadow(0 2px 8px hsla(253,79%,37%,.35))}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-3{-webkit-line-clamp:3}.text-shadow-none{text-shadow:none}.text-shadow-plum{text-shadow:0 2px 8px rgba(42,9,24,.35)}.text-shadow-purple{text-shadow:0 2px 8px rgba(52,20,169,.35)}.underline-transparent{-webkit-text-decoration-color:transparent;text-decoration-color:transparent}.underline-gray-300{-webkit-text-decoration-color:#cbd5e1;text-decoration-color:#cbd5e1}.underline-gray-400{-webkit-text-decoration-color:#94a3b8;text-decoration-color:#94a3b8}.underline-purple-300{-webkit-text-decoration-color:#dfb2fc;text-decoration-color:#dfb2fc}.underline-offset-sm{text-underline-offset:.05em}.focus-within\:z-10:focus-within{z-index:10}.focus-within\:border-purple-400:focus-within{--tw-border-opacity:1;border-color:rgba(202,127,248,var(--tw-border-opacity))}.focus-within\:bg-white:focus-within{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.focus-within\:bg-violet-50:focus-within{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-within\:ring-purple-300:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(223,178,252,var(--tw-ring-opacity))}.hover\:scale-95:hover{--tw-scale-x:.95;--tw-scale-y:.95}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.hover\:border-orange-500:hover{--tw-border-opacity:1;border-color:rgba(249,115,22,var(--tw-border-opacity))}.hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.hover\:border-violet-500:hover{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgba(237,212,254,var(--tw-border-opacity))}.hover\:border-transparent:hover{border-color:transparent}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgba(246,231,255,var(--tw-bg-opacity))}.hover\:bg-violet-200:hover{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.hover\:bg-violet-600:hover{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgba(250,245,255,var(--tw-bg-opacity))}.hover\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.hover\:bg-opacity-10:hover{--tw-bg-opacity:0.1}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgba(148,163,184,var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(15,23,42,var(--tw-text-opacity))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.hover\:text-navy:hover{--tw-text-opacity:1;color:rgba(36,24,91,var(--tw-text-opacity))}.hover\:text-orange-500:hover{--tw-text-opacity:1;color:rgba(249,115,22,var(--tw-text-opacity))}.hover\:text-orange-700:hover{--tw-text-opacity:1;color:rgba(194,65,12,var(--tw-text-opacity))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgba(219,39,119,var(--tw-text-opacity))}.hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgba(181,79,243,var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.hover\:text-teal-600:hover{--tw-text-opacity:1;color:rgba(13,148,136,var(--tw-text-opacity))}.hover\:text-violet-400:hover{--tw-text-opacity:1;color:rgba(167,139,250,var(--tw-text-opacity))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgba(139,92,246,var(--tw-text-opacity))}.hover\:text-violet-600:hover{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.hover\:text-violet-700:hover{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgba(115,28,165,var(--tw-text-opacity))}.hover\:text-opacity-100:hover{--tw-text-opacity:1}.hover\:underline:hover{text-decoration:underline}.hover\:shadow-purple:hover{--tw-shadow:0 2px 8px rgba(52,20,169,0.35);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.hover\:text-shadow-none:hover{text-shadow:none}.hover\:underline-current:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.hover\:underline-blue-300:hover{-webkit-text-decoration-color:#93c5fd;text-decoration-color:#93c5fd}.hover\:underline-purple-800:hover{-webkit-text-decoration-color:#731ca5;text-decoration-color:#731ca5}.focus\:relative:focus{position:relative}.focus\:border-violet-500:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus\:ring-transparent:focus{--tw-ring-color:transparent}.focus\:ring-violet-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(139,92,246,var(--tw-ring-opacity))}.focus\:ring-violet-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(124,58,237,var(--tw-ring-opacity))}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px}.group:hover .group-hover\:translate-x-0{--tw-translate-x:0px}.group:hover .group-hover\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-50{opacity:.5}@media (min-width:640px){.sm\:absolute{position:absolute}.sm\:static{position:static}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mb-16{margin-bottom:4rem}.sm\:ml-10{margin-left:2.5rem}.sm\:ml-3{margin-left:.75rem}.sm\:mr-10{margin-right:2.5rem}.sm\:mr-2{margin-right:.5rem}.sm\:mt-16{margin-top:4rem}.sm\:mt-0{margin-top:0}.sm\:mb-0{margin-bottom:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:w-auto{width:auto}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-4{gap:1rem}.sm\:gap-16{gap:4rem}.sm\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:gap-y-12{row-gap:3rem}.sm\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem*var(--tw-space-x-reverse));margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)))}.sm\:border-b-0{border-bottom-width:0}.sm\:border-r{border-right-width:1px}.sm\:bg-transparent{background-color:transparent}.sm\:p-12{padding:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-0{padding-bottom:0}.sm\:pl-8{padding-left:2rem}.sm\:pr-8{padding-right:2rem}.sm\:pt-0{padding-top:0}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-tight{line-height:1.25}}@media (min-width:768px){.md\:static{position:static}.md\:left-\[initial\]{left:auto}.md\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:-mb-6{margin-bottom:-1.5rem}.md\:-mt-12{margin-top:-3rem}.md\:-mt-20{margin-top:-5rem}.md\:-mt-24{margin-top:-6rem}.md\:-mt-6{margin-top:-1.5rem}.md\:mt-20{margin-top:5rem}.md\:mt-24{margin-top:6rem}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:w-60{width:15rem}.md\:w-full{width:100%}.md\:max-w-none{max-width:none}.md\:max-w-md{max-width:28rem}.md\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-auto-span{grid-template-columns:auto 1fr}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:justify-center{justify-content:center}.md\:justify-items-center{justify-items:center}.md\:gap-16{gap:4rem}.md\:gap-y-16{row-gap:4rem}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px*var(--tw-divide-y-reverse))}.md\:border-t-0{border-top-width:0}.md\:border-violet-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.md\:border-opacity-70{--tw-border-opacity:0.7}.md\:bg-transparent{background-color:transparent}.md\:bg-violet-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.md\:p-8{padding:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-36{padding-top:9rem;padding-bottom:9rem}.md\:py-48{padding-top:12rem;padding-bottom:12rem}.md\:pb-14{padding-bottom:3.5rem}.md\:pb-28{padding-bottom:7rem}.md\:pt-32{padding-top:8rem}.md\:pt-48{padding-top:12rem}.md\:pt-8{padding-top:2rem}.md\:pt-16{padding-top:4rem}.md\:text-center{text-align:center}.md\:text-\[13px\]{font-size:13px}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:leading-tight{line-height:1.25}.md\:shadow-sm-purple{--tw-shadow:0 1px 4px rgba(52,20,169,0.15);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.md\:focus-within\:shadow-purple:focus-within{--tw-shadow:0 2px 8px rgba(52,20,169,0.35);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.md\:focus-within\:ring:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.md\:hover\:shadow-purple:hover{--tw-shadow:0 2px 8px rgba(52,20,169,0.35);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}}@media (min-width:1024px){.lg\:static{position:static}.lg\:order-1{order:1}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:mx-3{margin-left:.75rem;margin-right:.75rem}.lg\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:-mr-2{margin-right:-.5rem}.lg\:ml-0{margin-left:0}.lg\:ml-3{margin-left:.75rem}.lg\:ml-auto{margin-left:auto}.lg\:mr-3{margin-right:.75rem}.lg\:mr-auto{margin-right:auto}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-24{height:6rem}.lg\:w-24{width:6rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-span-auto{grid-template-columns:1fr auto}.lg\:gap-20{gap:5rem}.lg\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.lg\:bg-transparent{background-color:transparent}.lg\:bg-top{background-position:top}.lg\:p-0{padding:0}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-28{padding-bottom:7rem}.lg\:pr-16{padding-right:4rem}.lg\:pt-20{padding-top:5rem}.lg\:pt-24{padding-top:6rem}.lg\:pb-36{padding-bottom:9rem}.lg\:text-\[2\.75rem\]{font-size:2.75rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}.lg\:leading-tight{line-height:1.25}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.lg\:hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.lg\:hover\:opacity-50:hover{opacity:.5}}@media (min-width:1280px){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:-mt-24{margin-top:-6rem}.xl\:ml-9{margin-left:2.25rem}.xl\:block{display:block}.xl\:flex{display:flex}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:h-36{height:9rem}.xl\:w-36{width:9rem}.xl\:max-w-\[40rem\]{max-width:40rem}.xl\:max-w-lg{max-width:32rem}.xl\:max-w-md{max-width:28rem}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:items-center{align-items:center}.xl\:gap-16{gap:4rem}.xl\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px*var(--tw-space-x-reverse));margin-left:calc(0px*(1 - var(--tw-space-x-reverse)))}.xl\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.xl\:border-b{border-bottom-width:1px}.xl\:border-gray-200{--tw-border-opacity:1;border-color:rgba(226,232,240,var(--tw-border-opacity))}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:pb-40{padding-bottom:10rem}.xl\:pt-11{padding-top:2.75rem}.xl\:pt-56{padding-top:14rem}.xl\:pt-64{padding-top:16rem}.xl\:pt-40{padding-top:10rem}.xl\:pb-48{padding-bottom:12rem}.xl\:text-5\.5xl{font-size:3.35rem;line-height:1.25}.xl\:text-xl{font-size:1.25rem;line-height:1.75rem}.xl\:text-2xl{font-size:1.5rem;line-height:2rem}.xl\:text-5xl{font-size:3rem;line-height:1}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem}.xl\:text-4\.5xl{font-size:2.5rem;line-height:1.25}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}.xl\:leading-tight{line-height:1.25}}@media (min-width:1536px){.\32xl\:max-w-3xl{max-width:48rem}.\32xl\:leading-tight{line-height:1.25}}
\ No newline at end of file
diff --git a/docs/assets/favicons/android-chrome-192x192.png b/docs/assets/favicons/android-chrome-192x192.png
new file mode 100644
index 0000000..1b2b723
Binary files /dev/null and b/docs/assets/favicons/android-chrome-192x192.png differ
diff --git a/docs/assets/favicons/android-chrome-512x512.png b/docs/assets/favicons/android-chrome-512x512.png
new file mode 100644
index 0000000..ec06e31
Binary files /dev/null and b/docs/assets/favicons/android-chrome-512x512.png differ
diff --git a/docs/assets/favicons/apple-touch-icon.png b/docs/assets/favicons/apple-touch-icon.png
new file mode 100644
index 0000000..737504b
Binary files /dev/null and b/docs/assets/favicons/apple-touch-icon.png differ
diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml
new file mode 100644
index 0000000..b3930d0
--- /dev/null
+++ b/docs/assets/favicons/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #da532c
+
+
+
diff --git a/docs/assets/favicons/favicon-16x16.png b/docs/assets/favicons/favicon-16x16.png
new file mode 100644
index 0000000..f604dd6
Binary files /dev/null and b/docs/assets/favicons/favicon-16x16.png differ
diff --git a/docs/assets/favicons/favicon-32x32.png b/docs/assets/favicons/favicon-32x32.png
new file mode 100644
index 0000000..1ca8f01
Binary files /dev/null and b/docs/assets/favicons/favicon-32x32.png differ
diff --git a/docs/assets/favicons/favicon.ico b/docs/assets/favicons/favicon.ico
new file mode 100644
index 0000000..a9b4d56
Binary files /dev/null and b/docs/assets/favicons/favicon.ico differ
diff --git a/docs/assets/favicons/mstile-150x150.png b/docs/assets/favicons/mstile-150x150.png
new file mode 100644
index 0000000..498e8b9
Binary files /dev/null and b/docs/assets/favicons/mstile-150x150.png differ
diff --git a/docs/assets/favicons/safari-pinned-tab.svg b/docs/assets/favicons/safari-pinned-tab.svg
new file mode 100644
index 0000000..a7e6a67
--- /dev/null
+++ b/docs/assets/favicons/safari-pinned-tab.svg
@@ -0,0 +1,83 @@
+
+
+
+
+Created by potrace 1.14, written by Peter Selinger 2001-2017
+
+
+
+
+
diff --git a/docs/assets/favicons/site.webmanifest b/docs/assets/favicons/site.webmanifest
new file mode 100644
index 0000000..b20abb7
--- /dev/null
+++ b/docs/assets/favicons/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "",
+ "short_name": "",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
diff --git a/docs/assets/fonts/inter-bold.woff2 b/docs/assets/fonts/inter-bold.woff2
new file mode 100644
index 0000000..bebba84
Binary files /dev/null and b/docs/assets/fonts/inter-bold.woff2 differ
diff --git a/docs/assets/fonts/inter-light.woff2 b/docs/assets/fonts/inter-light.woff2
new file mode 100644
index 0000000..cb8e9e8
Binary files /dev/null and b/docs/assets/fonts/inter-light.woff2 differ
diff --git a/docs/assets/fonts/inter-medium.woff2 b/docs/assets/fonts/inter-medium.woff2
new file mode 100644
index 0000000..b587d2f
Binary files /dev/null and b/docs/assets/fonts/inter-medium.woff2 differ
diff --git a/docs/assets/fonts/inter-regular.woff2 b/docs/assets/fonts/inter-regular.woff2
new file mode 100644
index 0000000..fe2dbbc
Binary files /dev/null and b/docs/assets/fonts/inter-regular.woff2 differ
diff --git a/docs/assets/fonts/inter-semibold.woff2 b/docs/assets/fonts/inter-semibold.woff2
new file mode 100644
index 0000000..5a76a24
Binary files /dev/null and b/docs/assets/fonts/inter-semibold.woff2 differ
diff --git a/docs/assets/fonts/mackinac-bold.woff2 b/docs/assets/fonts/mackinac-bold.woff2
new file mode 100644
index 0000000..71e5977
Binary files /dev/null and b/docs/assets/fonts/mackinac-bold.woff2 differ
diff --git a/docs/assets/fonts/native-bold.woff2 b/docs/assets/fonts/native-bold.woff2
new file mode 100644
index 0000000..686c7d6
Binary files /dev/null and b/docs/assets/fonts/native-bold.woff2 differ
diff --git a/docs/assets/fonts/native-regular.woff2 b/docs/assets/fonts/native-regular.woff2
new file mode 100644
index 0000000..fa682fc
Binary files /dev/null and b/docs/assets/fonts/native-regular.woff2 differ
diff --git a/docs/assets/img/logo.svg b/docs/assets/img/logo.svg
new file mode 100644
index 0000000..11ab07f
--- /dev/null
+++ b/docs/assets/img/logo.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/assets/img/seigerit-blue.svg b/docs/assets/img/seigerit-blue.svg
new file mode 100644
index 0000000..ee0d30b
--- /dev/null
+++ b/docs/assets/img/seigerit-blue.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/docs/assets/js/docs.js b/docs/assets/js/docs.js
new file mode 100644
index 0000000..1ec340e
--- /dev/null
+++ b/docs/assets/js/docs.js
@@ -0,0 +1 @@
+document.addEventListener("click",function(e){e.target.closest("[data-menu-toggle]")&&(document.documentElement.dataset.menuState="on"===document.documentElement.dataset.menuState?"off":"on","on"===document.documentElement.dataset.menuState?(sessionStorage.setItem("scroll-position",document.documentElement.scrollTop),document.documentElement.dataset.scrollDisabled="on",s("[data-menu]",!0),a=document.querySelector("[data-menu-container]").querySelectorAll('a[href]:not([tabindex="-1"]), area[href]:not([tabindex="-1"]), input:not([disabled]):not([tabindex="-1"]), select:not([disabled]):not([tabindex="-1"]), textarea:not([disabled]):not([tabindex="-1"]), button:not([disabled]):not([tabindex="-1"]), iframe:not([tabindex="-1"]), [tabindex]:not([tabindex="-1"]), [contentEditable=true]:not([tabindex="-1"])'),c=a[0],u=a[a.length-1]):(document.documentElement.dataset.scrollDisabled="off",document.documentElement.scrollTop=sessionStorage.getItem("scroll-position"),s("[data-menu]",!1)))},!1),document.addEventListener("keydown",function(e){if(e=e||window.event,"on"!==document.documentElement.dataset.menuState)return!1;switch(e.keyCode){case 9:if(1===a.length){e.preventDefault();break}e.shiftKey?document.activeElement===c&&(e.preventDefault(),u.focus()):document.activeElement===u&&(e.preventDefault(),c.focus());break;case 27:s("[data-menu]",!(document.documentElement.dataset.menuState="off"))}},!1),document.addEventListener("DOMContentLoaded",function(){var e=document.createElement("style");e.innerHTML='\n [data-scroll-disabled="on"], \n [data-scroll-disabled="on"] body {\n touch-action: none;\n overscroll-behavior: none;\n -webkit-overflow-scrolling: auto;\n overflow: hidden;\n }\n ',document.head.appendChild(e)},!1);function s(e,t){var n=document.querySelector(e);n.querySelectorAll("button, [href], input, select, textarea").forEach(function(e){return e.setAttribute("tabindex",t?"":"-1")}),n.classList.toggle("hidden"),n.classList.toggle("grid")}function f(e){var t=void 0,o=void 0;if("DOMContentLoaded"==e.type||"popstate"==e.type){if(!(t=document.querySelectorAll("input[type=range]")))return!1;o=!0}else{if("range"!==e.target.type)return!1;t=[e.target],o=!1}t.forEach(function(e){o&&(e.value=sessionStorage.getItem(e.id)||null);var t=e.min||1,n=(Number(e.max)||100)!==1/0&&Number(e.max)||100,r=(e.value-t)/(n-t)*100;e.style.background="linear-gradient(to right, #DFB2FC 0%, #7E5DE9 "+r+"%, #F1F2F9 "+r+"%, #F1F2F9 100%)",sessionStorage.setItem(e.id,e.value)})}document.addEventListener("DOMContentLoaded",function(){({container:document.querySelector(".outline-list"),links:null,headings:null,intersectionOptions:{rootMargin:"0px",threshold:1},previousSection:null,observer:null,init:function(){if(!this.container)return!1;this.handleObserver=this.handleObserver.bind(this),this.setUpObserver(),this.findLinksAndHeadings(),this.observeSections()},handleObserver:function(e,t){var r=this;e.forEach(function(e){var t="#"+e.target.getAttribute("id"),n=r.links.find(function(e){return e.getAttribute("href")===t});e.isIntersecting&&1<=e.intersectionRatio?(n.classList.add("visible"),r.previousSection=e.target.getAttribute("id")):n.classList.remove("visible"),r.highlightFirstActive()})},highlightFirstActive:function(){var e=this.container.querySelector(".visible");this.links.forEach(function(e){e.classList.remove("active")}),e&&e.classList.add("active"),!e&&this.previousSection&&this.container.querySelector('a[href="#'+this.previousSection+'"]').classList.add("active")},observeSections:function(){var t=this;this.headings.forEach(function(e){t.observer.observe(e)})},setUpObserver:function(){this.observer=new IntersectionObserver(this.handleObserver,this.intersectionOptions)},findLinksAndHeadings:function(){this.links=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);tr;r++){for(var o=t[r],s=0;i>s&&(o=this._stack[s](o,r,t),void 0!==o&&""!==o);s++);void 0!==o&&""!==o&&e.push(o)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(o===t)return r;t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r]}return o===t?r:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;)t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r];return o>t?r:t>o?r+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,r=0,o=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>o-1||r>s-1)break;a[i]!==h[r]?a[i]h[r]&&r++:(n.add(a[i]),i++,r++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone();for(var r=0,o=n.toArray();rp;p++)c[p]===a&&d++;h+=d/f*l.boost}}this.tokenStore.add(a,{ref:o,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(this.tokenizerFn(e)),i=new t.Vector,r=[],o=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*o,h=this,u=this.tokenStore.expand(e).reduce(function(n,r){var o=h.corpusTokens.indexOf(r),s=h.idf(r),u=1,l=new t.SortedSet;if(r!==e){var c=Math.max(3,r.length-e.length);u=1/Math.log(c)}o>-1&&i.insert(o,a*s*u);for(var f=h.tokenStore.get(r),d=Object.keys(f),p=d.length,v=0;p>v;v++)l.add(f[d[v]].ref);return n.union(l)},new t.SortedSet);r.push(u)},this);var a=r.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,r=new t.Vector,o=0;i>o;o++){var s=n.elements[o],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);r.insert(this.corpusTokens.indexOf(s),a*h)}return r},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,tokenizer:this.tokenizerFn.label,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",r=n+"[^aeiouy]*",o=i+"[aeiou]*",s="^("+r+")?"+o+r,a="^("+r+")?"+o+r+"("+o+")?$",h="^("+r+")?"+o+r+o+r,u="^("+r+")?"+i,l=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(u),p=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),k=new RegExp("^"+r+i+"[^aeiouwxy]$"),x=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,z=/^(.+?)e$/,O=/ll$/,P=new RegExp("^"+r+i+"[^aeiouwxy]$"),T=function(n){var i,r,o,s,a,h,u;if(n.length<3)return n;if(o=n.substr(0,1),"y"==o&&(n=o.toUpperCase()+n.substr(1)),s=p,a=v,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=g,a=m,s.test(n)){var T=s.exec(n);s=l,s.test(T[1])&&(s=y,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,u=k,a.test(n)?n+="e":h.test(n)?(s=y,n=n.replace(s,"")):u.test(n)&&(n+="e"))}if(s=x,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+t[r])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+e[r])}if(s=F,a=_,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=z,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=P,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=O,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,"")),"y"==o&&(n=o.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.generateStopWordFilter=function(t){var e=t.reduce(function(t,e){return t[e]=e,t},{});return function(t){return t&&e[t]!==t?t:void 0}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){return t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t.charAt(0),r=t.slice(1);return i in n||(n[i]={docs:{}}),0===r.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(r,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n= 0) {
+ break;
+ }
+
+ match = content.toLowerCase().indexOf(parts[i].toLowerCase());
+ matchLength = parts[i].length;
+ }
+
+ // Create preview
+ if (match >= 0) {
+ var start = match - (previewLength / 2),
+ end = start > 0 ? match + matchLength + (previewLength / 2) : previewLength;
+
+ preview = content.substring(start, end).trim();
+
+ if (start > 0) {
+ preview = "..." + preview;
+ }
+
+ if (end < content.length) {
+ preview = preview + "...";
+ }
+
+ // Highlight query parts
+ preview = preview.replace(new RegExp("(" + parts.join("|") + ")", "gi"), "$1 ");
+ } else {
+ // Use start of content if no match found
+ preview = content.substring(0, previewLength).trim() + (content.length > previewLength ? "..." : "");
+ }
+
+ return preview;
+ }
+
+ function displaySearchResults(results, query) {
+ var searchResultsEl = document.getElementById("search-results"),
+ searchProcessEl = document.getElementById("search-process");
+
+ if (results.length) {
+ var resultsHTML = "";
+ results.forEach(function (result) {
+
+ var item = window.data[result.ref]
+ if (item.title) {
+ contentPreview = getPreview(query, item.content, 170),
+ titlePreview = getPreview(query, item.title);
+ resultsHTML += "" + contentPreview + "
";
+ }
+ });
+
+ searchResultsEl.innerHTML = resultsHTML;
+ searchProcessEl.innerText = "Showing";
+ } else {
+ searchResultsEl.style.display = "none";
+ searchProcessEl.innerText = "No";
+ }
+ }
+
+ window.index = lunr(function () {
+ this.field("id");
+ this.field("title", {boost: 10});
+ this.field("categories");
+ this.field("url");
+ this.field("content");
+ });
+
+ var query = decodeURIComponent((getQueryVariable("q") || "").replace(/\+/g, "%20")),
+ searchQueryContainerEl = document.getElementById("search-query-container"),
+ searchQueryEl = document.getElementById("search-query");
+
+ searchQueryEl.innerText = query;
+ if (query != ""){
+ searchQueryContainerEl.style.display = "inline";
+ }
+
+ for (var key in window.data) {
+ window.index.add(window.data[key]);
+ }
+
+ displaySearchResults(window.index.search(query), query); // Hand the results off to be displayed
+})();
diff --git a/docs/assets/webfonts/fa-brands-400.eot b/docs/assets/webfonts/fa-brands-400.eot
new file mode 100644
index 0000000..e79f40f
Binary files /dev/null and b/docs/assets/webfonts/fa-brands-400.eot differ
diff --git a/docs/assets/webfonts/fa-brands-400.svg b/docs/assets/webfonts/fa-brands-400.svg
new file mode 100644
index 0000000..ba0d850
--- /dev/null
+++ b/docs/assets/webfonts/fa-brands-400.svg
@@ -0,0 +1,3442 @@
+
+
+
+
+
+Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/assets/webfonts/fa-brands-400.ttf b/docs/assets/webfonts/fa-brands-400.ttf
new file mode 100644
index 0000000..217ffe9
Binary files /dev/null and b/docs/assets/webfonts/fa-brands-400.ttf differ
diff --git a/docs/assets/webfonts/fa-brands-400.woff b/docs/assets/webfonts/fa-brands-400.woff
new file mode 100644
index 0000000..a2d8025
Binary files /dev/null and b/docs/assets/webfonts/fa-brands-400.woff differ
diff --git a/docs/assets/webfonts/fa-brands-400.woff2 b/docs/assets/webfonts/fa-brands-400.woff2
new file mode 100644
index 0000000..e27b0bf
Binary files /dev/null and b/docs/assets/webfonts/fa-brands-400.woff2 differ
diff --git a/docs/assets/webfonts/fa-regular-400.eot b/docs/assets/webfonts/fa-regular-400.eot
new file mode 100644
index 0000000..d62be2f
Binary files /dev/null and b/docs/assets/webfonts/fa-regular-400.eot differ
diff --git a/docs/assets/webfonts/fa-regular-400.svg b/docs/assets/webfonts/fa-regular-400.svg
new file mode 100644
index 0000000..751083e
--- /dev/null
+++ b/docs/assets/webfonts/fa-regular-400.svg
@@ -0,0 +1,803 @@
+
+
+
+
+
+Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/assets/webfonts/fa-regular-400.ttf b/docs/assets/webfonts/fa-regular-400.ttf
new file mode 100644
index 0000000..eb3cb5e
Binary files /dev/null and b/docs/assets/webfonts/fa-regular-400.ttf differ
diff --git a/docs/assets/webfonts/fa-regular-400.woff b/docs/assets/webfonts/fa-regular-400.woff
new file mode 100644
index 0000000..43b1a9a
Binary files /dev/null and b/docs/assets/webfonts/fa-regular-400.woff differ
diff --git a/docs/assets/webfonts/fa-regular-400.woff2 b/docs/assets/webfonts/fa-regular-400.woff2
new file mode 100644
index 0000000..b9344a7
Binary files /dev/null and b/docs/assets/webfonts/fa-regular-400.woff2 differ
diff --git a/docs/assets/webfonts/fa-solid-900.eot b/docs/assets/webfonts/fa-solid-900.eot
new file mode 100644
index 0000000..c77baa8
Binary files /dev/null and b/docs/assets/webfonts/fa-solid-900.eot differ
diff --git a/docs/assets/webfonts/fa-solid-900.svg b/docs/assets/webfonts/fa-solid-900.svg
new file mode 100644
index 0000000..627128b
--- /dev/null
+++ b/docs/assets/webfonts/fa-solid-900.svg
@@ -0,0 +1,4649 @@
+
+
+
+
+
+Created by FontForge 20190112 at Tue Jun 4 15:16:44 2019
+ By Robert Madole
+Copyright (c) Font Awesome
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/assets/webfonts/fa-solid-900.ttf b/docs/assets/webfonts/fa-solid-900.ttf
new file mode 100644
index 0000000..c6c3dd4
Binary files /dev/null and b/docs/assets/webfonts/fa-solid-900.ttf differ
diff --git a/docs/assets/webfonts/fa-solid-900.woff b/docs/assets/webfonts/fa-solid-900.woff
new file mode 100644
index 0000000..77c1786
Binary files /dev/null and b/docs/assets/webfonts/fa-solid-900.woff differ
diff --git a/docs/assets/webfonts/fa-solid-900.woff2 b/docs/assets/webfonts/fa-solid-900.woff2
new file mode 100644
index 0000000..e30fb67
Binary files /dev/null and b/docs/assets/webfonts/fa-solid-900.woff2 differ
diff --git a/docs/pages/feed.xml b/docs/pages/feed.xml
new file mode 100644
index 0000000..a3819fc
--- /dev/null
+++ b/docs/pages/feed.xml
@@ -0,0 +1,31 @@
+---
+layout: null
+permalink: /feed.xml
+---
+
+
+
+ {{ site.title | xml_escape }}
+ {{ site.description | xml_escape }}
+ {{ site.url }}{{ site.baseurl }}/
+
+ {{ site.time | date_to_rfc822 }}
+ {{ site.time | date_to_rfc822 }}
+ Jekyll v{{ jekyll.version }}
+ {% for post in site.posts limit:10 %}
+ -
+
{{ post.title | xml_escape }}
+ {{ post.content | xml_escape }}
+ {{ post.date | date_to_rfc822 }}
+ {{ post.url | prepend: site.baseurl | prepend: site.url }}
+ {{ post.url | prepend: site.baseurl | prepend: site.url }}
+ {% for tag in post.tags %}
+ {{ tag | xml_escape }}
+ {% endfor %}
+ {% for cat in post.categories %}
+ {{ cat | xml_escape }}
+ {% endfor %}
+
+ {% endfor %}
+
+
diff --git a/docs/pages/getting-started.md b/docs/pages/getting-started.md
new file mode 100644
index 0000000..d120482
--- /dev/null
+++ b/docs/pages/getting-started.md
@@ -0,0 +1,65 @@
+---
+layout: page
+title: Getting started
+description: Getting started with sLang
+permalink: /getting-started/
+---
+
+## Minimum requirements
+
+- Evolution CMS 3.2.0
+- PHP 8.1.0
+- Composer 2.2.0
+- PostgreSQL 10.23.0
+- MySQL 8.0.3
+- MariaDB 10.5.2
+- SQLite 3.25.0
+
+## Install by artisan package installer
+
+Go to You /core/ folder:
+
+```console
+cd core
+```
+
+Run php artisan command
+
+```console
+php artisan package:installrequire seiger/slang "*"
+```
+
+```console
+php artisan vendor:publish --provider="Seiger\sLang\sLangServiceProvider"
+```
+
+Run make DB structure with command:
+
+```console
+php artisan migrate
+```
+
+## Management
+
+After installing the module, you can use it immediately. Path to the module in the
+administrator panel **Admin Panel -> Modules -> Multilingual**.
+
+The resource includes tabs for each language separately.
+
+![Multilingual tabs](https://github.com/Seiger/slang/releases/download/v1.0.0/sLang.png)
+
+[Management tabs]({{ site.baseurl }}/management/){: .btn .btn-sky}
+
+## Extra
+
+If you write your own code that can integrate with the sLang module,
+you can check the presence of this module in the system through a configuration variable.
+
+```php
+if (evo()->getConfig('check_sLang', false)) {
+ // You code
+}
+```
+
+If the plugin is installed, the result of ```evo()->getConfig('check_sLang', false)```
+will always be ```true```. Otherwise, you will get an ```false```.
diff --git a/docs/pages/index.md b/docs/pages/index.md
new file mode 100644
index 0000000..74cd71e
--- /dev/null
+++ b/docs/pages/index.md
@@ -0,0 +1,55 @@
+---
+layout: page
+title: sLang for Evolution CMS
+permalink: /
+---
+
+![sLang](https://github.com/Seiger/slang/releases/download/v1.0.0/sLang.jpg){: .badge}
+[![Latest Stable Version](https://img.shields.io/packagist/v/seiger/slang?label=version)](https://packagist.org/packages/seiger/slang){: .badge}
+[![CMS Evolution](https://img.shields.io/badge/CMS-Evolution-brightgreen.svg)](https://github.com/evolution-cms/evolution){: .badge}
+![PHP version](https://img.shields.io/packagist/php-v/seiger/slang){: .badge}
+[![License](https://img.shields.io/packagist/l/seiger/slang)](https://packagist.org/packages/seiger/slang){: .badge}
+[![Issues](https://img.shields.io/github/issues/Seiger/slang)](https://github.com/Seiger/slang/issues){: .badge}
+[![Stars](https://img.shields.io/packagist/stars/Seiger/slang)](https://packagist.org/packages/seiger/slang){: .badge}
+[![Total Downloads](https://img.shields.io/packagist/dt/seiger/slang)](https://packagist.org/packages/seiger/slang){: .badge}
+
+## Welcome to sLang!
+
+sLang is a robust multilingual Management Module meticulously crafted for the Evolution CMS
+admin panel. This dynamic package empowers users to seamlessly implement and manage
+multilingual tools within the Evolution CMS environment. By utilizing Evolution CMS
+as its platform, sLang offers a streamlined solution for users seeking efficient and
+intuitive ways to handle diverse language content, making it an indispensable asset
+for administrators and developers navigating the intricacies of multilingual website
+management.
+
+The work of the module is based on the use of the standard Laravel functionality for
+multilingualism. This foundation ensures a reliable and well-established framework for
+managing multilingual aspects, enhancing the module's performance and aligning it with
+industry best practices. With its focus on simplicity and integration, sLang emerges as
+an essential companion for those aiming to enhance the linguistic versatility of their
+Evolution CMS-powered websites.
+
+[Getting Started]({{ site.baseurl }}/getting-started/){: .btn .btn-sky}
+
+## Features
+
+- [x] Automatic Phrase Translation through Google or Custom.
+- [x] Automatic search for translations in templates.
+- [x] Multilingual tabs in resource.
+- [x] Unlimited Translation Language Support.
+- [x] Multilingual SEO Support.
+
+## Minimum requirements
+
+- Evolution CMS 3.2.0
+- PHP 8.1.0
+- Composer 2.2.0
+- PostgreSQL 10.23.0
+- MySQL 8.0.3
+- MariaDB 10.5.2
+- SQLite 3.25.0
+
+## Support
+
+If you need help, please don't hesitate to [open an issue]({{ site.support }}).
diff --git a/docs/pages/management.md b/docs/pages/management.md
new file mode 100644
index 0000000..8aa23bd
--- /dev/null
+++ b/docs/pages/management.md
@@ -0,0 +1,13 @@
+---
+layout: page
+title: Management
+description: Management tabs sLang
+permalink: /management/
+---
+
+After installing the module, you can use it immediately. Path to the module in the
+administrator panel **Admin Panel -> Modules -> Multilingual**.
+
+The resource includes tabs for each language separately.
+
+![Multilingual tabs](https://github.com/Seiger/slang/releases/download/v1.0.0/sLang.png)
diff --git a/docs/pages/search.html b/docs/pages/search.html
new file mode 100644
index 0000000..5b203f3
--- /dev/null
+++ b/docs/pages/search.html
@@ -0,0 +1,60 @@
+---
+title: Search
+sitemap: false
+permalink: /search/
+not_editable: true
+excluded_in_search: true
+---
+
+Loading results for " "
+
+
+
+
+
+
diff --git a/docs/pages/sitemap.xml b/docs/pages/sitemap.xml
new file mode 100644
index 0000000..152e1bf
--- /dev/null
+++ b/docs/pages/sitemap.xml
@@ -0,0 +1,19 @@
+---
+layout: null
+permalink: /sitemap.xml
+---
+
+
+
+
+ /
+ {{ "now" | date: "%Y-%m-%d" }}
+ daily
+
+{% for section in site.data.toc %}
+ {{ site.baseurl }}{{ section.url }}/
+ {{ "now" | date: "%Y-%m-%d" }}
+ daily
+
+{% endfor %}
+
diff --git a/docs/index.md b/docs/pages/use-in-blade.md
similarity index 64%
rename from docs/index.md
rename to docs/pages/use-in-blade.md
index c45af48..06c4169 100644
--- a/docs/index.md
+++ b/docs/pages/use-in-blade.md
@@ -1,69 +1,29 @@
-# sLang for Evolution CMS 3
-![sLang](https://github.com/Seiger/slang/releases/download/v1.0.0/sLang.jpg)
-[![Latest Stable Version](https://img.shields.io/packagist/v/seiger/slang?label=version)](https://packagist.org/packages/seiger/slang)
-[![CMS Evolution](https://img.shields.io/badge/CMS-Evolution-brightgreen.svg)](https://github.com/evolution-cms/evolution)
-![PHP version](https://img.shields.io/packagist/php-v/seiger/slang)
-[![License](https://img.shields.io/packagist/l/seiger/slang)](https://packagist.org/packages/seiger/slang)
-[![Issues](https://img.shields.io/github/issues/Seiger/slang)](https://github.com/Seiger/slang/issues)
-[![Stars](https://img.shields.io/packagist/stars/Seiger/slang)](https://packagist.org/packages/seiger/slang)
-[![Total Downloads](https://img.shields.io/packagist/dt/seiger/slang)](https://packagist.org/packages/seiger/slang)
+---
+layout: page
+title: Use in Blade
+description: Use sLang code in Blade layouts
+permalink: /use-in-blade/
+---
-**sLang** Seiger Lang multi language Management Module for Evolution CMS admin panel.
+## Current language:
-The work of the module is based on the use of the standard Laravel functionality for multilingualism.
-
-## Features
-
-- [x] Automatic translation of phrases through Google.
-- [x] Automatic search for translations in templates.
-- [x] Multilingual tabs in resource.
-- [x] Unlimited translation languages.
-
-![Multilingual tabs](https://github.com/Seiger/slang/releases/download/v1.0.0/sLang.png)
-
-## Install by artisan package installer
-
-Go to You /core/ folder:
-
-```console
-cd core
-```
-
-Run php artisan command
-
-```console
-php artisan package:installrequire seiger/slang "*"
-```
-
-```console
-php artisan vendor:publish --provider="Seiger\sLang\sLangServiceProvider"
-```
-
-Run make DB structure with command:
-
-```console
-php artisan migrate
-```
-
-## Usage in blade
-Current language:
```php
{% raw %}{{evo()->getLocale()}}{% endraw %}
or
{% raw %}{{evo()->getConfig('lang')}}{% endraw %}
```
-Default language:
+## Default language:
```php
{% raw %}{{evo()->getConfig('s_lang_default')}}{% endraw %}
```
-List of frontend languages by comma:
+## List of frontend languages by comma:
```php
{% raw %}{{evo()->getConfig('s_lang_front')}}{% endraw %}
```
-Translation of phrases:
+## Translation of phrases:
```php
In Blade:
@lang('phrase')
@@ -72,7 +32,7 @@ In Controller:
__('phrase')
```
-Localized versions of your page for Google hreflang
+## Localized versions of your page for Google hreflang
```php
{!!sLang::hreflang()!!}
```
@@ -179,9 +139,7 @@ The ```whereTv()``` method allows you to use a filter based on the value of the
$resource = sLangContent::langAndTvs(evo()->getConfig('lang'), ['tv_image'])->whereTv('tv_image', '!=', '')->get();
```
-## Admin panel
-
-### Resource fields
+## Resource fields in Admin panel
You can control the display of resource fields on general tabs through an event ```sLangDocFormFieldRender```.
diff --git a/lang/en/global.php b/lang/en/global.php
index 91e7526..d9a4fef 100644
--- a/lang/en/global.php
+++ b/lang/en/global.php
@@ -68,7 +68,7 @@
'settings' => 'Settings',
'slang_desc' => 'Managing site language settings',
'slang_icon' => 'fa fa-globe-europe',
- 'slang' => 'Multilanguage',
+ 'slang' => 'Multilingual',
'synchronize_help' => 'Synchronize translations of templates and site database',
'synchronize' => 'Synchronize',
'use_url' => 'Use in URL',
diff --git a/src/sLangServiceProvider.php b/src/sLangServiceProvider.php
index 6f50deb..b0e3357 100644
--- a/src/sLangServiceProvider.php
+++ b/src/sLangServiceProvider.php
@@ -33,6 +33,10 @@ public function boot()
]);
}
+ // Check sLang
+ $this->mergeConfigFrom(dirname(__DIR__) . '/config/sLangCheck.php', 'cms.settings');
+
+ // Class alias
$this->app->singleton(sLang::class);
$this->app->alias(sLang::class, 'sLang');
}
diff --git a/views/index.blade.php b/views/index.blade.php
index 1d03a4b..8e125ca 100644
--- a/views/index.blade.php
+++ b/views/index.blade.php
@@ -2,7 +2,7 @@
@section('content')
- @lang('sLang::global.slang_desc')
+ @lang('sLang::global.slang_desc')
@@ -107,17 +107,18 @@ function saveForm(selector) {
}