diff --git a/.github/workflows/docgen.yml b/.github/workflows/docgen.yml index 0163e5ad..d158e84e 100644 --- a/.github/workflows/docgen.yml +++ b/.github/workflows/docgen.yml @@ -31,7 +31,7 @@ jobs: build: runs-on: ubuntu-latest env: - HUGO_VERSION: 0.129.0 + HUGO_VERSION: 0.147.9 steps: - name: Install Hugo CLI run: | @@ -47,33 +47,36 @@ jobs: with: node-version: '20' cache: 'npm' - cache-dependency-path: './docs-gen/package-lock.json' + cache-dependency-path: 'docs-gen/package-lock.json' - name: Setup Pages id: pages uses: actions/configure-pages@v5 - name: Install dependencies - run: | - cd docs-gen - npm ci + working-directory: ./docs-gen + run: npm ci - name: Build production website + working-directory: ./docs-gen env: # For maximum backward compatibility with Hugo modules HUGO_ENVIRONMENT: production HUGO_ENV: production TZ: America/Los_Angeles run: | - cd docs-gen - npx exec-bin node_modules/.bin/hugo/hugo \ + hugo \ + --environment production \ --minify \ --cleanDestinationDir \ --baseURL "${{ steps.pages.outputs.base_url }}/" - name: Upload artifact uses: actions/upload-pages-artifact@v4 with: - path: ./docs + path: ./docs-gen/public # Deployment job deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build steps: diff --git a/docs-gen/.editorconfig b/docs-gen/.editorconfig deleted file mode 100644 index 926daa34..00000000 --- a/docs-gen/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -# editorconfig.org - -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/docs-gen/.eslintignore b/docs-gen/.eslintignore deleted file mode 100644 index 3c3629e6..00000000 --- a/docs-gen/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/docs-gen/.eslintrc.json b/docs-gen/.eslintrc.json deleted file mode 100644 index 78a085b3..00000000 --- a/docs-gen/.eslintrc.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "env": { - "browser": true, - "commonjs": true, - "es6": true, - "node": true - }, - "extends": "eslint:recommended", - "globals": { - "Atomics": "readonly", - "SharedArrayBuffer": "readonly" - }, - "parserOptions": { - "ecmaVersion": 2018, - "sourceType": "module" - }, - "rules": { - "no-console": 0, - "quotes": ["error", "single"], - "comma-dangle": [ - "error", - { - "arrays": "always-multiline", - "objects": "always-multiline", - "imports": "always-multiline", - "exports": "always-multiline", - "functions": "ignore" - } - ] - } -} diff --git a/docs-gen/.gitpod.yml b/docs-gen/.gitpod.yml deleted file mode 100644 index 1e7958fb..00000000 --- a/docs-gen/.gitpod.yml +++ /dev/null @@ -1,12 +0,0 @@ -# Source: -# - https://github.com/gitpod-io/template-hugo -# - https://www.gitpod.io/docs/configure/workspaces/tasks#one-line-tasks - -tasks: - - name: Run development server - init: pnpm install - command: pnpm dev - -ports: - - port: 1313 - onOpen: open-preview diff --git a/docs-gen/.markdownlint-cli2.jsonc b/docs-gen/.markdownlint-cli2.jsonc deleted file mode 100644 index 8440313e..00000000 --- a/docs-gen/.markdownlint-cli2.jsonc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "config": { - "default": true, - "MD013": false, - "MD022": false, - "MD024": false, - "MD025": false, - "MD026": false, - "MD033": false, - "MD034": false, - "MD036": false - }, - "ignores": ["node_modules", "CHANGELOG.md", "README.md"] -} diff --git a/docs-gen/.npmrc b/docs-gen/.npmrc deleted file mode 100644 index 89b1f687..00000000 --- a/docs-gen/.npmrc +++ /dev/null @@ -1,4 +0,0 @@ -enable-pre-post-scripts = true -auto-install-peers = true -node-linker = hoisted -prefer-symlinked-executables = false diff --git a/docs-gen/.stylelintignore b/docs-gen/.stylelintignore deleted file mode 100644 index a2f6536b..00000000 --- a/docs-gen/.stylelintignore +++ /dev/null @@ -1,2 +0,0 @@ -assets/scss/common/_variables-custom.scss -node_modules diff --git a/docs-gen/.stylelintrc.json b/docs-gen/.stylelintrc.json deleted file mode 100644 index 2c8046c9..00000000 --- a/docs-gen/.stylelintrc.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "extends": "stylelint-config-standard-scss", - "rules": { - "no-empty-source": null, - "scss/comment-no-empty": null, - "scss/at-extend-no-missing-placeholder": null, - "at-rule-no-unknown": [ - true, - { - "ignoreAtRules": [ - "extend", - "at-root", - "debug", - "warn", - "error", - "if", - "else", - "for", - "each", - "while", - "mixin", - "include", - "content", - "return", - "function", - "tailwind", - "apply", - "responsive", - "variants", - "screen" - ] - } - ] - } -} diff --git a/docs-gen/CHANGELOG.md b/docs-gen/CHANGELOG.md new file mode 100644 index 00000000..c6a85169 --- /dev/null +++ b/docs-gen/CHANGELOG.md @@ -0,0 +1,57 @@ +# doks + +## 1.8.1 + +### Patch Changes + +- [#1372](https://github.com/thuliteio/doks/pull/1372) [`bb44bf8`](https://github.com/thuliteio/doks/commit/bb44bf84e046d4dbd03ec6ef6b1051db5f6e80b1) Thanks [@h-enk](https://github.com/h-enk)! - Fix layouts mounting order + +## 1.8.0 + +### Minor Changes + +- [#1369](https://github.com/thuliteio/doks/pull/1369) [`d03e363`](https://github.com/thuliteio/doks/commit/d03e3634a85f26bcd3c71e99b829d5258fd25c60) Thanks [@h-enk](https://github.com/h-enk)! - Update for new template system in Hugo v0.146.0 + +- [#1356](https://github.com/thuliteio/doks/pull/1356) [`6f457a6`](https://github.com/thuliteio/doks/commit/6f457a6da7d6254fa0315e39b166423a4c389e90) Thanks [@LemonDouble](https://github.com/LemonDouble)! - fix : Fixes the issue of layout breaking due to changes in layout priority in Hugo 0.146.0 + +### Patch Changes + +- [#1303](https://github.com/thuliteio/doks/pull/1303) [`f13c768`](https://github.com/thuliteio/doks/commit/f13c768d43cca497c77a6e7b4995f2c0cfc6b962) Thanks [@AndiKod](https://github.com/AndiKod)! - Tiny typo "by by" => "by" + +## 1.7.0 + +### Minor Changes + +- [#1276](https://github.com/thuliteio/doks/pull/1276) [`b3145cd`](https://github.com/thuliteio/doks/commit/b3145cd021a9ab6ee244f3ad8aa38d8b3aa1c4a5) Thanks [@h-enk](https://github.com/h-enk)! - Update for migration from Hyas to Thulite + +### Patch Changes + +- [#1266](https://github.com/thuliteio/doks/pull/1266) [`009064a`](https://github.com/thuliteio/doks/commit/009064ad81d018521992ea2b6451b0906a02a1a0) Thanks [@l-zeuch](https://github.com/l-zeuch)! - Allow custom kroki host + +- [#1256](https://github.com/thuliteio/doks/pull/1256) [`5d475ea`](https://github.com/thuliteio/doks/commit/5d475ead4f845afe68c370734ca47365b81e2024) Thanks [@Rancho-rachit](https://github.com/Rancho-rachit)! - Added LinkedIn Social + +- [#1268](https://github.com/thuliteio/doks/pull/1268) [`7608454`](https://github.com/thuliteio/doks/commit/76084541c4d3c95f22a343f4dc538325088fba68) Thanks [@h-enk](https://github.com/h-enk)! - Add CodeSandbox support + +## 1.6.2 + +### Patch Changes + +- [#1230](https://github.com/gethyas/doks/pull/1230) [`25f55a3`](https://github.com/gethyas/doks/commit/25f55a37fa4162b7546d6ded9b449434e4965164) Thanks [@h-enk](https://github.com/h-enk)! - Install prettier and vite as devDependencies + +## 1.6.1 + +### Patch Changes + +- [#1229](https://github.com/gethyas/doks/pull/1229) [`7666ab6`](https://github.com/gethyas/doks/commit/7666ab62a9b04f0508530dfb8c7f5f7c6db0f966) Thanks [@h-enk](https://github.com/h-enk)! - Add gethyas dependency + +## 1.6.0 + +### Minor Changes + +- [#1228](https://github.com/gethyas/doks/pull/1228) [`4be4a68`](https://github.com/gethyas/doks/commit/4be4a689619b49f62df4c65024d3e865c1ead99e) Thanks [@h-enk](https://github.com/h-enk)! - Update dependencies to latest versions + +## 1.5.0 + +### Minor Changes + +- [#1226](https://github.com/gethyas/doks/pull/1226) [`664063e`](https://github.com/gethyas/doks/commit/664063eb6a02d24a3fceb61ea9ed8df589a11033) Thanks [@h-enk](https://github.com/h-enk)! - Update for new Hyas setup diff --git a/docs-gen/LICENSE b/docs-gen/LICENSE new file mode 100644 index 00000000..320b7164 --- /dev/null +++ b/docs-gen/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020-2025 Thulite + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs-gen/README.md b/docs-gen/README.md index 6d97dd48..dba22ecf 100644 --- a/docs-gen/README.md +++ b/docs-gen/README.md @@ -1,252 +1,40 @@ -# S2DM Documentation Website +# Doks -This directory contains the Hugo-based documentation website for the **Simplified Semantic Data Modeling (S2DM)** project. +Doks is a documentation theme for [Thulite](https://thulite.io/). -## Theme & Framework +## Demo -- **Framework**: [Hugo](https://gohugo.io/) static site generator -- **Theme**: [Doks](https://github.com/h-enk/doks) - A modern documentation theme built on Bootstrap 5 -- **CSS Framework**: Bootstrap 5 with custom SCSS -- **Icons**: - - Lucide icons (for index page features) - - Font Awesome 5.15.3 (site-wide) +- [doks.netlify.app](https://doks.netlify.app/) -## Hugo Version Management +## Install -This project uses a specific Hugo version to ensure consistency between local development and production builds: - -- **Local development**: Hugo version is specified in `package.json` under `otherDependencies.hugo` -- **CI/CD (GitHub Actions)**: Hugo version is specified in `.github/workflows/docgen.yml` under `HUGO_VERSION` - -⚠️ **Important**: These versions must match to ensure consistent builds. If you update one, update the other. - -## Directory Structure - -``` -docs-gen/ -├── assets/ # SCSS, JS, and other build assets -├── config/ # Hugo configuration files -│ ├── _default/ # Default configuration -│ ├── production/ # Production overrides -│ └── next/ # Development overrides -├── content/ # Markdown content files -│ ├── _index.md # Homepage content -│ ├── docs/ # Documentation pages -│ ├── examples/ # Example pages -│ └── tools/ # Tools documentation -├── layouts/ # Hugo template files -│ ├── index.html # Custom homepage layout -│ └── partials/ # Reusable template components -├── static/ # Static assets (images, files) -│ └── images/ # Image assets -└── ../docs/ # Built site output (publishDir) -``` - -## Development Commands - -All commands should be run from the `docs-gen` directory: +The recommended way to install the latest version of Doks is by running the command below: ```bash -cd docs-gen +npm create thulite@latest -- --template doks ``` -### Install Dependencies -```bash -npm install -``` - -### Development Server -```bash -# Start development server (recommended) -npm run dev +Looking for help? Start with our [Getting Started](https://getdoks.org/docs/start-here/getting-started/) guide. -# Start with drafts enabled -npm run dev:drafts -``` -The site will be available at `http://localhost:1313` - -### Build & Production -```bash -# Build for production -npm run build +## Documentation -# Preview built site locally -npm run preview -``` +Visit our [official documentation](https://getdoks.org/). -### Linting & Quality -```bash -# Run all linters -npm run lint - -# Individual linters -npm run lint:scripts # ESLint for JavaScript -npm run lint:styles # Stylelint for SCSS/CSS -npm run lint:markdown # Markdownlint for Markdown -``` - -### Utilities -```bash -# Create new content -npm run create docs/new-page.md - -# Clean build artifacts -npm run clean - -# Show version info -npm run info -``` - -## Image Referencing - -### Static Images -Place images in `static/images/` and reference them in Markdown: - -```markdown -![Alt text](/images/filename.png) -``` - -### Full-width Images -For full-width images (like the S2DM role diagram), use HTML: - -```html -
- S2DM Role Overview -
-``` +## Support -### Responsive Images -Use Bootstrap classes for responsive behavior: +Having trouble? Get help in the official [Doks Discussions](https://github.com/thuliteio/doks/discussions). -```html -Description -``` - -## Content & Callouts - -### Hugo Shortcodes - -The Doks theme provides several useful shortcodes: - -#### Callouts -```markdown -{{< callout type="note" >}} -This is a note callout with helpful information. -{{< /callout >}} - -{{< callout type="warning" >}} -This is a warning callout for important notices. -{{< /callout >}} - -{{< callout type="tip" >}} -This is a tip callout for helpful suggestions. -{{< /callout >}} -``` - -Available callout types: -- `note` (blue) -- `tip` (green) -- `warning` (yellow) -- `important` (red) - -#### Code Blocks -````markdown -```python -# Python code example -def hello_world(): - print("Hello, S2DM!") -``` -```` - -### Front Matter - -Standard front matter for content pages: - -```yaml ---- -title: "Page Title" -description: "Page description for SEO" -lead: "Brief subtitle or lead text" -date: 2025-07-25 -lastmod: 2025-07-25 -draft: false -weight: 100 ---- -``` - -### Homepage Configuration - -The homepage (`content/_index.md`) uses special front matter: - -```yaml ---- -title: "Simplified Semantic Data Modeling" -lead: "An approach for modeling data of multiple domains..." ---- -``` - -## Customization - -### Custom Layouts -- `layouts/index.html` - Custom homepage layout with Lucide icons -- `layouts/partials/` - Reusable components - -### Styling -- `assets/scss/` - Custom SCSS files -- Bootstrap 5 variables can be overridden in SCSS - -### Icons -- **Lucide icons**: Used in homepage feature cards -- **Font Awesome**: Available site-wide via CDN - -## Configuration - -### Main Config -- `config/_default/hugo.toml` - Core Hugo settings -- `config/_default/params.toml` - Theme parameters -- `config/_default/menus/` - Navigation menus - -### Build Settings -- **Output directory**: `../docs` (for GitHub Pages) -- **Base URL**: Configured per environment -- **Minification**: Enabled in production builds - -## Common Issues - -### Hugo Version Mismatch -If you encounter build differences between local and CI/CD: -1. Check Hugo version in `package.json` (`otherDependencies.hugo`) -2. Check Hugo version in `.github/workflows/docgen.yml` (`HUGO_VERSION`) -3. Ensure both versions match exactly - -### Port Already in Use -If port 1313 is busy: -```bash -npm run dev -- --port 1314 -``` - -### Build Errors -Clear cache and rebuild: -```bash -npm run clean -npm install -npm run build -``` +## Contributing -### Image Issues -- Ensure images are in `static/images/` -- Use forward slashes in paths: `/images/file.png` -- Check file extensions match exactly -- SVG images might not scale correctly, stick to PNGs +New contributors welcome! Check out our [Contributor Guides](https://getdoks.org/contribute/) for help getting started. -## 📖 Documentation Links +## Links -- [Hugo Documentation](https://gohugo.io/documentation/) -- [Doks Theme Guide](https://getdoks.org/) -- [Bootstrap 5 Documentation](https://getbootstrap.com/docs/5.3/) -- [Lucide Icons](https://lucide.dev/) +- [License (MIT)](LICENSE) +- [Code of Conduct](https://github.com/thuliteio/.github/blob/main/CODE_OF_CONDUCT.md) +- [Project Funding](.github/FUNDING.md) +- [Website](https://getdoks.org/) ---- +## Sponsors -For questions about the S2DM project itself, see the main repository README. +Doks is free, open source software made possible by Netlify, Algolia, and several other amazing organizations and inidviduals. [Sponsor Doks](.github/FUNDING.md) ❤️ diff --git a/docs-gen/assets/S2DM.png b/docs-gen/assets/S2DM.png deleted file mode 100644 index b007b87f..00000000 Binary files a/docs-gen/assets/S2DM.png and /dev/null differ diff --git a/docs-gen/assets/favicon.png b/docs-gen/assets/favicon.png index 3f920f52..4f2d78da 100644 Binary files a/docs-gen/assets/favicon.png and b/docs-gen/assets/favicon.png differ diff --git a/docs-gen/assets/favicon.svg b/docs-gen/assets/favicon.svg new file mode 100644 index 00000000..58812ced --- /dev/null +++ b/docs-gen/assets/favicon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs-gen/assets/images/current-vs-desired.jpg b/docs-gen/assets/images/current-vs-desired.jpg deleted file mode 100644 index 541f3489..00000000 Binary files a/docs-gen/assets/images/current-vs-desired.jpg and /dev/null differ diff --git a/docs-gen/assets/images/general-flow.jpg b/docs-gen/assets/images/general-flow.jpg deleted file mode 100644 index a2fc2dbf..00000000 Binary files a/docs-gen/assets/images/general-flow.jpg and /dev/null differ diff --git a/docs-gen/assets/images/s2dm_overview.svg b/docs-gen/assets/images/s2dm_overview.svg deleted file mode 100644 index aedb8b20..00000000 --- a/docs-gen/assets/images/s2dm_overview.svg +++ /dev/null @@ -1,5 +0,0 @@ - - -631425(Movement type)(Physical membership)OBJECTS & PROPERTIESSome objectof interestSome propertyof interestOutput typeVARIANTS' IDsSPEC REGISTRYCONCEPT URIsMULTI HIERARCHIESDoorCabinVehicleLockUnidimensionalMovableVehiclePartNotMovableMultidimensionalMirror"ns:Window": [...,"0xA1B2C3D4"]"0xA1B2C3D4"(Any other classification criteria)WindowCAPABILITIESInsert / Update / DeleteRead- Type name- Unit- Output type- ...hashPreviousCurrent diff --git a/docs-gen/assets/images/s2dm_role.svg b/docs-gen/assets/images/s2dm_role.svg deleted file mode 100644 index e2fa37ad..00000000 --- a/docs-gen/assets/images/s2dm_role.svg +++ /dev/null @@ -1,4 +0,0 @@ - - -Created by followingMy own project/organizationSimplified Semantic Data Modeling(S2DM)Modeling guideline (i.e., How to?)S2DM toolsExisting toolsBuilt on top ofMy specificationfilesSupports proper use ofExisting standardmodeling languagesBasedonMaintenance and usage supported byGIT repositoryHosted at* GraphQL SDL* SKOSOffer parsing andfunctions for* RDFLib* graphql-core* etc. diff --git a/docs-gen/assets/images/vss-limits-criteria.jpg b/docs-gen/assets/images/vss-limits-criteria.jpg deleted file mode 100644 index f92b5b05..00000000 Binary files a/docs-gen/assets/images/vss-limits-criteria.jpg and /dev/null differ diff --git a/docs-gen/assets/js/custom.js b/docs-gen/assets/js/custom.js index c5525d04..1950dbcf 100644 --- a/docs-gen/assets/js/custom.js +++ b/docs-gen/assets/js/custom.js @@ -1 +1,15 @@ -// Put your custom JS code here +// Put your custom JS code here + +// Fix search index URL for GitHub Pages +(function() { + // Override fetch to fix search-index.json URL + const originalFetch = window.fetch; + window.fetch = function(url, options) { + if (typeof url === 'string' && url === '/search-index.json') { + // Get the base URL from the current location + const baseUrl = window.location.pathname.split('/').slice(0, -1).join('/'); + url = baseUrl + '/search-index.json'; + } + return originalFetch.call(this, url, options); + }; +})(); diff --git a/docs-gen/assets/new/cover.png b/docs-gen/assets/new/cover.png deleted file mode 100644 index 561091e6..00000000 Binary files a/docs-gen/assets/new/cover.png and /dev/null differ diff --git a/docs-gen/assets/s2dmgreen.png b/docs-gen/assets/s2dmgreen.png deleted file mode 100644 index aca5adf2..00000000 Binary files a/docs-gen/assets/s2dmgreen.png and /dev/null differ diff --git a/docs-gen/assets/scss/common/_custom.scss b/docs-gen/assets/scss/common/_custom.scss index a3472965..cc4e2b5d 100644 --- a/docs-gen/assets/scss/common/_custom.scss +++ b/docs-gen/assets/scss/common/_custom.scss @@ -1,530 +1 @@ -// Put your custom SCSS code here - -/* Custom CSS fixes for sidebar layout */ -.docs-sidebar { - padding-left: 1rem !important; - padding-right: 1rem !important; -} - -.docs-sidebar .section-nav { - width: 100% !important; - padding-left: 0 !important; -} - -.docs-sidebar .list-unstyled { - margin-left: 0 !important; - padding-left: 0 !important; -} - -.docs-sidebar .list-unstyled li { - margin-left: 0 !important; - padding-left: 0 !important; -} - -.docs-sidebar .list-unstyled li a { - display: block; - padding: 0.375rem 0.75rem; - text-decoration: none; - border-radius: 0.25rem; -} - -/* Nested navigation styling */ -.docs-sidebar .list-nested { - margin-top: 0.5rem !important; - margin-bottom: 1rem !important; - padding-left: 1rem !important; -} - -.docs-sidebar .list-nested li a { - padding: 0.25rem 0.5rem; - font-size: 0.9rem; - color: #6c757d; -} - -.docs-sidebar .list-nested li.active a { - background-color: #e9ecef; - color: #495057; - font-weight: 600; -} - -.docs-sidebar .list-nested li a:hover { - background-color: #f8f9fa; - color: #495057; -} - -.list.section.showcase { - .wrap.container-fluid, - .wrap.container-lg { - padding: 0; - max-width: 100%; - } - - .content { - padding: 0; - } - - .container { - max-width: 100%; - } -} - -.col-main-section { - flex: 0 0 auto; - width: calc(100% - 2rem); - padding-left: 1rem; - padding-right: 1rem; - - @include media-breakpoint-up(md) { - padding-left: 2rem; - padding-right: 2rem; - } - - @include media-breakpoint-up(xl) { - max-width: 100rem; - } -} - -@include media-breakpoint-up(xl) { - .col-xl { - flex: 0 0 auto; - width: 33.3333%; - } -} - -.section-cards { - .card { - margin: 0; - padding: 1rem; - } - - .card-title { - margin-top: 0; - } -} - -@include media-breakpoint-up(lg) { - .section-cards .col-lg-7:nth-child(2n) .card { - margin-top: 3rem; - margin-bottom: -3rem; - } -} - -@include media-breakpoint-up(xl) { - .showcase .col-main-section { - max-width: 80rem; - } -} - -.showcase .card { - height: auto; - margin: 1rem; -} - -.showcase .card-img-overlay { - position: absolute; - inset: auto 0 0; - padding: var(--bs-card-img-overlay-padding); - border-radius: 0; - background-color: hsla(224deg, 14%, 16%, 0.95); - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); - transition-duration: 0.3s; - transition-property: opacity; - opacity: 0; - - .card-title { - margin-top: 0; - color: var(--sl-color-gray-2); - } - - .card-text { - color: var(--sl-color-gray-2); - } -} - -.showcase .card:hover .card-img-overlay { - opacity: 1; -} - -.pagination { - margin-top: 4rem; -} - -/*! purgecss start ignore */ -.page-item a[aria-label="Previous"], -.page-item a[aria-label="Next"] { - border-radius: 50%; -} - -/*! purgecss end ignore */ - -// Add to Doks - -/* -.callout-content { - min-width: 0; -} - -.callout pre { - margin: 1rem 0; -} - -.container-fw { - max-width: auto; -} - -.docs-sidebar { - min-width: 18.75rem; - max-width: 18.75rem; - width: 18.75rem; -} - -.docs-toc { - min-width: 13.75rem; -} - -@include media-breakpoint-up(lg) { - .container-fw { - max-width: 675px; - } -} - -@include media-breakpoint-up(xl) { - .container-fw { - max-width: 875px; - - .docs-content { - width: 575px; - } - - .docs-toc { - margin-left: 3rem; - } - } -} - -@include media-breakpoint-up(xxl) { - .container-fw { - max-width: 1075px; - - .docs-content { - width: 675px; - } - } -} - -figcaption { - font-size: 1rem; - margin-top: 0.5rem; - font-style: italic; -} -*/ - -.navbar-brand svg { - width: 60px; - height: 100%; - margin-right: 0; -} - -@include media-breakpoint-up(lg) { - .navbar-brand svg { - width: 70px; - height: 100%; - } -} - -.section-credits { - padding-top: 2.5rem; - margin-bottom: 2.5rem; -} - -@include media-breakpoint-up(lg) { - .section-credits { - padding-top: 4.5rem; - margin-bottom: 4.5rem; - } -} - -.home .footer { - @include visually-hidden; -} - -// DocSearch - -.DocSearch-Container { - z-index: 2000 !important; -} - -.DocSearch-Hit-title { - overflow: hidden; -} - -.DocSearch-Hit-icon { - display: flex; - align-items: center; -} - -.DocSearch-Hits mark { - padding: 0; -} - -@media (max-width: 768px) { - .DocSearch-Modal { - position: fixed !important; - } -} - -.single.blog .content h2[id]::before, -.single.blog .content h3[id]::before, -.single.blog .content h4[id]::before { - display: block; - height: 6rem; - margin-top: -6rem; - content: ""; -} - -.feedback-links h3, -.feedback-links .h3 { - text-transform: none; - font-size: 1rem; - margin: 1.25rem 0 0.75rem; - padding: 1.5rem 0 0; -} - -.feedback-links li { - margin-top: 0.125rem; - padding-top: 0.125rem; -} - -.feedback-links a { - color: $body-color; - display: block; - padding: 0.125rem 0; - font-size: $font-size-base * 0.9375; - text-decoration: none; -} - -.feedback-links a:hover, -.feedback-links a.active { - text-decoration: none; - color: $link-color; -} - -@include color-mode(dark) { - .feedback-links a { - color: $body-color-dark; - } - - .feedback-links a:hover { - text-decoration: none; - color: $link-color-dark; - } -} - -// Link cards - -/* -.card-nav { - column-gap: 1rem; -} - -.card-nav .card { - margin: 0.5rem 0; -} - -.card-nav .card:hover { - border: 1px solid $db-gray-600; - background-color: var(--sl-color-gray-7); -} - -@include color-mode(dark) { - .card-nav .card { - border: 1px solid hsl(224deg, 10%, 23%); - } - - .card-nav .card:hover { - border: 1px solid hsl(224deg, 6%, 56%); - background-color: var(--sl-color-gray-6); - } -} -*/ - -// Link cards — blog single pages overrides - -.blog.single .card-nav { - .card { - margin: 0.5rem 0; - transition: unset; - } - - .card:hover { - transform: unset; - } - - .card-body { - padding: 1rem; - } -} - -.docs-links h3, -.page-links h3 { - text-transform: none; -} - -.img-lightmode.border { - border: 1px solid $gray-200 !important; -} - -.img-darkmode.border { - border: 1px solid var(--sl-color-gray-6) !important; -} - -@include color-mode(light) { - .img-lightmode { - display: block; - } - - .img-darkmode { - display: none; - } -} - -@include color-mode(dark) { - .img-lightmode { - display: none; - } - - .img-darkmode { - display: block; - } -} - -// Card shortcode - -.card-icon { - padding: 0.2em; - border-radius: 0.25rem; -} - -.icon-yellow { - border: 1px solid var(--sl-color-orange); - background-color: var(--sl-color-orange-high); -} - -.icon-purple { - border: 1px solid var(--sl-color-purple); - background-color: var(--sl-color-purple-high); -} - -.icon-green { - border: 1px solid var(--sl-color-green); - background-color: var(--sl-color-green-high); -} - -.icon-red { - border: 1px solid var(--sl-color-red); - background-color: var(--sl-color-red-high); -} - -.icon-blue { - border: 1px solid var(--sl-color-blue); - background-color: var(--sl-color-blue-high); -} - -.card-nav .card-box svg { - stroke: $db-bluishCyan-100; -} - -@include color-mode(dark) { - .icon-yellow { - border: 1px solid var(--sl-color-orange); - background-color: var(--sl-color-orange-low); - } - - .icon-purple { - border: 1px solid var(--sl-color-purple); - background-color: var(--sl-color-purple-low); - } - - .icon-green { - border: 1px solid var(--sl-color-green); - background-color: var(--sl-color-green-low); - } - - .icon-red { - border: 1px solid var(--sl-color-red); - background-color: var(--sl-color-red-low); - } - - .icon-blue { - border: 1px solid var(--sl-color-blue); - background-color: var(--sl-color-blue-low); - } - - .card-nav .card-box svg { - stroke: $white; - } -} - -.card-nav .card-box { - border-radius: 0; - padding: 1rem 1rem 0; -} - -.card-nav .card-box:hover { - border: 1px solid $card-border-color; - background-color: transparent; -} - -@include color-mode(dark) { - .card-nav .card-box { - border: 1px solid hsl(224deg, 10%, 23%); - } - - .card-nav .card-box:hover { - border: 1px solid hsl(224deg, 10%, 23%); - background-color: transparent; - } -} - -// Code - -.expressive-code pre > code { - line-height: 1.7; // 1.8 (default) -} - -.feedback-links h3, .feedback-links .h3 { - font-size: 1.125rem; - margin: 1.25rem 0 0.75rem; - padding: 1.5rem 0 0; -} - -// -.bg-anna { - /* - background-color: #181422; - background-color: #95e7d7; - background-color: #ec4815; - background-color: var(--overlay-blurple); - */ - // background: linear-gradient(215deg, var(--overlay-blurple), transparent 40%), radial-gradient(var(--overlay-blurple), transparent 40%) no-repeat -60vw -40vh / 105vw 200vh, radial-gradient(var(--overlay-blurple), transparent 65%) no-repeat 50% calc(100% + 20rem) / 60rem 30rem; - - background-color: #181422; -} - -// -/* -.alert { - font-family: $font-family-sans-serif; -} - -.alert-text { - margin-right: 0; - font-size: 1.125rem; -} -*/ - -img, -.img-fluid { - max-width: 100%; - height: auto; -} +// Put your custom SCSS code here diff --git a/docs-gen/assets/scss/common/_variables-custom.scss b/docs-gen/assets/scss/common/_variables-custom.scss index 6a4f1eb1..14af8119 100644 --- a/docs-gen/assets/scss/common/_variables-custom.scss +++ b/docs-gen/assets/scss/common/_variables-custom.scss @@ -1,4 +1,13 @@ -// Put your custom SCSS variables here - -// Light mode -$primary: hsl(234, 100%, 60%); +// Put your custom SCSS variables here + +// Light mode +$primary: blue; + +// Dark mode +$link-color-dark: aquamarine; +$button-color-dark: aquamarine; + +:root, +::backdrop { + --sl-color-accent-high: aquamarine; +} diff --git a/docs-gen/config/_default/hugo.toml b/docs-gen/config/_default/hugo.toml index bfa4c01e..71333bde 100644 --- a/docs-gen/config/_default/hugo.toml +++ b/docs-gen/config/_default/hugo.toml @@ -1,27 +1,21 @@ title = "S2DM" -baseURL= "" -relativeURLs= false -canonifyURLs= true -publishDir = "../docs" +baseurl = "" disableAliases = true disableHugoGeneratorInject = true -timeout = 120 -disableKinds = [] +# disableKinds = ["taxonomy", "term"] enableEmoji = true enableGitInfo = false enableRobotsTXT = true -languageCode = "en-us" -[pagination] - pagerSize = 10 +languageCode = "en-US" rssLimit = 10 summarylength = 20 # 70 (default) # Multilingual defaultContentLanguage = "en" -disableLanguages = [] +disableLanguages = ["de", "nl"] defaultContentLanguageInSubdir = false -copyRight = "Copyright (c) COVESA" +copyRight = "Copyright (c) 2020-2024 Thulite" [build.buildStats] enable = true @@ -56,9 +50,9 @@ copyRight = "Copyright (c) COVESA" maxAge = -1 # "30m" [taxonomies] - # contributor = "contributors" - # category = "categories" - # tag = "tags" + contributor = "contributors" + category = "categories" + tag = "tags" [permalinks] blog = "/blog/:slug/" @@ -68,9 +62,8 @@ copyRight = "Copyright (c) COVESA" [minify.tdewolff.html] keepWhitespace = false -[markup.goldmark.renderer] - unsafe = true - +[pagination] + pagerSize = 10 [related] threshold = 80 @@ -92,15 +85,3 @@ copyRight = "Copyright (c) COVESA" hint = "photo" quality = 85 resampleFilter = "Lanczos" - -[params] - # Change default color scheme with a variant one. Can be "red", "blue", "green". - themeVariant = "green" - disableInlineCopyToClipBoard = true - disableLandingPageButton = true - -[[menu.shortcuts]] -name = " Github repo" -identifier = "ds" -url = "https://github.com/covesa/s2dm" -weight = 10 diff --git a/docs-gen/config/_default/languages.toml b/docs-gen/config/_default/languages.toml index 05a8783c..1726a39c 100644 --- a/docs-gen/config/_default/languages.toml +++ b/docs-gen/config/_default/languages.toml @@ -5,6 +5,13 @@ [en.params] languageISO = "EN" languageTag = "en-US" - alertText = '4. April 2024 - Embargo is over. We are live.' - # alertText = 'April 4th - Embargo is over. We are live.' - footer = 'Connected Vehicle Systems Alliance' + alertText = 'Doks version 1.0 just shipped!' + +[de] + languageName = "German" + contentDir = "content/de" + weight = 15 + [de.params] + languageISO = "DE" + languageTag = "de-DE" + alertText = 'Neue Version ist da! Doks v0.5' diff --git a/docs-gen/config/_default/markup.toml b/docs-gen/config/_default/markup.toml index 23e8d429..6eaba1e2 100644 --- a/docs-gen/config/_default/markup.toml +++ b/docs-gen/config/_default/markup.toml @@ -1,33 +1,33 @@ -defaultMarkdownHandler = "goldmark" - -[goldmark] - [goldmark.extensions] - linkify = false - [goldmark.parser] - autoHeadingID = true - autoHeadingIDType = "github" - [goldmark.parser.attribute] - block = true - title = true - [goldmark.renderer] - unsafe = true - -[highlight] - anchorLineNos = false - codeFences = true - guessSyntax = false - hl_Lines = '' - hl_inline = false - lineAnchors = '' - lineNoStart = 1 - lineNos = false - lineNumbersInTable = false - noClasses = false - noHl = false - style = 'monokai' - tabWidth = 2 - -[tableOfContents] - endLevel = 3 - ordered = false - startLevel = 2 +defaultMarkdownHandler = "goldmark" + +[goldmark] + [goldmark.extensions] + linkify = false + [goldmark.parser] + autoHeadingID = true + autoHeadingIDType = "github" + [goldmark.parser.attribute] + block = true + title = true + [goldmark.renderer] + unsafe = true + +[highlight] + anchorLineNos = false + codeFences = true + guessSyntax = false + hl_Lines = '' + hl_inline = false + lineAnchors = '' + lineNoStart = 1 + lineNos = false + lineNumbersInTable = false + noClasses = false + noHl = false + style = 'monokai' + tabWidth = 2 + +[tableOfContents] + endLevel = 3 + ordered = false + startLevel = 2 diff --git a/docs-gen/config/_default/menus/menus.en.toml b/docs-gen/config/_default/menus/menus.en.toml index b030a383..42d62eed 100644 --- a/docs-gen/config/_default/menus/menus.en.toml +++ b/docs-gen/config/_default/menus/menus.en.toml @@ -1,36 +1,16 @@ -[[main]] - name = "Docs" - url = "docs/" - identifier = "docs" - weight = 10 - -[[main]] - name = "Examples" - identifier = "examples" - url = "examples/" - weight = 20 - -# Docs submenu items -[[docs]] - name = "Approach Overview" - url = "docs/approach-overview/" - identifier = "approach-overview" - weight = 10 - -[[docs]] - name = "Data Modeling Guideline" - url = "docs/data-modeling-guideline/" - identifier = "data-modeling-guideline" - weight = 20 - -[[docs]] - name = "Tools" - identifier = "tools" - url = "docs/tools/" - weight = 30 - -[[social]] - name = "GitHub" - pre = '' - url = "https://github.com/covesa/s2dm" - weight = 30 +[[main]] + name = "Docs" + url = "/docs/introduction/s2dm-documentation/" + weight = 10 + +[[main]] + name = "Examples" + url = "examples/examples-introduction/introduction/" + weight = 30 + +[[social]] + name = "GitHub" + pre = '' + url = "https://github.com/COVESA/s2dm" + post = "v0.1.0" + weight = 30 diff --git a/docs-gen/config/_default/module.toml b/docs-gen/config/_default/module.toml index 05c58873..3dd3efd3 100644 --- a/docs-gen/config/_default/module.toml +++ b/docs-gen/config/_default/module.toml @@ -1,88 +1,97 @@ -# mounts -## archetypes -[[mounts]] - source = "node_modules/@hyas/doks-core/archetypes" - target = "archetypes" - -[[mounts]] - source = "archetypes" - target = "archetypes" - -## assets -[[mounts]] - source = "node_modules/@hyas/core/assets" - target = "assets" - # excludeFiles = ["scss/app.scss", "js/app.js"] - -[[mounts]] - source = "node_modules/@hyas/images/assets" - target = "assets" - -[[mounts]] - source = "node_modules/@hyas/doks-core/assets" - target = "assets" - -[[mounts]] - source = "node_modules/@tabler/icons/icons" - target = "assets/svgs/tabler-icons" - -[[mounts]] - source = "assets" - target = "assets" - -## content -[[mounts]] - source = "content" - target = "content" - -## data -[[mounts]] - source = "node_modules/@hyas/doks-core/data" - target = "data" - -[[mounts]] - source = "data" - target = "data" - -## i18n -[[mounts]] - source = "node_modules/@hyas/doks-core/i18n" - target = "i18n" - -[[mounts]] - source = "i18n" - target = "i18n" - -## layouts -[[mounts]] - source = "node_modules/@hyas/core/layouts" - target = "layouts" - -[[mounts]] - source = "node_modules/@hyas/seo/layouts" - target = "layouts" - -[[mounts]] - source = "node_modules/@hyas/images/layouts" - target = "layouts" - -[[mounts]] - source = "node_modules/@hyas/doks-core/layouts" - target = "layouts" - -[[mounts]] - source = "node_modules/@hyas/inline-svg/layouts" - target = "layouts" - -[[mounts]] - source = "layouts" - target = "layouts" - -## static -[[mounts]] - source = "node_modules/@hyas/doks-core/static" - target = "static" - -[[mounts]] - source = "static" - target = "static" +# Module Configuration File +# +# This file configures Hugo module settings, particularly module mounts which +# define how content is organized within the project. +# +# Mounts specify file paths in your project that Hugo should use when building +# the site. They allow for custom directory structures and integrating content +# from different locations. + +## content +[[mounts]] + source = "content" + target = "content" + +## data +[[mounts]] + source = "node_modules/@thulite/doks-core/data" + target = "data" + +[[mounts]] + source = "data" + target = "data" + +## layouts +[[mounts]] + source = "layouts" + target = "layouts" + +[[mounts]] + # Exclude 'home.html' to avoid conflicts with a custom home page layout defined in the local 'layouts' directory. + excludeFiles = "home.html" + source = "node_modules/@thulite/doks-core/layouts" + target = "layouts" + +[[mounts]] + source = "node_modules/@thulite/core/layouts" + target = "layouts" + +[[mounts]] + source = "node_modules/@thulite/seo/layouts" + target = "layouts" + +[[mounts]] + source = "node_modules/@thulite/images/layouts" + target = "layouts" + +[[mounts]] + source = "node_modules/@thulite/inline-svg/layouts" + target = "layouts" + +## i18n +[[mounts]] + source = "node_modules/@thulite/doks-core/i18n" + target = "i18n" + +[[mounts]] + source = "i18n" + target = "i18n" + +## archetypes +[[mounts]] + source = "node_modules/@thulite/doks-core/archetypes" + target = "archetypes" + +[[mounts]] + source = "archetypes" + target = "archetypes" + +## assets +[[mounts]] + source = "node_modules/@thulite/core/assets" + target = "assets" + +[[mounts]] + source = "node_modules/@thulite/doks-core/assets" + target = "assets" + +[[mounts]] + source = "node_modules/@tabler/icons/icons" + target = "assets/svgs/tabler-icons" + +[[mounts]] + source = "node_modules/@thulite/images/assets" + target = "assets" + +[[mounts]] + source = "assets" + target = "assets" + +## static +[[mounts]] + source = "node_modules/@thulite/doks-core/static" + target = "static" + +[[mounts]] + source = "static" + target = "static" diff --git a/docs-gen/config/_default/params.toml b/docs-gen/config/_default/params.toml index 1d5857e0..5573dd9d 100644 --- a/docs-gen/config/_default/params.toml +++ b/docs-gen/config/_default/params.toml @@ -1,11 +1,15 @@ # Hugo title = "S2DM" -description = "S2DM - Signal to Data Model documentation" -images = ["preview.png"] +description = "Simplified Semantic Data Modelling" +images = ["cover.png"] # mainSections -mainSections = ["approach-overview", "data-modeling-guideline", "tools", "examples"] -# Doks (@hyas/doks-core) +mainSections = ["docs"] + +[social] + twitter = "getdoks" + +# Doks (@thulite/doks-core) [doks] # Color mode colorMode = "light" # auto (default), light or dark @@ -13,7 +17,7 @@ mainSections = ["approach-overview", "data-modeling-guideline", "tools", "exampl # Navbar navbarSticky = true # true (default) or false - containerBreakpoint = "fluid" # "", "sm", "md", "lg" (default), "xl", "xxl", or "fluid" + containerBreakpoint = "lg" # "", "sm", "md", "lg" (default), "xl", "xxl", or "fluid" ## Button navBarButton = false # false (default) or true @@ -40,9 +44,9 @@ mainSections = ["approach-overview", "data-modeling-guideline", "tools", "exampl bootstrapJavascript = false # false (default) or true # Nav - sectionNav = ["docs", "examples"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"]) + sectionNav = ["docs","examples"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"]) toTopButton = false # false (default) or true - breadcrumbTrail = true # false (default) or true + breadcrumbTrail = false # false (default) or true headlineHash = true # true (default) or false scrollSpy = true # true (default) or false @@ -69,19 +73,21 @@ mainSections = ["approach-overview", "data-modeling-guideline", "tools", "exampl # Repository editPage = false # false (default) or true lastMod = false # false (default) or true - repoHost = "" # GitHub (default), Gitea, GitLab, Bitbucket, or BitbucketServer - docsRepo = "" - docsRepoBranch = "" # main (default), master, or + repoHost = "GitHub" # GitHub (default), Gitea, GitLab, Bitbucket, or BitbucketServer + docsRepo = "https://github.com/h-enk/doks" + docsRepoBranch = "main" # main (default), master, or docsRepoSubPath = "" # "" (none, default) or + krokiURL = "https://kroki.io" # "https://kroki.io" (default) or custom URL like http://localhost:8000. + # SCSS colors # backGround = "yellowgreen" ## Dark theme # textDark = "#dee2e6" # "#dee2e6" (default), "#dee2e6" (orignal), or custom color - # accentDark = "#5d2f86" # "#5d2f86" (default), "#5d2f86" (original), or custom color - ## Light theme - # textLight = "#1d2d35" # "#1d2d35" (default), "#1d2d35" (orignal), or custom color - # accentLight = "#8ed6fb" # "#8ed6fb" (default), "#8ed6fb" (orignal), or custom color + # accentDark = "#3333FF" # "#5d2f86" (default), "#5d2f86" (original), or custom color + # Light theme + textLight = "#1d2d35" # "#1d2d35" (default), "#1d2d35" (orignal), or custom color + accentLight = "#3333FF" # "#8ed6fb" (default), "#8ed6fb" (orignal), or custom color [doks.menu] [doks.menu.section] @@ -96,9 +102,9 @@ mainSections = ["approach-overview", "data-modeling-guideline", "tools", "exampl errorLevel = 'ignore' # ignore (default), warning, or error (fails the build) highlightBroken = false # true or false (default) -# Images (@hyas/images) -[hyas_images] - [hyas_images.defaults] +# Images (@thulite/images) +[thulite_images] + [thulite_images.defaults] decoding = "async" # sync, async, or auto (default) fetchpriority = "auto" # high, low, or auto (default) loading = "lazy" # eager or lazy (default) @@ -107,11 +113,11 @@ mainSections = ["approach-overview", "data-modeling-guideline", "tools", "exampl process = "" # "fill 1600x900" or "fill 2100x900" for example lqip = "16x webp q20" # "16x webp q20" or "21x webp q20" for example -# Inline SVG (@hyas/inline-svg) +# Inline SVG (@thulite/inline-svg) [inline_svg] iconSetDir = "tabler-icons" # "tabler-icons" (default) -# SEO (@hyas/seo) +# SEO (@thulite/seo) [seo] [seo.title] separator = " | " @@ -119,16 +125,16 @@ mainSections = ["approach-overview", "data-modeling-guideline", "tools", "exampl [seo.favicons] sizes = [] icon = "favicon.png" # favicon.png (default) - svgIcon = "favicon.png" # favicon.svg (default) + svgIcon = "favicon.svg" # favicon.svg (default) maskIcon = "mask-icon.svg" # mask-icon.svg (default) maskIconColor = "white" # white (default) [seo.schemas] type = "Organization" # Organization (default) or Person - logo = "s2dmgreen.png" # Logo of Organization — favicon-512x512.png (default) - name = "COVESA" # Name of Organization or Person - sameAs = ["https://github.com/covesa/s2dm"] # E.g. ["https://github.com/gethyas/hyas", "https://fosstodon.org/@hyas"] - images = ["preview.png"] # ["cover.png"] (default) - article = ["docs"] # Article sections + logo = "favicon-512x512.png" # Logo of Organization — favicon-512x512.png (default) + name = "Thulite" # Name of Organization or Person + sameAs = [] # E.g. ["https://github.com/thuliteio/thulite", "https://fosstodon.org/@thulite"] + images = ["cover.png"] # ["cover.png"] (default) + article = [] # Article sections newsArticle = [] # NewsArticle sections - blogPosting = [] # BlogPosting sections + blogPosting = ["blog"] # BlogPosting sections product = [] # Product sections diff --git a/docs-gen/config/babel.config.js b/docs-gen/config/babel.config.js index ddd2b2e0..8482b9c1 100644 --- a/docs-gen/config/babel.config.js +++ b/docs-gen/config/babel.config.js @@ -1,17 +1,17 @@ -module.exports = { - presets: [ - [ - '@babel/preset-env', - { - targets: { - browsers: [ - // Best practice: https://github.com/babel/babel/issues/7789 - '>=1%', - 'not ie 11', - 'not op_mini all', - ], - }, - }, - ], - ], -}; +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + browsers: [ + // Best practice: https://github.com/babel/babel/issues/7789 + '>=1%', + 'not ie 11', + 'not op_mini all' + ] + } + } + ] + ] +}; diff --git a/docs-gen/config/development/hugo.toml b/docs-gen/config/development/hugo.toml index f4997009..045d5349 100644 --- a/docs-gen/config/development/hugo.toml +++ b/docs-gen/config/development/hugo.toml @@ -1,10 +1,2 @@ -# Development environment overrides -baseURL = "" -relativeURLs = true -canonifyURLs = false -disableLiveReload = false - -# Development-specific settings -[params] - # Disable CDN for local development - cdn_url = "" +# Overrides for local development +baseurl = "http://localhost/" diff --git a/docs-gen/config/next/hugo.toml b/docs-gen/config/next/hugo.toml index bb8250e2..8d1b518e 100644 --- a/docs-gen/config/next/hugo.toml +++ b/docs-gen/config/next/hugo.toml @@ -1 +1,2 @@ -# Overrides for next environment +# Overrides for next environment +baseurl = "/" diff --git a/docs-gen/config/postcss.config.js b/docs-gen/config/postcss.config.js index 5a0bc440..298664a7 100644 --- a/docs-gen/config/postcss.config.js +++ b/docs-gen/config/postcss.config.js @@ -1,68 +1,64 @@ -const autoprefixer = require('autoprefixer'); -const purgecss = require('@fullhuman/postcss-purgecss'); -const whitelister = require('purgecss-whitelister'); - -module.exports = { - plugins: [ - autoprefixer(), - purgecss({ - content: [ './hugo_stats.json' ], - extractors: [ - { - extractor: (content) => { - const els = JSON.parse(content).htmlElements; - return els.tags.concat(els.classes, els.ids); - }, - extensions: ['json'], - }, - ], - dynamicAttributes: [ - 'aria-expanded', - 'data-bs-popper', - 'data-bs-target', - 'data-bs-theme', - 'data-dark-mode', - 'data-global-alert', - 'data-pane', // tabs.js - 'data-popper-placement', - 'data-sizes', - 'data-toggle-tab', // tabs.js - 'id', - 'size', - 'type', - ], - safelist: [ - 'active', - 'btn-clipboard', // clipboards.js - 'clipboard', // clipboards.js - 'disabled', - 'hidden', - 'modal-backdrop', // search-modal.js - 'selected', // search-modal.js - 'show', - 'img-fluid', - 'blur-up', - 'lazyload', - 'lazyloaded', - 'alert-link', - 'container-fw ', - 'container-lg', - 'container-fluid', - 'offcanvas-backdrop', - 'figcaption', - 'dt', - 'dd', - 'showing', - 'hiding', - 'page-item', - 'page-link', - ...whitelister([ - './assets/scss/**/*.scss', - './node_modules/@hyas/doks-core/assets/scss/components/_code.scss', - './node_modules/@hyas/doks-core/assets/scss/components/_expressive-code.scss', - './node_modules/@hyas/doks-core/assets/scss/common/_syntax.scss', - ]), - ], - }), - ], -} +const autoprefixer = require('autoprefixer'); +const { purgeCSSPlugin } = require('@fullhuman/postcss-purgecss'); +const whitelister = require('purgecss-whitelister'); + +module.exports = { + plugins: [ + autoprefixer(), + purgeCSSPlugin({ + content: ['./hugo_stats.json'], + extractors: [ + { + extractor: (content) => { + const els = JSON.parse(content).htmlElements; + return els.tags.concat(els.classes, els.ids); + }, + extensions: ['json'] + } + ], + dynamicAttributes: [ + 'aria-expanded', + 'data-bs-popper', + 'data-bs-target', + 'data-bs-theme', + 'data-dark-mode', + 'data-global-alert', + 'data-pane', // tabs.js + 'data-popper-placement', + 'data-sizes', + 'data-toggle-tab', // tabs.js + 'id', + 'size', + 'type' + ], + safelist: [ + 'active', + 'btn-clipboard', // clipboards.js + 'clipboard', // clipboards.js + 'disabled', + 'hidden', + 'modal-backdrop', // search-modal.js + 'selected', // search-modal.js + 'show', + 'img-fluid', + 'blur-up', + 'lazyload', + 'lazyloaded', + 'alert-link', + 'container-fw ', + 'container-lg', + 'container-fluid', + 'offcanvas-backdrop', + 'figcaption', + 'dt', + 'dd', + 'showing', + 'hiding', + 'page-item', + 'page-link', + 'not-content', + ...whitelister(['./assets/scss/**/*.scss', './node_modules/@thulite/doks-core/assets/scss/components/_code.scss', './node_modules/@thulite/doks-core/assets/scss/components/_expressive-code.scss', './node_modules/@thulite/doks-core/assets/scss/common/_syntax.scss']) + ] + }) + ] +}; diff --git a/docs-gen/config/production/hugo.toml b/docs-gen/config/production/hugo.toml index 38e92b80..1dc6532f 100644 --- a/docs-gen/config/production/hugo.toml +++ b/docs-gen/config/production/hugo.toml @@ -1,10 +1,2 @@ -# Overrides for production environment -# baseURL will be set by GitHub Actions -relativeURLs = false -canonifyURLs = true -disableLiveReload = true -enableRobotsTXT = true - -# Ensure consistent URL generation for GitHub Pages subpath -uglyURLs = false -removePathAccents = false +# Overrides for production environment +# baseurl will be set by GitHub Actions via --baseURL parameter diff --git a/docs-gen/content-archive/Others/approach_primer.md b/docs-gen/content-archive/Others/approach_primer.md deleted file mode 100644 index ebb994fd..00000000 --- a/docs-gen/content-archive/Others/approach_primer.md +++ /dev/null @@ -1,330 +0,0 @@ ---- -title: Approach primer ---- - -## Background -### Why do we need such an approach? -#### Subject Matter Experts are often NOT data modeling experts -Subject Matter Experts (SMEs) are often not familiar with data modeling, nor are they following best practices to formalize their knowledge. -This lack in expertise can be problematic when they are in charge of expanding and maintaining a certain controlled vocabulary that will be used in real systems at the enterprise level. - -#### Vehicle Signal Specification has been an alternative but requires improvements -When it comes to vehicle data, the Vehicle Signal Specification (VSS) has been offering an easy-to-follow approach to enable SMEs contribute to a controlled vocabulary of high-level vehicle properties (e.g., Speed, Acceleration, etc.). - -> **Vehicle Signal Specification (VSS)** is a controlled vocabulary for the properties of a car organized in a hierarchical tree. To learn more about VSS, please visit the [official documentation page](https://covesa.github.io/vehicle_signal_specification/). - -The VSS modeling approach has been well received by SMEs who have been extending the list of properties both publicly at the COVESA alliance and internally at BMW. -However, this approach has reached its limits on what one can express with it. -Among the limitations, is the fact that VSS uses a custom file extension `.vspec` that referes to files written in `YAML` with a custom syntax. -The language used in `vspec`, as of December 2024, does not support cross references. -Thus, it is not possible to model multiple inter-connected domains. - -> If you want to learn more about the current limitations of `VSS`, please visit these resources: -> * [Defining the COVESA data modeling strategy and its associated artifacts](https://wiki.covesa.global/display/WIK4/Defining+the+COVESA+data+modeling+strategy+and+its+associated+artifacts) -> * [Towards a Vehicle DATA specification](https://wiki.covesa.global/download/attachments/98271360/COVESA_Towards%20vehicle%20DATA%20specification_AMM_04.2024.pdf?version=1&modificationDate=1714758174348&api=v2) -> * [Vehicle DATA Specification](https://wiki.covesa.global/display/WIK4/Vehicle+DATA+Specification) - -The reference mapping between the Vehicle Signal Specification (VSS) and this S2DM approach is documeted in `/docs/s2dm_vss_mapping.md`. - - -### Design principles - -#### Problem -- Disparate vehicle data models that lack proper semantics. -#### Requirements -| **Criteria** | **Requirement** | -|----------------------|-----------------| -| **Simplicity** | Modeling approach is easy to follow. Its representation is not verbose. It is friendly for anyone new to the area. It is easy to add new concepts. | -| **Technology agnosticism** | Data model can be used with any downstream technology (e.g., by exporting it into multiple schemas). | -| **Modularity** | Data model can be split into multiple (reusable) small pieces. | -| **Scalability & Maintainability** | Model can scale up (e.g., concepts are extended). It can be easily maintained (e.g., changes and extensions are possible). | -| **Metadata resource uniqueness** | Concepts in the data model are uniquely identifiable with future-proof ids (e.g., by the use of International Resource Identifiers (IRIs)). | -| **Support for multiple classification schemes** | Polyhierarchies are supported to classify the terms in the vocabulary with different classification criteria (i.e., useful for data catalogs). | -| **Support for cross-domain references** | Multiple cross-referenced domains are supported natively by the language (useful for contextual data). | -| **Community & Tools** | Data model can be used in multiple up-to-date public tools. Modeling approach is based on a language that is already established in the open community. | - -![Goal](/s2dm/images/vss-limits-criteria.jpg) -#### Goal -- To minimize the effort needed to develop, extend, and maintain vehicle-related semantic data models. -![Goal](/s2dm/images/current-vs-desired.jpg) -#### Artifact -- A guideline on how to model vehicle-related data with proper semantics and good practices. - - -## Proposed solution approach - -### General workflow -A simplified approach (see figure's left side) could be the adequate bridge between the ideal enterprise metadata management and the actual use of a domain data model in an application. -Specially in cases where SMEs are actively extending a set of data structures that are needed in practice. -Also, when alliances or consortiums consist of multiple external stakeholders. - -Overall, a SME should be able to intuitively search and find the data of interest via a data catalog. -If the desired data is found, tools must allow the export of it into the structure needed in the application. -In the case that no existing data matches his needs, simple steps must allow the modeling of the missing concepts. -To that end, such a process is proposed with the following ideas: - - -![General flow](/s2dm/images/general-flow.jpg) - -### Idea (1): Maintain Entity and Property sets -In an application, most of the value is centered around what one can read or write. -Thus, the most granular structure corresponds always to a certain `Property` (aka., characteristic, attribute, etc.). For example: the `position` of the window, the `speed` of a vehicle, the `angle` of the steering wheel. -All of them are assotiated to a particular datatype, such as `Integer`, `String`, etc. -Then actual values of those properties can have dynamic (i.e., data streams) or static behavior. - -Properties belong to some `Entity` that is of interest for our application. For example: -`Window`, `Vehicle`, `SteeringWheel`, etc. -So, an `Entity` can contain a collection of properties. - -The principal idea here is to maintain a set of entities and their assotiated properties. - -### Idea (2): Maintain a set of reusabel labels -In some cases, there are entities that can have multiple instances. -For example, A vehicle might not have one but multiple `doors`, `windows`, `seats`, `batteries`, `tires`, etc. -Hence, it becomes useful to avoid repetition in the modeling by allowing the specification of reusable labels. -A list of labels, such as `InCabinZone`, could contain the options `FRONT_LEFT`, and `FRONT_RIGHT`. -These could be used directly to specify a particular `Door`, `Windows`, and `Seat`. - -### Idea (3): Construct unique IDs -To foster reusability and avoid naming conflicts, a rule set must be enforced. -The minimum constraints must be: -- A `namespace` (`ns`) must be unique and future-proof. -- Within a `namespace` (`ns`), the name of an `Entity` must be unique. -- Within a `namespace` (`ns`), the name of an `Enum` must be unique. -- Within an `Entity`, the name of a `Property` must be unique. - -In the case of `GraphQL` schema language these constraints are supported. -One can concatenate the elements to create International Resource Identifiers (IRIs) -```Turtle -PREFIX ns: -ns:Door -ns:Door.position -ns:Door.isOpen -``` - -Then, IRIs can be used when defining the schema in the application. -For example, a `json` schema could look like: -```json -{ - "type": "object", - "properties": { - "door": { - "implementedConcept": "ns:Door", - "type": "object", - "properties": { - "position": {"type": "int"}, - "isOpen": {"type": "boolean"} - }, - } - }, -} -``` - - -### Idea (4): Allow arbitrary hierarchies for different classification criteria -As the `Entity` and `Property` sets grow over time, proper information classification becomes essential. -The most tangible value of this organization is visible in any online shop. -There, a faceted search is the default tool for filtering the available data with specific criteria. -The same principle can be applied here. - -For example, the `Window` entity can be classified by its physical position (`Vehicle.Cabin.Door.Window`), its principle of movement (`MovablePart.UniDimensionalMove.Window`), its material (`Piece.GlassedPiece.Window`), and by other criteria. - -The [Simple Knowledge Organization System (SKOS)](https://www.w3.org/2004/02/skos/) is a well-established standard to achieve such classifications. - -### Idea (5): Specify possible interactions -The entity and property sets (of idea (1)) can be complemented with an specification of the set of possible operations on them (i.e., interactions or actions). -For example: - -| **Domain** | **Operation** | -|-----------------|-----------------| -| `Seat` | Get the position of all seats. | -| `Seat` | Save a seat position to memory. | -| `Seat` | Control the heating mode of a seat. | -| `Climate` | Turn on/off the AC. | -| `Climate` | Set the temperature. | -| `Climate` | Get the fan speed per zone. | - - -### Other ideas: -> TODO: Conversational tools, versioning, etc. - - - -## Examples -Refer to the [examples folder](/examples/). - -## Special considerations -The following cases require special treatments. - -### Dilemma: Property as field or as object type - -Here’s the markdown summarizing the three cases for your dilemma: - ---- - -#### **Case 1: Scalar Field** -```graphql -type Vehicle { - speed: Int -} -``` - -**Pros:** -- Simple and concise representation. -- Easy to read and understand for straightforward use cases. -- Suitable for static properties that do not require additional metadata or complexity. - -**Cons:** -- Limited extensibility: Adding metadata (e.g., units like "km/h") or additional attributes (e.g., timestamp) requires refactoring. -- Not future-proof: If the property evolves to include more details, significant schema changes are needed. -- Cannot represent complex relationships or metadata. - ---- - -#### **Case 2: Dedicated Object Type** -```graphql -type Vehicle { - speed: VehicleSpeed -} - -type VehicleSpeed { - value: Int - unit: String - timestamp: String -} -``` - -**Pros:** -- Highly extensible: Allows adding metadata like `unit` or `timestamp` without breaking the schema. -- Better suited for complex properties: Can easily accommodate additional fields like ranges or error margins. -- Future-proof: Supports evolving requirements without major schema changes. - -**Cons:** -- More verbose: Introduces additional layers of nesting, making the schema longer and more complex. -- Overhead for simple properties: Feels excessive for straightforward fields like `speed`. -- Harder to read and maintain for basic use cases. - ---- - -#### **Case 3: Reusable Property Type** -```graphql -type Vehicle { - speed: IntProperty -} - -type IntProperty { - value: Int - unit: String - timestamp: String -} -``` - -**Pros:** -- Reusability: The `IntProperty` type can be used across multiple fields (e.g., `speed`, `weight`, etc.), ensuring consistency and reducing duplication. -- Extensible: Like Case 2, it supports adding metadata or attributes without schema refactoring. -- Consistent: Standardizes the representation of similar properties across the schema. -- Future-proof: Accommodates evolving requirements while maintaining schema clarity. - -**Cons:** -- Overhead for simple properties: Adds complexity for fields that don’t require metadata. -- Generic naming: May feel less descriptive compared to dedicated types like `VehicleSpeed`. -- Potential for overgeneralization: If properties diverge significantly, the reusable type may become too generic. - ---- - -### **Recommendation** -- Use **Case 1** for simple, static properties that are unlikely to evolve or require metadata. -- Use **Case 2** for properties that are unique and require specific metadata or complex structures. -- Use **Case 3** for properties that share common metadata or structures across the schema, ensuring reusability and consistency. - -For vehicle-related information, **Case 3** with a reusable type like `IntProperty` is often the best choice, as it balances extensibility, reusability, and clarity. - -### Enums' datatypes -In GraphQL, enums are typically used to define a set of allowed values for a field. These values are usually represented as strings, such as `[FIRST, SECOND, ...]`. However, GraphQL enums are not limited to strings conceptually; they can represent any discrete set of values. - -If your model defines "allowed" values as integers, like `[0, 1, 2, ...]`, you can still use GraphQL enums to represent them. Internally, GraphQL will treat these enum values as strings in the schema, but you can map them to integers in your application logic. -```gql -enum TheAllowedValues { - ZERO - ONE - TWO -} -``` -In your application, you can map ZERO to 0, ONE to 1, and so on. This approach allows you to enforce a fixed set of values while maintaining flexibility in how they are interpreted in your code. - -### Special cross references -GraphQL schema language excels in defining the structure of data models in a clear and understandable way. It provides robust elements such as types, fields within types, nested objects, and enumerations. -These features allow for a well-organized and precise representation of data structures. -However, it has limitations such as restricted cross-references, where linking fields to other fields directly is not possible. - -Let us assume our model has the concepts `Window.position`, `AC.temperature`, `AC.isOn`, `Sunroof.position`. -In the `GraphQL` schema language, it is not possible to say that the `Person.perceivedTemperature` can be modified by acting on these properties. -```graphql -type Window { - position: Int -} - -type AC { - temperature: Float - isOn: Boolean -} - -type Sunroof { - position: Int -} - -type Person { - perceivedTemperature: Int # I want to say that this property might be affected by acting on the others - pTemp: PTem -} - -type PTemp{ - affectedByProp: Property - value: String! -} - -type Property { - objectName: String! - fieldName: String! -} - - - -``` -#### Option 1 - Instance data file -An alternative would be to define the schema as usual, and then write another instance data file with concrete instance data that represents the connections. For example, that the perceived temperature is affected by `Window.position`, `AC.temperature`, `AC.isOn`, `Sunroof.position`. - -#### Option 2 - Enums with URIs -However, the following is possible and supported by the language out of the box by using nested objects: -```graphql -type Person { - perceivedTemperature: PerceivedTemperature -} - -type PerceivedTemperature { - temperature: Int - modifiableBy: [perceivedTemperatureModifiersEnum] -} - -enum perceivedTemperatureModifiersEnum { - ns:Window.position - ns:AC.temperature - ns:AC.isOn - ns:Sunroof.position -} -``` - -Option 3 - using directives -```gql -```graphql -directive @affectedBy(object: String!, field: String!) on FIELD_DEFINITION - -type Person { - perceivedTemperature: Int - @affectedBy(object: "Window", field: "position") -} - -type Window { - position: Int -} -``` diff --git a/docs-gen/content-archive/Others/basic_principle.md b/docs-gen/content-archive/Others/basic_principle.md deleted file mode 100644 index bafe3b04..00000000 --- a/docs-gen/content-archive/Others/basic_principle.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Basic principle ---- - -## Basic principle -The idea is that multiple systems in the physical layer (e.g., databases, streaming platforms, applications, etc.) can share the same concepts. -However, instead of arbitrarily modeling domains in the physical layer, the purpose is to have a unique way for specifying the concepts of common interest and its organizing principles in such a way that they are reused. -This principle is a core part of a [data-centric architecture](https://datacentricmanifesto.org/), reducing undesired duplications and [software waste](https://www.semanticarts.com/software-wasteland/) when it is systematically applied. - -```mermaid -graph LR - subgraph ConceptualLayer - Person - Vehicle - ParkingLot - end - subgraph PhysicalLayer - Database - StreamingPlatform - Application - Other - end - ConceptualLayer --> Database - ConceptualLayer --> StreamingPlatform - ConceptualLayer --> Application - ConceptualLayer --> Other -``` - -In this sense, `S2DM` is an approach to specify those concepts of interest systematically. -A more generic (and elaborated) diagram looks like the following: - -```mermaid -graph LR - subgraph Conceptual layer - spec_file_1.graphql - spec_file_2.graphql - spec_file_N.graphql - subgraph S2DM Tools - Composer - Exporter - Other - end - end - subgraph Physical layer - App_SHACL - App_YAML - App_JSON - App_Other - end - spec_file_1.graphql --GraphQL schema 1--> Composer - spec_file_2.graphql --GraphQL schema 2--> Composer - spec_file_N.graphql --GraphQL schema N--> Composer - Composer --Merged GraphQL schema--> Exporter - Composer --Merged GraphQL schema--> Other - Exporter --VSPEC--> App_YAML - Exporter --SHACL--> App_SHACL - Exporter --JSON schema--> App_JSON - Exporter --Other?--> App_Other -``` diff --git a/docs-gen/content/_index.md b/docs-gen/content/_index.md index 618276ff..5d038f5d 100644 --- a/docs-gen/content/_index.md +++ b/docs-gen/content/_index.md @@ -14,7 +14,7 @@ It does not intend to re-invent or replace long-standing standards, such as thos Therefore, it does not incorporate advanced reasoning capabilities or comprehensive ontologies typically associated with traditional semantic data modeling. {{< /callout >}} -{{< img src="images/s2dm_role.png" alt="S2DM Role Overview" >}} +{{< img src="s2dm/images/s2dm_role.png" alt="S2DM Role Overview" >}} The figure above ilustrates the role of the `S2DM` approach. One can distinghish three areas: diff --git a/docs-gen/content/docs/_index.md b/docs-gen/content/docs/_index.md index eb5078e0..c4802249 100644 --- a/docs-gen/content/docs/_index.md +++ b/docs-gen/content/docs/_index.md @@ -1,32 +1,11 @@ --- -title: Documentation -description: Complete documentation for the Simplified Semantic Data Modeling (S2DM) approach -weight: 30 +title: "Welcome to Doks" +description: "" +lead: "Congrats on setting up a new Doks project!" +draft: false +seo: + title: "Welcome to Doks" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true --- - -# S2DM Documentation - -Welcome to the complete documentation for the **Simplified Semantic Data Modeling** (S2DM) approach. This documentation is organized into three main sections: - -## Documentation Sections - -The documentation is structured to guide you through understanding, implementing, and using S2DM: - -- **[Approach Overview]({{< relref "approach-overview" >}})** - Learn the fundamental concepts and principles of S2DM -- **[Data Modeling Guideline]({{< relref "data-modeling-guideline" >}})** - Step-by-step guide to modeling your domain with S2DM -- **[Tools]({{< relref "tools" >}})** - Available tools and utilities to support your S2DM implementation - -Each section contains detailed information to help you effectively use the S2DM approach for your data modeling needs. - -{{< callout context="tip" >}} -`S2DM` artifacts are based on the following existing resources. Getting familiar with them is recommended. - -- **Modeling languages and vocabularies** - - [GraphQL Schema Definition Language (SDL)](https://graphql.org/learn/schema/): Provides a clear, human-readable syntax for defining data structures and relationships, making it easy for SMEs to understand and use without requiring deep technical expertise. - - [Simple Knowledge Organization System (SKOS)](https://www.w3.org/2004/02/skos/): An RDF-based vocabulary that offers a straightforward framework for creating and managing hierarchical classifications and relationships between concepts, facilitating intuitive and semantically rich knowledge organization. - -- **Tools** - - [rdflib](https://rdflib.readthedocs.io): For working with RDF data in Python (e.g., `SKOS`). - - [graphql-core](https://graphql-core-3.readthedocs.io): For working with `GraphQL` schemas in Python (e.g., `SDL`). - - [Others](https://github.com/COVESA/s2dm/blob/main/pyproject.toml) -{{< /callout >}} diff --git a/docs-gen/content/docs/approach-overview/actively-developed.md b/docs-gen/content/docs/approach-overview/actively-developed.md index c28f9913..a453f5ea 100644 --- a/docs-gen/content/docs/approach-overview/actively-developed.md +++ b/docs-gen/content/docs/approach-overview/actively-developed.md @@ -1,9 +1,8 @@ --- title: Actively Developed (SME) -weight: 10 -chapter: false +weight: 20 --- -{{< img src="images/actively_developed.png" alt="Frame 1: Actively Developed" >}} +{{< img src="s2dm/images/actively_developed.png" alt="Frame 1: Actively Developed" >}} Under construction... diff --git a/docs-gen/content/docs/approach-overview/automated.md b/docs-gen/content/docs/approach-overview/automated.md index 752f4693..f5d79be0 100644 --- a/docs-gen/content/docs/approach-overview/automated.md +++ b/docs-gen/content/docs/approach-overview/automated.md @@ -1,9 +1,8 @@ --- title: Automated (CI Tooling) -weight: 20 -chapter: false +weight: 30 --- -{{< img src="images/automated.png" alt="Frame 2: Automated" >}} +{{< img src="s2dm/images/automated.png" alt="Frame 2: Automated" >}} Under construction... diff --git a/docs-gen/content/docs/approach-overview/optional-extensions.md b/docs-gen/content/docs/approach-overview/optional-extensions.md index 3addd7a6..5b3c02c3 100644 --- a/docs-gen/content/docs/approach-overview/optional-extensions.md +++ b/docs-gen/content/docs/approach-overview/optional-extensions.md @@ -1,9 +1,8 @@ --- title: Optional Extensions (Modelers) -weight: 60 -chapter: false +weight: 40 --- -{{< img src="images/optional_extensions.png" alt="Frame 3: Optional Extensions" >}} +{{< img src="s2dm/images/optional_extensions.png" alt="Frame 3: Optional Extensions" >}} Under construction... diff --git a/docs-gen/content/docs/data-modeling-guideline/_index.md b/docs-gen/content/docs/data-modeling-guideline/_index.md index 17e1559a..119f3458 100644 --- a/docs-gen/content/docs/data-modeling-guideline/_index.md +++ b/docs-gen/content/docs/data-modeling-guideline/_index.md @@ -1,5 +1,5 @@ --- title: Data modeling guideline -weight: 20 +weight: 50 --- Under construction... diff --git a/docs-gen/content/docs/data-modeling-guideline/how-to.md b/docs-gen/content/docs/data-modeling-guideline/how-to.md index 595f77d5..d5ae4083 100644 --- a/docs-gen/content/docs/data-modeling-guideline/how-to.md +++ b/docs-gen/content/docs/data-modeling-guideline/how-to.md @@ -1,6 +1,6 @@ --- title: How to...? -weight: 20 +weight: 60 chapter: false --- diff --git a/docs-gen/content/docs/data-modeling-guideline/pre-defined-elements.md b/docs-gen/content/docs/data-modeling-guideline/pre-defined-elements.md index 60f72ad3..13d5538e 100644 --- a/docs-gen/content/docs/data-modeling-guideline/pre-defined-elements.md +++ b/docs-gen/content/docs/data-modeling-guideline/pre-defined-elements.md @@ -1,10 +1,10 @@ --- title: Pre-defined elements -weight: 10 +weight: 70 chapter: false --- -{{< img src="images/s2dm_pre_def_elements.png" alt="S2DM Pre-defined Elements" >}} +{{< img src="s2dm/images/s2dm_pre_def_elements.png" alt="S2DM Pre-defined Elements" >}} ### Units Units are represented as enum values. For example: diff --git a/docs-gen/content/docs/introduction/_index.md b/docs-gen/content/docs/introduction/_index.md new file mode 100644 index 00000000..182a2c5a --- /dev/null +++ b/docs-gen/content/docs/introduction/_index.md @@ -0,0 +1,15 @@ +--- +title: "Introduction" +description: "" +summary: "" +date: 2023-09-07T16:06:50+02:00 +lastmod: 2023-09-07T16:06:50+02:00 +draft: false +weight: 1 +toc: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/docs/introduction/introduction.md b/docs-gen/content/docs/introduction/introduction.md new file mode 100644 index 00000000..9bfecd3b --- /dev/null +++ b/docs-gen/content/docs/introduction/introduction.md @@ -0,0 +1,33 @@ +--- +title: S2DM Documentation +description: Documentation for the Simplified Semantic Data Modeling (S2DM) approach +weight: 5 +toc: true +--- + +{{< img src="s2dm/images/s2dm_overview.png" alt="S2DM Role Overview" >}} + +Welcome to the complete documentation for the **Simplified Semantic Data Modeling** (S2DM) approach. This documentation is organized into three main sections: + +## Documentation Sections + +The documentation is structured to guide you through understanding, implementing, and using S2DM: + +- **[Approach Overview]({{< relref "approach-overview" >}})** - Learn the fundamental concepts and principles of S2DM +- **[Data Modeling Guideline]({{< relref "data-modeling-guideline" >}})** - Step-by-step guide to modeling your domain with S2DM +- **[Tools]({{< relref "tools" >}})** - Available tools and utilities to support your S2DM implementation + +Each section contains detailed information to help you effectively use the S2DM approach for your data modeling needs. + +{{< callout context="tip" >}} +`S2DM` artifacts are based on the following existing resources. Getting familiar with them is recommended. + +- **Modeling languages and vocabularies** + - [GraphQL Schema Definition Language (SDL)](https://graphql.org/learn/schema/): Provides a clear, human-readable syntax for defining data structures and relationships, making it easy for SMEs to understand and use without requiring deep technical expertise. + - [Simple Knowledge Organization System (SKOS)](https://www.w3.org/2004/02/skos/): An RDF-based vocabulary that offers a straightforward framework for creating and managing hierarchical classifications and relationships between concepts, facilitating intuitive and semantically rich knowledge organization. + +- **Tools** + - [rdflib](https://rdflib.readthedocs.io): For working with RDF data in Python (e.g., `SKOS`). + - [graphql-core](https://graphql-core-3.readthedocs.io): For working with `GraphQL` schemas in Python (e.g., `SDL`). + - [Others](https://github.com/COVESA/s2dm/blob/main/pyproject.toml) +{{< /callout >}} diff --git a/docs-gen/content/docs/tools/_index.md b/docs-gen/content/docs/tools/_index.md index f895cbc8..d65f8223 100644 --- a/docs-gen/content/docs/tools/_index.md +++ b/docs-gen/content/docs/tools/_index.md @@ -1,6 +1,6 @@ --- title: Tools -weight: 30 +weight: 80 --- Under construction... diff --git a/docs-gen/content/docs/tools/automation.md b/docs-gen/content/docs/tools/automation.md index f01a47e2..dbd1eae9 100644 --- a/docs-gen/content/docs/tools/automation.md +++ b/docs-gen/content/docs/tools/automation.md @@ -1,6 +1,6 @@ --- title: Automation -weight: 2 +weight: 90 chapter: false --- Under construction... diff --git a/docs-gen/content/docs/tools/cli.md b/docs-gen/content/docs/tools/cli.md index 48e6c432..2d9a02cc 100644 --- a/docs-gen/content/docs/tools/cli.md +++ b/docs-gen/content/docs/tools/cli.md @@ -1,6 +1,6 @@ --- title: Command Line Interface (CLI) -weight: 1 +weight: 100 chapter: false --- diff --git a/docs-gen/content/docs/tools/units-cli.md b/docs-gen/content/docs/tools/units-cli.md index 5978f562..9396eec9 100644 --- a/docs-gen/content/docs/tools/units-cli.md +++ b/docs-gen/content/docs/tools/units-cli.md @@ -1,6 +1,6 @@ --- title: Units CLI -weight: 20 +weight: 110 chapter: false --- diff --git a/docs-gen/content/examples/_index.md b/docs-gen/content/examples/_index.md deleted file mode 100644 index 728bbf12..00000000 --- a/docs-gen/content/examples/_index.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Examples -weight: 4 ---- - -Below are some examples of how the Simplified Semantic Data Modeling (`S2DM`) approach can be applied in different areas or use cases. Each example is linked to its corresponding folder in the repository for further exploration. - -## Example Use Cases - -- [Seat domain model](https://github.com/COVESA/s2dm/tree/main/examples/seat-to-vspec): Modeling the `Seat` branch of the Vehicle Signal Specification (VSS). -- [Trailer domain model](https://github.com/COVESA/s2dm/tree/main/examples/trailer): Modeling the `Trailer` of a vehicle. -- [Multiple Classification Schemes](https://github.com/COVESA/s2dm/tree/main/examples/multiple-classification-schemes): Enabling multiple classification schemes using SKOS. -- [Multiple Domains](https://github.com/COVESA/s2dm/tree/main/examples/multiple-domains): Covering cross-references across different domains. -- [Seat Capabilities](https://github.com/COVESA/s2dm/tree/main/examples/seat-capabilities): Specifying possible operations linked to seat-related objects or entities. -- [Specification History Registry](https://github.com/COVESA/s2dm/tree/main/examples/spec-history-registry): Tracking changes and maintaining a registry of specification history. - -## CLI Tool Examples - -- [Version Bump CLI Examples](version-bump-cli): Demonstrating automated version bumping based on GraphQL schema changes using the `s2dm check version-bump` command. - -> If your use case is not covered by the presented examples, feel free to get in touch. If this approach suits your use case, we will add it here. diff --git a/docs-gen/content/examples/examples-introduction/_index.md b/docs-gen/content/examples/examples-introduction/_index.md new file mode 100644 index 00000000..acfcae48 --- /dev/null +++ b/docs-gen/content/examples/examples-introduction/_index.md @@ -0,0 +1,15 @@ +--- +title: "Introduction" +description: "" +summary: "" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +weight: 10 +toc: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/examples/examples-introduction/introduction.md b/docs-gen/content/examples/examples-introduction/introduction.md new file mode 100644 index 00000000..9d77badd --- /dev/null +++ b/docs-gen/content/examples/examples-introduction/introduction.md @@ -0,0 +1,30 @@ +--- +title: Examples +weight: 5 +--- + +Below are some examples of how the Simplified Semantic Data Modeling (`S2DM`) approach can be applied in different areas or use cases. Each example provides comprehensive documentation and interactive visualizations to help you understand the modeling approaches. + +## Use Cases + +Explore real-world applications of S2DM across different domains: + +- **[Seat Domain Model](seat-domain-model/)**: Modeling the `Seat` branch of the Vehicle Signal Specification (VSS) with nested component hierarchies and rich type relationships. + +- **[Trailer Domain Model](trailer-domain-model/)**: Modeling vehicle trailer systems including axles, wheels, and their specifications following automotive standards. + +- **[Multiple Classification Schemes](multiple-classification-schemes/)**: Enabling flexible taxonomy management using SKOS (Simple Knowledge Organization System) for cross-referencing classification systems. + +- **[Multiple Domains](multiple-domains/)**: Handling cross-references across different domains while maintaining clear separation of concerns and modular architecture. + +- **[Seat Capabilities](seat-capabilities/)**: Specifying operational capabilities and commands for seat-related entities, demonstrating capability-based design patterns. + +- **[Specification History Registry](specification-history-registry/)**: Tracking changes and maintaining version history of specification evolution with automated change analysis. + +## CLI Tool Examples + +- [Version Bump CLI Examples](version-bump-cli): Demonstrating automated version bumping based on GraphQL schema changes using the `s2dm check version-bump` command. + +--- + +> If your use case is not covered by the presented examples, feel free to get in touch. If this approach suits your use case, we will add it here. diff --git a/docs-gen/content/examples/multiple-classification-schemes/_index.md b/docs-gen/content/examples/multiple-classification-schemes/_index.md new file mode 100644 index 00000000..6bb41de5 --- /dev/null +++ b/docs-gen/content/examples/multiple-classification-schemes/_index.md @@ -0,0 +1,17 @@ +--- +title: "Multiple Classification Schemes" +description: "" +summary: "" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +weight: 50 +toc: true +sidebar: + collapsed: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/examples/multiple-classification-schemes/multiple-classification-schemes.md b/docs-gen/content/examples/multiple-classification-schemes/multiple-classification-schemes.md new file mode 100644 index 00000000..e87aa053 --- /dev/null +++ b/docs-gen/content/examples/multiple-classification-schemes/multiple-classification-schemes.md @@ -0,0 +1,19 @@ +--- +title: "Multiple Classification Schemes" +description: "Enabling multiple classification schemes using SKOS" +weight: 30 +--- + +This example demonstrates how **S2DM** enables multiple classification schemes using **SKOS** (Simple Knowledge Organization System). The approach allows for flexible taxonomy management and cross-referencing between different classification systems. + +## Overview + +The multiple classification schemes example showcases: +- SKOS-based taxonomy management +- Cross-referencing between classification systems +- Flexible vocabulary organization +- Semantic relationships between concepts + +## Repository Link + +For implementation details and source files, visit the [multiple-classification-schemes example](https://github.com/COVESA/s2dm/tree/main/examples/multiple-classification-schemes) in the repository. diff --git a/docs-gen/content/examples/multiple-domains/_index.md b/docs-gen/content/examples/multiple-domains/_index.md new file mode 100644 index 00000000..c818aeb8 --- /dev/null +++ b/docs-gen/content/examples/multiple-domains/_index.md @@ -0,0 +1,17 @@ +--- +title: "Multiple Domains" +description: "" +summary: "" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +weight: 50 +toc: true +sidebar: + collapsed: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/examples/multiple-domains/multiple-domains.md b/docs-gen/content/examples/multiple-domains/multiple-domains.md new file mode 100644 index 00000000..ffc5836f --- /dev/null +++ b/docs-gen/content/examples/multiple-domains/multiple-domains.md @@ -0,0 +1,45 @@ +--- +title: "Multiple Domains" +description: "Covering cross-references across different domains" +weight: 40 +--- + +This example demonstrates how **S2DM** handles cross-references across different domains. The approach enables modeling complex systems that span multiple domain boundaries while maintaining clear separation of concerns. + +```graphql +type Person { + name: String! +} + +type DrivingJourney { + vehicle: Vehicle! + occupants: [SeatOccupancy] +} + +type SeatOccupancy { + occupant: Person! + seat: Seat! +} + +extend type Vehicle { + journeyHistory: [DrivingJourney!] + chargingHistory: [ChargingSession!] +} + +type ChargingSession { + vehicle: Vehicle! + paidBy: Person + chargingStation: chargingStation +} + +type chargingStation { + id: ID! + # etc... +} +``` + +## Repository Link + +For implementation details and source files, visit the [multiple-domains example](https://github.com/COVESA/s2dm/tree/main/examples/multiple-domains) in the repository. + +```` diff --git a/docs-gen/content/examples/seat-capabilities/_index.md b/docs-gen/content/examples/seat-capabilities/_index.md new file mode 100644 index 00000000..e5cf5740 --- /dev/null +++ b/docs-gen/content/examples/seat-capabilities/_index.md @@ -0,0 +1,17 @@ +--- +title: "Seat Capabilities" +description: "Specifying operational capabilities and commands for seat-related entities" +summary: "" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +weight: 50 +toc: true +sidebar: + collapsed: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/examples/seat-capabilities/seat-capabilities.md b/docs-gen/content/examples/seat-capabilities/seat-capabilities.md new file mode 100644 index 00000000..ec363250 --- /dev/null +++ b/docs-gen/content/examples/seat-capabilities/seat-capabilities.md @@ -0,0 +1,19 @@ +--- +title: "Seat Capabilities" +description: "Specifying operational capabilities and commands for seat-related entities" +weight: 10 +--- + +This example demonstrates how **S2DM** specifies operational capabilities and commands for seat-related entities. The approach showcases capability-based design patterns for automotive seat systems. + +## Overview + +The seat capabilities example showcases: +- Capability-based design patterns +- Command and operation modeling +- Seat system operational specifications +- Behavioral modeling for automotive components + +## Repository Link + +For implementation details and source files, visit the [seat-capabilities example](https://github.com/COVESA/s2dm/tree/main/examples/seat-capabilities) in the repository. diff --git a/docs-gen/content/examples/seat-domain-model/_index.md b/docs-gen/content/examples/seat-domain-model/_index.md new file mode 100644 index 00000000..bcdbbf61 --- /dev/null +++ b/docs-gen/content/examples/seat-domain-model/_index.md @@ -0,0 +1,17 @@ +--- +title: "Seat Domain Model" +description: "Modeling the Seat branch of the Vehicle Signal Specification (VSS)" +summary: "" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +weight: 10 +toc: true +sidebar: + collapsed: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/examples/seat-domain-model/graphql-voyager.md b/docs-gen/content/examples/seat-domain-model/graphql-voyager.md new file mode 100644 index 00000000..1cd82a5c --- /dev/null +++ b/docs-gen/content/examples/seat-domain-model/graphql-voyager.md @@ -0,0 +1,17 @@ +--- +title: "GraphQL Voyager" +description: "Interactive GraphQL Voyager visualization of the seat domain model" +layout: fullwidth +toc: false +weight: 20 +--- + +Explore the seat capabilities domain model through an interactive [GraphQL Voyager](https://github.com/graphql-kit/graphql-voyager) visualization. This comprehensive schema, derived from the [Vehicle Signal Specification (VSS)](https://covesa.github.io/vehicle_signal_specification/) `Seat` branch, demonstrates how **S2DM** effectively models complex automotive domain relationships including nested components (backrest, headrest, seating), enumerated values, and rich type relationships. + +{{< callout type="tip" >}} +**Usage:** Click and drag to navigate • Click types for details • Use the sidebar to search and explore documentation • Zoom with mouse wheel for different perspectives. +{{< /callout >}} + +--- + +{{< graphql-voyager-builtin schema="/examples/seat-to-vspec/full_sdl.graphql" height="1000px" title="Seat Capabilities Domain Model" hideDocs="false" hideSettings="false" hideVoyagerLogo="true" showLeafFields="true" skipRelay="true" skipDeprecated="true" >}} diff --git a/docs-gen/content/examples/seat-domain-model/schema-documentation.md b/docs-gen/content/examples/seat-domain-model/schema-documentation.md new file mode 100644 index 00000000..47b80df2 --- /dev/null +++ b/docs-gen/content/examples/seat-domain-model/schema-documentation.md @@ -0,0 +1,15 @@ +--- +title: "Schema Documentation" +description: "GraphQL schema documentation for the seat domain model" +layout: fullwidth +weight: 25 +--- + +The seat domain model schema is available for analysis and understanding. The GraphQL schema defines the complete structure of seat-related data types, relationships, and capabilities as defined in the Vehicle Signal Specification (VSS). + +{{< callout type="info" >}} +**Usage:** Click on any type or field in the interactive documentation to explore relationships, view field definitions, and understand the schema structure. +{{< /callout >}} + +### SpectaQL Documentation + diff --git a/docs-gen/content/examples/seat-domain-model/seat-domain-model.md b/docs-gen/content/examples/seat-domain-model/seat-domain-model.md new file mode 100644 index 00000000..6449f4d2 --- /dev/null +++ b/docs-gen/content/examples/seat-domain-model/seat-domain-model.md @@ -0,0 +1,25 @@ +--- +title: "Seat Domain Model" +description: "Modeling the Seat branch of the Vehicle Signal Specification (VSS)" +weight: 10 +--- + +This example demonstrates how **S2DM** models the `Seat` branch of the Vehicle Signal Specification (VSS). The domain model captures the complex relationships between seat components including backrest, headrest, seating surfaces, and their various capabilities. + +## Overview + +The seat domain model showcases: +- Nested component hierarchies (backrest, headrest, seating) +- Enumerated values for seat positions and capabilities +- Rich type relationships and data modeling +- Complex automotive domain relationships + +## Repository Link + +For implementation details and source files, visit the [seat-to-vspec example](https://github.com/COVESA/s2dm/tree/main/examples/seat-to-vspec) in the repository. + +## Interactive Exploration + +Explore the domain model through: +- [GraphQL Voyager](graphql-voyager/) - Interactive GraphQL schema visualization +- [Schema Documentation](schema-documentation/) - Comprehensive GraphQL schema documentation diff --git a/docs-gen/content/examples/specification-history-registry/_index.md b/docs-gen/content/examples/specification-history-registry/_index.md new file mode 100644 index 00000000..b2668a04 --- /dev/null +++ b/docs-gen/content/examples/specification-history-registry/_index.md @@ -0,0 +1,17 @@ +--- +title: "Specification History Registry" +description: "Tracking changes and maintaining a registry of specification history" +summary: "" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +weight: 60 +toc: true +sidebar: + collapsed: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/examples/specification-history-registry/specification-history-registry.md b/docs-gen/content/examples/specification-history-registry/specification-history-registry.md new file mode 100644 index 00000000..f7f6a9f8 --- /dev/null +++ b/docs-gen/content/examples/specification-history-registry/specification-history-registry.md @@ -0,0 +1,19 @@ +--- +title: "Specification History Registry" +description: "Tracking changes and maintaining a registry of specification history" +weight: 60 +--- + +This example demonstrates how **S2DM** tracks changes and maintains a registry of specification history. The approach enables version management, change tracking, and historical analysis of domain model evolution. + +## Overview + +The specification history registry example showcases: +- Version management and tracking +- Change detection and analysis +- Historical specification registry +- Evolution pattern documentation + +## Repository Link + +For implementation details and source files, visit the [spec-history-registry example](https://github.com/COVESA/s2dm/tree/main/examples/spec-history-registry) in the repository. diff --git a/docs-gen/content/examples/trailer-domain-model/_index.md b/docs-gen/content/examples/trailer-domain-model/_index.md new file mode 100644 index 00000000..dc6a7b86 --- /dev/null +++ b/docs-gen/content/examples/trailer-domain-model/_index.md @@ -0,0 +1,17 @@ +--- +title: "Trailer Domain Model" +description: "Modeling the Trailer branch of a vehicle system" +summary: "" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +weight: 30 +toc: true +sidebar: + collapsed: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/examples/trailer-domain-model/graphql-voyager.md b/docs-gen/content/examples/trailer-domain-model/graphql-voyager.md new file mode 100644 index 00000000..18f2db29 --- /dev/null +++ b/docs-gen/content/examples/trailer-domain-model/graphql-voyager.md @@ -0,0 +1,17 @@ +--- +title: "GraphQL Voyager" +description: "Interactive GraphQL Voyager visualization of the trailer domain model" +layout: fullwidth +toc: false +weight: 40 +--- + +Explore the trailer domain model through an interactive [GraphQL Voyager](https://github.com/graphql-kit/graphql-voyager) visualization. This comprehensive schema is derived from the [Vehicle Signal Specification (VSS)](https://covesa.github.io/vehicle_signal_specification/) `Trailer` branch. + +{{< callout type="tip" >}} +**Usage:** Click and drag to navigate • Click types for details • Use the sidebar to search and explore documentation • Zoom with mouse wheel for different perspectives. +{{< /callout >}} + +--- + +{{< graphql-voyager-builtin schema="/examples/trailer/full_schema.graphql" height="1000px" title="Trailer Capabilities Domain Model" hideDocs="false" hideSettings="false" hideVoyagerLogo="true" showLeafFields="true" skipRelay="true" skipDeprecated="true" >}} diff --git a/docs-gen/content/examples/trailer-domain-model/trailer-domain-model.md b/docs-gen/content/examples/trailer-domain-model/trailer-domain-model.md new file mode 100644 index 00000000..ebd4438e --- /dev/null +++ b/docs-gen/content/examples/trailer-domain-model/trailer-domain-model.md @@ -0,0 +1,24 @@ +--- +title: "Trailer Domain Model" +description: "Modeling the Trailer branch of a vehicle system" +weight: 35 +--- + +This example demonstrates how **S2DM** models the `Trailer` domain of a vehicle system. The domain model captures the relationships between trailer components including axles, wheels, and their various properties and capabilities. + +## Overview + +The trailer domain model showcases: +- Vehicle trailer system modeling +- Axle and wheel component relationships +- Complex automotive trailer specifications +- Hierarchical component structures + +## Repository Link + +For implementation details and source files, visit the [trailer example](https://github.com/COVESA/s2dm/tree/main/examples/trailer) in the repository. + +## Interactive Exploration + +Explore the domain model through: +- [GraphQL Voyager](graphql-voyager/) - Interactive GraphQL schema visualization diff --git a/docs-gen/content/examples/version-bump-cli/_index.md b/docs-gen/content/examples/version-bump-cli/_index.md new file mode 100644 index 00000000..458df381 --- /dev/null +++ b/docs-gen/content/examples/version-bump-cli/_index.md @@ -0,0 +1,17 @@ +--- +title: "Version Bump CLI Examples" +description: "Demonstrating automated version bumping based on GraphQL schema changes" +summary: "" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +weight: 90 +toc: true +sidebar: + collapsed: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/content/examples/version-bump-cli.md b/docs-gen/content/examples/version-bump-cli/version-bump-cli.md similarity index 96% rename from docs-gen/content/examples/version-bump-cli.md rename to docs-gen/content/examples/version-bump-cli/version-bump-cli.md index b797944d..ad4aafb2 100644 --- a/docs-gen/content/examples/version-bump-cli.md +++ b/docs-gen/content/examples/version-bump-cli/version-bump-cli.md @@ -1,6 +1,7 @@ --- -title: Version Bump CLI Examples -weight: 60 +title: "Version Bump CLI Examples" +description: "Demonstrating automated version bumping based on GraphQL schema changes" +weight: 90 --- This section contains examples demonstrating different scenarios for the `s2dm check version-bump` command, based on GraphQL Inspector's change detection. diff --git a/docs-gen/.hugo_build.lock b/docs-gen/content/test.md similarity index 100% rename from docs-gen/.hugo_build.lock rename to docs-gen/content/test.md diff --git a/docs-gen/layouts/_default/index.searchindex.json b/docs-gen/layouts/_default/index.searchindex.json deleted file mode 100644 index b33faa5e..00000000 --- a/docs-gen/layouts/_default/index.searchindex.json +++ /dev/null @@ -1,32 +0,0 @@ -{{- $pages := where .Site.RegularPages "Kind" "page" -}} -{{- $searchExclKinds := .Site.Params.doks.searchExclKinds | default slice -}} -{{- $searchExclTypes := .Site.Params.doks.searchExclTypes | default slice -}} -{{- $showSearch := .Site.Params.doks.showSearch | default slice -}} -{{- $indexSummary := .Site.Params.doks.indexSummary | default false -}} - -{{- if gt (len $showSearch) 0 -}} - {{- $pages = where $pages "Section" "in" $showSearch -}} -{{- end -}} - -{{- if gt (len $searchExclKinds) 0 -}} - {{- $pages = where $pages "Kind" "not in" $searchExclKinds -}} -{{- end -}} - -{{- if gt (len $searchExclTypes) 0 -}} - {{- $pages = where $pages "Type" "not in" $searchExclTypes -}} -{{- end -}} - -[ -{{- range $index, $page := $pages -}} - {{- if gt $index 0 }},{{ end }} - { - "id": {{ $index }}, - "title": {{ $page.Title | jsonify }}, - "permalink": {{ $page.RelPermalink | jsonify }}, - "summary": {{ if $indexSummary }}{{ $page.Summary | plainify | jsonify }}{{ else }}{{ $page.Summary | plainify | jsonify }}{{ end }}, - "content": {{ if $indexSummary }}{{ $page.Summary | plainify | jsonify }}{{ else }}{{ $page.Content | plainify | jsonify }}{{ end }}, - "date": {{ $page.Date.Format "2006-01-02" | jsonify }}, - "tags": {{ $page.Params.tags | jsonify }} - } -{{- end -}} -] diff --git a/docs-gen/layouts/_default/single.html b/docs-gen/layouts/_default/single.html deleted file mode 100644 index 073f69c8..00000000 --- a/docs-gen/layouts/_default/single.html +++ /dev/null @@ -1,66 +0,0 @@ -{{ define "main" }} -
- {{ if (in site.Params.doks.sectionNav .Section) -}} -
- {{ partial "sidebar/section-menu.html" . }} -
- {{ end -}} - {{ if and (eq site.Params.doks.containerBreakpoint "fluid") (in .Site.Params.mainSections .Type) }} -
- {{ end }} - {{ if ne .Params.toc false -}} - - {{ end -}} - {{ if .Params.toc -}} -
- {{ else -}} -
- {{ end -}} - {{ if site.Params.doks.breadcrumbTrail -}} - - - {{ end }} - - - {{ if ne .Params.toc false -}} - - {{ end -}} - - {{ if site.Params.doks.headlineHash -}} - {{ partial "main/headline-hash" .Content }} - {{ else -}} - {{ .Content }} - {{ end -}} - - {{ partial "main/docs-navigation.html" . }} - -
- {{ if and (eq site.Params.doks.containerBreakpoint "fluid") (in .Site.Params.mainSections .Type) }} -
- {{ end }} -
-{{ end }} diff --git a/docs-gen/layouts/_partials/footer/script-footer-custom.html b/docs-gen/layouts/_partials/footer/script-footer-custom.html new file mode 100644 index 00000000..d570e83e --- /dev/null +++ b/docs-gen/layouts/_partials/footer/script-footer-custom.html @@ -0,0 +1,13 @@ +{{/* Put your custom tags here */}} + +{{/* EXAMPLE - only load script for production +{{ if eq (hugo.Environment) "production" -}} + {{ partial "footer/esbuild" (dict "src" "js/instantpage.js" "load" "async" "transpile" false) -}} +{{ end -}} +*/}} + +{{/* EXAMPLE - only load script for a page type e.g. contact or gallery +{{ if eq .Type "gallery" -}} + {{ partial "footer/esbuild" (dict "src" "js/gallery.js" "load" "async" "transpile" false) -}} +{{ end -}} +*/}} diff --git a/docs-gen/layouts/_partials/head/custom-head.html b/docs-gen/layouts/_partials/head/custom-head.html new file mode 100644 index 00000000..edf523dc --- /dev/null +++ b/docs-gen/layouts/_partials/head/custom-head.html @@ -0,0 +1,62 @@ + + + +{{ if (findRE "graphql-voyager" .RawContent) }} + + + + + + + + + + + +{{ end }} diff --git a/docs-gen/layouts/_partials/head/script-header.html b/docs-gen/layouts/_partials/head/script-header.html new file mode 100644 index 00000000..ae068e30 --- /dev/null +++ b/docs-gen/layouts/_partials/head/script-header.html @@ -0,0 +1 @@ + diff --git a/docs-gen/layouts/_partials/sidebar/docs-toc-desktop.html b/docs-gen/layouts/_partials/sidebar/docs-toc-desktop.html new file mode 100644 index 00000000..a12fc31d --- /dev/null +++ b/docs-gen/layouts/_partials/sidebar/docs-toc-desktop.html @@ -0,0 +1,20 @@ + diff --git a/docs-gen/layouts/_partials/sidebar/graphql-voyager-assets.html b/docs-gen/layouts/_partials/sidebar/graphql-voyager-assets.html new file mode 100644 index 00000000..eda981b1 --- /dev/null +++ b/docs-gen/layouts/_partials/sidebar/graphql-voyager-assets.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + diff --git a/docs-gen/layouts/index.html b/docs-gen/layouts/home.html similarity index 88% rename from docs-gen/layouts/index.html rename to docs-gen/layouts/home.html index 32804990..20722b2c 100644 --- a/docs-gen/layouts/index.html +++ b/docs-gen/layouts/home.html @@ -1,129 +1,129 @@ -{{ define "main" }} - - - - -
-
-
-

{{ .Title }}

-
-
-

{{ .Params.lead | safeHTML }}

- Get Started -
-
-
- - -
-
-
-
-

Why S2DM?

-
-
-
-
-
- -

Simple

-

Any Subject Matter Expert can contribute to controlled vocabularies with minimal data modeling expertise.

-
-
-
-
- -

Semantic

-

Specifies meaningful data structures, cross-domain relationships, and arbitrary classification schemes.

-
-
-
-
- -

Interoperable

-

Built on GraphQL SDL and SKOS standards for maximum compatibility and reusability.

-
-
-
-
-
- - -
-
-
-
- {{ .Content }} -
-
-
-
- - - -{{ end }} - -{{ define "sidebar-prefooter" }} - {{ if site.Params.doks.backgroundDots -}} -
-
-
- {{ end -}} - -
-
-
-
-

S2DM Approach

-

Get a basic understanding of the S2DM approach for modeling data across multiple domains with minimal expertise required.

- Learn More -
-
-

Data Modeling Guideline

-

Follow our comprehensive guideline to model your domain using S2DM principles and best practices.

- View Guide -
-
-

S2DM Tools

-

Maintain your domain model with the support of our provided S2DM tools and automation utilities.

- Explore Tools -
-
-
-
-{{ end }} - -{{ define "sidebar-footer" }} - {{ if site.Params.doks.sectionFooter -}} -
-
-
-

Start modeling your data semantically today!

-

S2DM enables Subject Matter Experts to contribute to controlled vocabularies with minimal data modeling expertise.

- Get Started -
-
-
- {{ end -}} - - -
-
-
-
- COVESA Logo -
-
-
-
-{{ end }} +{{ define "main" }} + + + + +
+
+
+

{{ .Title }}

+
+
+

{{ .Params.lead | safeHTML }}

+ Get Started +
+
+
+ + +
+
+
+
+

Why S2DM?

+
+
+
+
+
+ +

Simple

+

Any Subject Matter Expert can contribute to controlled vocabularies with minimal data modeling expertise.

+
+
+
+
+ +

Semantic

+

Specifies meaningful data structures, cross-domain relationships, and arbitrary classification schemes.

+
+
+
+
+ +

Interoperable

+

Built on GraphQL SDL and SKOS standards for maximum compatibility and reusability.

+
+
+
+
+
+ + +
+
+
+
+ {{ .Content }} +
+
+
+
+ + + +{{ end }} + +{{ define "sidebar-prefooter" }} + {{ if site.Params.doks.backgroundDots -}} +
+
+
+ {{ end -}} + +
+
+
+
+

S2DM Approach

+

Get a basic understanding of the S2DM approach for modeling data across multiple domains with minimal expertise required.

+ Learn More +
+
+

Data Modeling Guideline

+

Follow our comprehensive guideline to model your domain using S2DM principles and best practices.

+ View Guide +
+
+

S2DM Tools

+

Maintain your domain model with the support of our provided S2DM tools and automation utilities.

+ Explore Tools +
+
+
+
+{{ end }} + +{{ define "sidebar-footer" }} + {{ if site.Params.doks.sectionFooter -}} +
+
+
+

Start modeling your data semantically today!

+

S2DM enables Subject Matter Experts to contribute to controlled vocabularies with minimal data modeling expertise.

+ Get Started +
+
+
+ {{ end -}} + + +
+
+
+
+ COVESA Logo +
+
+
+
+{{ end }} diff --git a/docs-gen/layouts/partials/footer/esbuild-template.html b/docs-gen/layouts/partials/footer/esbuild-template.html deleted file mode 100644 index e92ed49a..00000000 --- a/docs-gen/layouts/partials/footer/esbuild-template.html +++ /dev/null @@ -1,98 +0,0 @@ -{{- /* ESBUILD.HTML - Build javascript modules with esbuild - * Simple Usage: {{ partial "esbuild" "js/file.js" }} - * Simple Usage: {{ partial "esbuild" (dict "src" "js/file.js" "load" "defer/async" "babel" true ) }} - * Parameters: - * src - javascript file to build, relative to assets folder. Must include file extension can be .js or .ts - * load - can set to "defer" or "async" defaults to null. - * babel - set to true to transpile your js using babel. Note: all js is lowered to es6 by default. - * for babel you must have the required babel dependencies installed , and configured - * see hugo babel doc https://gohugo.io/hugo-pipes/babel - * use the babel option if esbuild can't handle lowering your es6+ code, or you wish to go lower than es6 - * for unsupported es6+ syntax see - * https://esbuild.github.io/content-types/#javascript - * - * example for checking hugo env from js file - * - * import * as params from '@params'; - * - * if (params.env === 'development') { - * console.log('hugo deveolopment environment') - * } else { - * console.log('hugo production environment') - * } - * - * ----------------------------------------------------------------*/ -}} -{{- /* get source from . or .src and fetch resource */ -}} -{{- $src := . -}} -{{- if not $src -}} - {{- errorf `You must provide a source as the partial context, or (dict .src "path")` -}} -{{- end -}} - -{{- /* set .load only if valid option provided in dict */ -}} -{{- $load := "" -}} - -{{- /* set .babel only if provided in dict */ -}} -{{- $babel := false -}} - -{{- /* check for dict */ -}} -{{- if reflect.IsMap . -}} - {{- with .src -}} - {{- $src = . -}} - {{- else -}} - {{- errorf "as you are providing params as a dict, you must provide the source file as .src" -}} - {{- end -}} - {{- with .load -}} - {{- $loadOpts := slice "async" "defer" -}} - {{- if not (in $loadOpts . ) -}} - {{- errorf "Invalid .load %q for file /assets/%s - valid options are %s." . $src (delimit $loadOpts ", " " and " ) -}} - {{- end -}} - {{- $load = . }} - {{- end -}} - {{- with .babel -}} - {{- if eq . true -}} - {{- $babel = true -}} - {{- else -}} - {{- errorf "Invalid .babel option of %q. The only valid option is true" . -}} - {{- end -}} - {{- end -}} -{{ end }} - -{{- /* get the resource from .src path */ -}} -{{- $resource := resources.Get $src -}} - -{{- /* if resources.Get fails */ -}} -{{- if not $resource }} - {{- errorf "No js resource found at /assets/%s" $src -}} -{{- end -}} - -{{- /* pass hugo env to the js file as a param */ -}} -{{- $paramsDefault := (dict "env" hugo.Environment) -}} -{{- $params := "" -}} -{{- with .params -}} - {{- $params = merge $paramsDefault . -}} -{{- else -}} - {{- $params = $paramsDefault -}} -{{- end -}} -{{- $resource = $resource | resources.ExecuteAsTemplate $src . -}} - -{{- /* standard production configuration for es build */ -}} -{{- $jsConfig := (dict "target" "es2015" "minify" "true" "params" $params) }} - -{{- /* is .babelEs6 is set to true - use babel to lower to es6 */ -}} -{{- $js := $resource -}} -{{- if $babel -}} - {{- $babelConfig := (dict "noComments" true "minified" true "config" "config/babel.module.config.js") -}} - {{- $js = $js | js.Build $jsConfig | babel $babelConfig | fingerprint -}} -{{- else if eq (hugo.Environment) "development" -}} - {{- $jsConfig = (dict "sourceMap" "inline" "target" "es2015" "params" $params) -}} - {{- $js = $js | js.Build $jsConfig | fingerprint -}} -{{- else -}} - {{- $js = $js | js.Build $jsConfig | fingerprint -}} -{{- end -}} - -{{- $filename := path.Base $js.RelPermalink -}} -{{- $jsPath := printf "/js/%s" $filename | relURL -}} - diff --git a/docs-gen/layouts/partials/footer/esbuild.html b/docs-gen/layouts/partials/footer/esbuild.html deleted file mode 100644 index aabdd2a1..00000000 --- a/docs-gen/layouts/partials/footer/esbuild.html +++ /dev/null @@ -1,97 +0,0 @@ -{{- /* ESBUILD.HTML - Build javascript modules with esbuild - * Simple Usage: {{ partial "esbuild" "js/file.js" }} - * Simple Usage: {{ partial "esbuild" (dict "src" "js/file.js" "load" "defer/async" "babel" true ) }} - * Parameters: - * src - javascript file to build, relative to assets folder. Must include file extension can be .js or .ts - * load - can set to "defer" or "async" defaults to null. - * babel - set to true to transpile your js using babel. Note: all js is lowered to es6 by default. - * for babel you must have the required babel dependencies installed , and configured - * see hugo babel doc https://gohugo.io/hugo-pipes/babel - * use the babel option if esbuild can't handle lowering your es6+ code, or you wish to go lower than es6 - * for unsupported es6+ syntax see - * https://esbuild.github.io/content-types/#javascript - * - * example for checking hugo env from js file - * - * import * as params from '@params'; - * - * if (params.env === 'development') { - * console.log('hugo deveolopment environment') - * } else { - * console.log('hugo production environment') - * } - * - * ----------------------------------------------------------------*/ -}} -{{- /* get source from . or .src and fetch resource */ -}} -{{- $src := . -}} -{{- if not $src -}} - {{- errorf `You must provide a source as the partial context, or (dict .src "path")` -}} -{{- end -}} - -{{- /* set .load only if valid option provided in dict */ -}} -{{- $load := "" -}} - -{{- /* set .babel only if provided in dict */ -}} -{{- $babel := false -}} - -{{- /* check for dict */ -}} -{{- if reflect.IsMap . -}} - {{- with .src -}} - {{- $src = . -}} - {{- else -}} - {{- errorf "as you are providing params as a dict, you must provide the source file as .src" -}} - {{- end -}} - {{- with .load -}} - {{- $loadOpts := slice "async" "defer" -}} - {{- if not (in $loadOpts . ) -}} - {{- errorf "Invalid .load %q for file /assets/%s - valid options are %s." . $src (delimit $loadOpts ", " " and " ) -}} - {{- end -}} - {{- $load = . }} - {{- end -}} - {{- with .babel -}} - {{- if eq . true -}} - {{- $babel = true -}} - {{- else -}} - {{- errorf "Invalid .babel option of %q. The only valid option is true" . -}} - {{- end -}} - {{- end -}} -{{ end }} - -{{- /* get the resource from .src path */ -}} -{{- $resource := resources.Get $src -}} - -{{- /* if resources.Get fails */ -}} -{{- if not $resource }} - {{- errorf "No js resource found at /assets/%s" $src -}} -{{- end -}} - -{{- /* pass hugo env to the js file as a param */ -}} -{{- $paramsDefault := (dict "env" hugo.Environment) -}} -{{- $params := "" -}} -{{- with .params -}} - {{- $params = merge $paramsDefault . -}} -{{- else -}} - {{- $params = $paramsDefault -}} -{{- end -}} - -{{- /* standard production configuration for es build */ -}} -{{- $jsConfig := (dict "target" "es2015" "minify" "true" "params" $params) }} -{{- $js := $resource -}} - -{{- /* is .babelEs6 is set to true - use babel to lower to es6 */ -}} -{{- if $babel -}} - {{- $babelConfig := (dict "noComments" true "minified" true "config" "config/babel.module.config.js") -}} - {{- $js = $js | js.Build $jsConfig | babel $babelConfig | fingerprint -}} -{{- else if eq (hugo.Environment) "development" -}} - {{- $jsConfig = (dict "sourceMap" "inline" "target" "es2015" "params" $params) -}} - {{- $js = $js | js.Build $jsConfig | fingerprint -}} -{{- else -}} - {{- $js = $js | js.Build $jsConfig | fingerprint -}} -{{- end -}} - -{{- $filename := path.Base $js.RelPermalink -}} -{{- $jsPath := printf "/js/%s" $filename | relURL -}} - diff --git a/docs-gen/layouts/partials/footer/footer.html b/docs-gen/layouts/partials/footer/footer.html deleted file mode 100644 index e69de29b..00000000 diff --git a/docs-gen/layouts/partials/footer/script-footer.html b/docs-gen/layouts/partials/footer/script-footer.html deleted file mode 100644 index e69de29b..00000000 diff --git a/docs-gen/layouts/partials/head/custom-head.html b/docs-gen/layouts/partials/head/custom-head.html deleted file mode 100644 index d916bd00..00000000 --- a/docs-gen/layouts/partials/head/custom-head.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - diff --git a/docs-gen/layouts/partials/head/libsass.html b/docs-gen/layouts/partials/head/libsass.html deleted file mode 100644 index 20fc4d95..00000000 --- a/docs-gen/layouts/partials/head/libsass.html +++ /dev/null @@ -1,9 +0,0 @@ -{{ $css := "" }} -{{ if eq (hugo.Environment) "development" -}} - {{ $options := (dict "targetPath" "main.css" "transpiler" "libsass" "enableSourceMap" true "includePaths" (slice "node_modules")) -}} - {{ $css = resources.Get . | toCSS $options | resources.Fingerprint "sha512" -}} -{{ else -}} - {{ $options := (dict "targetPath" "main.css" "transpiler" "libsass" "outputStyle" "compressed" "includePaths" (slice "node_modules")) -}} - {{ $css = resources.Get . | toCSS $options | postCSS (dict "config" "config/postcss.config.js") | resources.Fingerprint "sha512" | resources.PostProcess -}} -{{ end -}} - diff --git a/docs-gen/layouts/partials/head/search-config.html b/docs-gen/layouts/partials/head/search-config.html deleted file mode 100644 index 9604dc8e..00000000 --- a/docs-gen/layouts/partials/head/search-config.html +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/docs-gen/layouts/partials/header/header.html b/docs-gen/layouts/partials/header/header.html deleted file mode 100644 index 9273957e..00000000 --- a/docs-gen/layouts/partials/header/header.html +++ /dev/null @@ -1,279 +0,0 @@ -{{ if site.Params.doks.alert -}} - {{ partial "header/alert.html" . }} -{{ end -}} - -{{ if site.Params.doks.navbarSticky -}} -
-{{ end -}} - -{{ if site.Params.doks.headerBar -}} -
-{{ end -}} - - -{{ if site.Params.doks.navbarSticky -}} -
-{{ end -}} - - -{{ if site.Params.doks.flexSearch -}} -{{ partial "header/search-modal" . }} -{{ end -}} diff --git a/docs-gen/layouts/partials/seo/favicons.html b/docs-gen/layouts/partials/seo/favicons.html deleted file mode 100644 index 0f38ed84..00000000 --- a/docs-gen/layouts/partials/seo/favicons.html +++ /dev/null @@ -1,76 +0,0 @@ -{{- $sizes := slice - (dict "size" "180x180" "rel" "apple-touch-icon") - (dict "size" "192x192") - (dict "size" "512x512") -}} -{{/* Favicon generator */}} -{{- $faviconName := default "favicon.png" .Site.Params.seo.favicons.icon }} -{{- $svgIconName := default "favicon.svg" .Site.Params.seo.favicons.svgIcon }} -{{- $favicon := resources.Get $faviconName }} -{{- $svgIco := resources.Get $svgIconName }} -{{- with $favicon }} - {{- if ne .MediaType.MainType "image" }} - {{- warnf "[Hyas SEO] the assets/%s isn't an image, media type: %s." $faviconName .MediaType.Type }} - {{- else if in (slice "svg") .MediaType.SubType }} - {{- warnf "[Hyas SEO] the assets/%s isn't resizable." $faviconName }} - {{- else }} - {{/* favicon.ico */}} - {{- $ico := $favicon.Resize "32x32" }} - {{- $ico = $ico.Content | resources.FromString "/favicon.ico" }} - - {{/* SVG favicon */}} - {{- with $svgIco }} - {{- $svg := . | resources.Copy ("/favicon.svg" | relURL) }} - - {{- end }} - {{/* other favicons */}} - {{- range $sizes}} - {{- $iconName := printf "/favicon-%s" .size }} - {{- with .rel }}{{ $iconName = . }}{{ end }} - {{- $img := $favicon.Resize .size | resources.Copy (printf "%s%s" $iconName (path.Ext $favicon.Name) | relURL) }} - - {{- end }} - {{- end }} -{{- else }} - {{- warnf "[Hyas SEO] assets/%s does not exist. Add a file that's at least 512x512 pixels." $faviconName }} -{{- end }} - -{{- /* Generate manifest icon resources outside template string */}} -{{- $favicon192 := "" }} -{{- $favicon512 := "" }} -{{- with $favicon }} - {{- $favicon192 = $favicon.Resize "192x192" | resources.Copy "/favicon-192x192.png" }} - {{- $favicon512 = $favicon.Resize "512x512" | resources.Copy "/favicon-512x512.png" }} -{{- end }} - -{{- $templ := ` -{ - "name": "{{ site.Title }}", - "short_name": "{{ site.Title }}", - "lang": "{{ site.LanguageCode | default "en-us" }}", - "icons": [ - { - "src": "/favicon-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/favicon-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone", - "start_url": "{{ site.Home.RelPermalink }}" -} -` }} -{{- $targetPath := "/manifest.webmanifest" }} -{{- $res := $templ | resources.FromString $targetPath | resources.ExecuteAsTemplate $targetPath . }} - diff --git a/docs-gen/layouts/partials/sidebar/feedback.html b/docs-gen/layouts/partials/sidebar/feedback.html deleted file mode 100644 index f21f9806..00000000 --- a/docs-gen/layouts/partials/sidebar/feedback.html +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/docs-gen/layouts/partials/sidebar/section-menu.html b/docs-gen/layouts/partials/sidebar/section-menu.html deleted file mode 100644 index 669f1918..00000000 --- a/docs-gen/layouts/partials/sidebar/section-menu.html +++ /dev/null @@ -1,51 +0,0 @@ -{{- $sidebar := printf "sidebar_%s" .Section }} -{{- with index site.Menus $sidebar }} - {{ partial "sidebar/render-section-menu.html" (dict "currentPage" $ "nodes" .) }} -{{- else }} - {{- /* Custom navigation for nested docs structure */ -}} - {{ if eq .Section "docs" }} - {{- /* Show docs subsections in specific order */ -}} - {{ $docsSection := .Site.GetPage "section" "docs" }} - {{ $sectionOrder := slice "approach-overview" "data-modeling-guideline" "tools" }} - - {{ else }} - {{- /* Original logic for other sections */ -}} - {{ $section := (.Site.GetPage "section" .Section) }} - {{ with $section.RegularPages }} - - {{ end }} - {{ end }} -{{- end }} diff --git a/docs-gen/layouts/shortcodes/graphql-voyager-builtin.html b/docs-gen/layouts/shortcodes/graphql-voyager-builtin.html new file mode 100644 index 00000000..b8b14915 --- /dev/null +++ b/docs-gen/layouts/shortcodes/graphql-voyager-builtin.html @@ -0,0 +1,241 @@ +{{/* GraphQL Voyager Shortcode + Parameters: + - schema: path to the GraphQL schema file (relative to static directory) + - height: height of the container (default: 600px) + - title: optional title to display above the visualization + - skipRelay: skip relay-related entities (default: true) + - skipDeprecated: skip deprecated fields (default: true) + - sortByAlphabet: sort fields alphabetically (default: false) + - showLeafFields: show scalar and enum fields (default: true) + - hideRoot: hide the root type (default: false) + - hideDocs: hide the documentation sidebar (default: false) + - hideSettings: hide the settings panel (default: false) + - hideVoyagerLogo: hide the voyager logo (default: true) + - allowToChangeSchema: allow users to change schema (default: false) +*/}} + +{{ $schema := .Get "schema" | default "schema.graphql" }} +{{ $height := .Get "height" | default "600px" }} +{{ $title := .Get "title" }} +{{ $skipRelay := .Get "skipRelay" | default "true" }} +{{ $skipDeprecated := .Get "skipDeprecated" | default "true" }} +{{ $sortByAlphabet := .Get "sortByAlphabet" | default "false" }} +{{ $showLeafFields := .Get "showLeafFields" | default "true" }} +{{ $hideRoot := .Get "hideRoot" | default "false" }} +{{ $hideDocs := .Get "hideDocs" | default "false" }} +{{ $hideSettings := .Get "hideSettings" | default "false" }} +{{ $hideVoyagerLogo := .Get "hideVoyagerLogo" | default "true" }} +{{ $allowToChangeSchema := .Get "allowToChangeSchema" | default "false" }} +{{ $containerClass := .Get "class" | default "graphql-voyager-container" }} + +{{ $containerId := printf "voyager-%d" .Ordinal }} + +
+ {{ if $title }} +

{{ $title }}

+ {{ end }} +
+
+
Loading GraphQL Schema Visualization...
+
+
+
+ + + + diff --git a/docs-gen/layouts/shortcodes/graphql-voyager.html b/docs-gen/layouts/shortcodes/graphql-voyager.html new file mode 100644 index 00000000..0a624fa0 --- /dev/null +++ b/docs-gen/layouts/shortcodes/graphql-voyager.html @@ -0,0 +1,101 @@ +{{- $path := .Get "path" -}} +{{- $height := .Get "height" | default "600px" -}} +{{- $width := .Get "width" | default "100%" -}} + +{{- if not $path -}} + {{- errorf "graphql-voyager shortcode: 'path' parameter is required" -}} +{{- end -}} + +{{- /* Generate a unique ID for this voyager instance */ -}} +{{- $id := printf "voyager-%d" (now.UnixNano) -}} + + + + +
+ + + + + + + diff --git a/docs-gen/layouts/_default/list.html b/docs-gen/layouts/single.html similarity index 75% rename from docs-gen/layouts/_default/list.html rename to docs-gen/layouts/single.html index e83e5357..da3c57a2 100644 --- a/docs-gen/layouts/_default/list.html +++ b/docs-gen/layouts/single.html @@ -1,23 +1,23 @@ {{ define "main" }} -
+ {{ $hasGraphQLVoyager := findRE "graphql-voyager" .RawContent }} +
{{ if (in site.Params.doks.sectionNav .Section) -}} -
+
{{ partial "sidebar/section-menu.html" . }}
{{ end -}} {{ if and (eq site.Params.doks.containerBreakpoint "fluid") (in .Site.Params.mainSections .Type) }} -
+
{{ end }} - {{ if ne .Params.toc false -}} + {{ if and (ne .Params.toc false) (not $hasGraphQLVoyager) -}} {{ end -}} - {{ if .Params.toc -}} -
+ {{ if and (ne .Params.toc false) (not $hasGraphQLVoyager) -}} +
{{ else -}} -
+
{{ end -}} {{ if site.Params.doks.breadcrumbTrail -}} @@ -28,10 +28,11 @@ {{ end }} - {{ if ne .Params.toc false -}} +

{{ .Title }}

+ + {{ if and (ne .Params.toc false) (not $hasGraphQLVoyager) -}} {{ end -}} diff --git a/docs-gen/netlify.toml b/docs-gen/netlify.toml index e0e0167c..d4ca962e 100644 --- a/docs-gen/netlify.toml +++ b/docs-gen/netlify.toml @@ -1,48 +1,35 @@ -[build] - publish = "public" - functions = "functions" - -[build.environment] - NODE_VERSION = "18.16.1" - NPM_VERSION = "9.5.1" - -[context.production] - command = "pnpm build" - -[context.deploy-preview] - command = "pnpm build -- -b $DEPLOY_PRIME_URL" - -[context.branch-deploy] - command = "pnpm build -- -b $DEPLOY_PRIME_URL" - -[context.next] - command = "pnpm build" - -[context.next.environment] - HUGO_ENV = "next" - -[dev] - framework = "#custom" - command = "pnpm dev" - targetPort = 1313 - port = 8888 - publish = "public" - autoLaunch = false - -# Redirects and rewrites — https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file - -# Custom headers — https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file -[[headers]] - for = "/*" - [headers.values] - Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload" - X-Content-Type-Options = "nosniff" - X-XSS-Protection = "1; mode=block" - Content-Security-Policy = "default-src 'self'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' https://avatars.githubusercontent.com data:; script-src 'self' 'nonce-dXNlcj0iaGVsbG8iLGRvbWFpbj0iaGVua3ZlcmxpbmRlLmNvbSIsZG9jdW1lbnQud3JpdGUodXNlcisiQCIrZG9tYWluKTs=' 'sha256-aWZ3y/RxbBYKHXH0z8+8ljrHG1mSBvyzSfxSMjBSaXk='; style-src 'self'" - X-Frame-Options = "SAMEORIGIN" - Referrer-Policy = "strict-origin" - Permissions-Policy = "geolocation=(self), microphone=(), camera=()" - Cache-Control= ''' - public, - max-age=31536000''' - Access-Control-Allow-Origin = "*" +[build] + publish = "public" + functions = "functions" + command = "npm run build" + +[build.environment] + NODE_VERSION = "22.17.0" + NPM_VERSION = "10.9.2" + HUGO_VERSION = "0.148.1" + +[dev] + framework = "#custom" + command = "npm run dev" + targetPort = 1313 + port = 8888 + publish = "public" + autoLaunch = false + +# Redirects and rewrites — https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file + +# Custom headers — https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file +[[headers]] + for = "/*" + [headers.values] + Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload" + X-Content-Type-Options = "nosniff" + X-XSS-Protection = "1; mode=block" + Content-Security-Policy = "default-src 'self'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' https://avatars.githubusercontent.com data:; script-src 'self' 'nonce-dXNlcj0iaGVsbG8iLGRvbWFpbj0iaGVua3ZlcmxpbmRlLmNvbSIsZG9jdW1lbnQud3JpdGUodXNlcisiQCIrZG9tYWluKTs=' 'sha256-aWZ3y/RxbBYKHXH0z8+8ljrHG1mSBvyzSfxSMjBSaXk='; style-src 'self'" + X-Frame-Options = "SAMEORIGIN" + Referrer-Policy = "strict-origin" + Permissions-Policy = "geolocation=(self), microphone=(), camera=()" + Cache-Control= ''' + public, + max-age=31536000''' + Access-Control-Allow-Origin = "*" diff --git a/docs-gen/package-lock.json b/docs-gen/package-lock.json index ee61fdb3..4a5e34d9 100644 --- a/docs-gen/package-lock.json +++ b/docs-gen/package-lock.json @@ -1,29 +1,29 @@ { - "name": "s2dm", - "version": "0.0.0", + "name": "doks", + "version": "1.8.1", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "s2dm", - "version": "0.0.0", - "hasInstallScript": true, + "name": "doks", + "version": "1.8.1", "license": "MIT", "dependencies": { - "@hyas/doks-core": "^1.4.1", - "@hyas/inline-svg": "^1.0.5", - "@hyas/seo": "^2.1.0", - "@tabler/icons": "^2.40.0", - "exec-bin": "^1.0.0", - "gethyas": "^2.2.2", - "hugo-installer": "^4.0.1" + "@tabler/icons": "^3.34.1", + "@thulite/doks-core": "^1.8.3", + "@thulite/images": "^3.3.1", + "@thulite/inline-svg": "^1.2.0", + "@thulite/seo": "^2.4.1", + "thulite": "^2.6.3" }, "devDependencies": { - "shx": "^0.3.4" + "@changesets/changelog-github": "^0.5.1", + "@changesets/cli": "^2.29.5", + "prettier": "^3.6.2", + "vite": "^7.0.6" }, "engines": { - "node": ">=18.14.1", - "pnpm": ">=8.10.0" + "node": ">=20.11.0" } }, "node_modules/@ampproject/remapping": { @@ -68,6 +68,15 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/cli/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -121,6 +130,15 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz", @@ -165,6 +183,15 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", @@ -186,6 +213,15 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", @@ -203,6 +239,15 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", @@ -381,13 +426,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", - "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.2.tgz", + "integrity": "sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==", "license": "MIT", "dependencies": { "@babel/template": "^7.27.2", - "@babel/types": "^7.27.6" + "@babel/types": "^7.28.2" }, "engines": { "node": ">=6.9.0" @@ -1434,6 +1479,15 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", @@ -1448,6 +1502,16 @@ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/runtime": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz", + "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.27.2", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", @@ -1481,9 +1545,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.1.tgz", - "integrity": "sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -1493,376 +1557,1430 @@ "node": ">=6.9.0" } }, - "node_modules/@fullhuman/postcss-purgecss": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-6.0.0.tgz", - "integrity": "sha512-sUvk5PV7O5xvTJcxDYrQ00xlKtSxivvJdZrwgxE8F1GmNMs7w9U+dSbr83N/qEs9b+f+6QsZKXDs0k8nMjBIqA==", + "node_modules/@changesets/apply-release-plan": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.12.tgz", + "integrity": "sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==", + "dev": true, "license": "MIT", "dependencies": { - "purgecss": "^6.0.0" + "@changesets/config": "^3.1.1", + "@changesets/get-version-range-type": "^0.4.0", + "@changesets/git": "^3.0.4", + "@changesets/should-skip-package": "^0.1.2", + "@changesets/types": "^6.1.0", + "@manypkg/get-packages": "^1.1.3", + "detect-indent": "^6.0.0", + "fs-extra": "^7.0.1", + "lodash.startcase": "^4.4.0", + "outdent": "^0.5.0", + "prettier": "^2.7.1", + "resolve-from": "^5.0.0", + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/apply-release-plan/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" }, - "peerDependencies": { - "postcss": "^8.0.0" + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@hyas/bootstrap": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@hyas/bootstrap/-/bootstrap-1.1.1.tgz", - "integrity": "sha512-OvI9qe57aNkbHpTQE4Aoia/XqbDqEmCbCNSjKQGdq3yhtgp0JKt7ku3A9v6BbhD/lBS8uvEh86yhJFeWuxV1lA==", - "deprecated": "Package no longer supported. Use https://www.npmjs.com/package/@thulite/bootstrap instead.", + "node_modules/@changesets/assemble-release-plan": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.9.tgz", + "integrity": "sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==", + "dev": true, "license": "MIT", "dependencies": { - "@popperjs/core": "^2.11.8", - "bootstrap": "^5.3.3" - }, - "engines": { - "node": ">=20.11.0" + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.3", + "@changesets/should-skip-package": "^0.1.2", + "@changesets/types": "^6.1.0", + "@manypkg/get-packages": "^1.1.3", + "semver": "^7.5.3" } }, - "node_modules/@hyas/core": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@hyas/core/-/core-1.3.1.tgz", - "integrity": "sha512-njdEsCUBiDlGzvJnVs2BavZ3Gp69kphs7EateZmYhWi3e8ZzMZuMmTNyGpGpB5gowTn4lElosXxLImXvD4iaNQ==", - "deprecated": "Package no longer supported. Use https://www.npmjs.com/package/@thulite/core instead.", + "node_modules/@changesets/changelog-git": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.1.tgz", + "integrity": "sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==", + "dev": true, "license": "MIT", "dependencies": { - "@babel/cli": "^7.24.1", - "@babel/core": "^7.24.4", - "@babel/preset-env": "^7.24.4", - "@fullhuman/postcss-purgecss": "^6.0.0", - "autoprefixer": "^10.4.19", - "lazysizes": "^5.3.2", - "modern-css-reset": "^1.4.0", - "postcss": "^8.4.38", - "postcss-cli": "^11.0.0", - "purgecss-whitelister": "^2.4.0", - "quicklink": "^2.3.0" - }, - "engines": { - "node": ">=20.11.0" + "@changesets/types": "^6.1.0" } }, - "node_modules/@hyas/doks-core": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@hyas/doks-core/-/doks-core-1.6.1.tgz", - "integrity": "sha512-PvsVggNjOIAdMDmd9TozMHDJoSjgemzb9qJE/MlHhipaNhVzC5sAaKSPtBh3N2hjrrF94S/z4WCHPyhZ3hXXjg==", - "deprecated": "Package no longer supported. Use https://www.npmjs.com/package/@thulite/doks-core instead.", + "node_modules/@changesets/changelog-github": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.5.1.tgz", + "integrity": "sha512-BVuHtF+hrhUScSoHnJwTELB4/INQxVFc+P/Qdt20BLiBFIHFJDDUaGsZw+8fQeJTRP5hJZrzpt3oZWh0G19rAQ==", + "dev": true, "license": "MIT", "dependencies": { - "@hyas/bootstrap": "^1.1.1", - "clipboard": "^2.0.11", - "flexsearch": "^0.7.43" + "@changesets/get-github-info": "^0.6.0", + "@changesets/types": "^6.1.0", + "dotenv": "^8.1.0" + } + }, + "node_modules/@changesets/cli": { + "version": "2.29.5", + "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.29.5.tgz", + "integrity": "sha512-0j0cPq3fgxt2dPdFsg4XvO+6L66RC0pZybT9F4dG5TBrLA3jA/1pNkdTXH9IBBVHkgsKrNKenI3n1mPyPlIydg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@changesets/apply-release-plan": "^7.0.12", + "@changesets/assemble-release-plan": "^6.0.9", + "@changesets/changelog-git": "^0.2.1", + "@changesets/config": "^3.1.1", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.3", + "@changesets/get-release-plan": "^4.0.13", + "@changesets/git": "^3.0.4", + "@changesets/logger": "^0.1.1", + "@changesets/pre": "^2.0.2", + "@changesets/read": "^0.6.5", + "@changesets/should-skip-package": "^0.1.2", + "@changesets/types": "^6.1.0", + "@changesets/write": "^0.4.0", + "@manypkg/get-packages": "^1.1.3", + "ansi-colors": "^4.1.3", + "ci-info": "^3.7.0", + "enquirer": "^2.4.1", + "external-editor": "^3.1.0", + "fs-extra": "^7.0.1", + "mri": "^1.2.0", + "p-limit": "^2.2.0", + "package-manager-detector": "^0.2.0", + "picocolors": "^1.1.0", + "resolve-from": "^5.0.0", + "semver": "^7.5.3", + "spawndamnit": "^3.0.1", + "term-size": "^2.1.0" }, - "engines": { - "node": ">=20.11.0" + "bin": { + "changeset": "bin.js" } }, - "node_modules/@hyas/inline-svg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@hyas/inline-svg/-/inline-svg-1.1.0.tgz", - "integrity": "sha512-qvK8q6N4913kaDxYgiVVihkvGkk0LOuk0xG6A7KKMairsFx/l3sBwse0pX6xFcexD3aYYK36AWZuQ2VfZOrx/g==", - "deprecated": "Package no longer supported. Use https://www.npmjs.com/package/@thulite/inline-svg instead.", + "node_modules/@changesets/config": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.1.1.tgz", + "integrity": "sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=20.11.0" + "dependencies": { + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.1.3", + "@changesets/logger": "^0.1.1", + "@changesets/types": "^6.1.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1", + "micromatch": "^4.0.8" } }, - "node_modules/@hyas/seo": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@hyas/seo/-/seo-2.3.0.tgz", - "integrity": "sha512-ua9/XksaRatVEuIJzU879gJTTr0V/ThCtEncmGArsa8skevLXpcriMXrFSMLNdwZn/IwQ0IQbeSFaXqR6ly8IA==", - "deprecated": "Package no longer supported. Use https://www.npmjs.com/package/@thulite/seo instead.", + "node_modules/@changesets/errors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", + "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=20.11.0" + "dependencies": { + "extendable-error": "^0.1.5" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", + "node_modules/@changesets/get-dependents-graph": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.3.tgz", + "integrity": "sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==", + "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" + "@changesets/types": "^6.1.0", + "@manypkg/get-packages": "^1.1.3", + "picocolors": "^1.1.0", + "semver": "^7.5.3" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/@changesets/get-github-info": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.6.0.tgz", + "integrity": "sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "dependencies": { + "dataloader": "^1.4.0", + "node-fetch": "^2.5.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@changesets/get-release-plan": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.13.tgz", + "integrity": "sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "@changesets/assemble-release-plan": "^6.0.9", + "@changesets/config": "^3.1.1", + "@changesets/pre": "^2.0.2", + "@changesets/read": "^0.6.5", + "@changesets/types": "^6.1.0", + "@manypkg/get-packages": "^1.1.3" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "node_modules/@changesets/get-version-range-type": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", + "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==", + "dev": true, "license": "MIT" }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@changesets/git": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.4.tgz", + "integrity": "sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==", + "dev": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@changesets/errors": "^0.2.0", + "@manypkg/get-packages": "^1.1.3", + "is-subdir": "^1.1.1", + "micromatch": "^4.0.8", + "spawndamnit": "^3.0.1" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@changesets/logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.1.tgz", + "integrity": "sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "picocolors": "^1.1.0" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/@changesets/parse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.1.tgz", + "integrity": "sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "@changesets/types": "^6.1.0", + "js-yaml": "^3.13.1" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", - "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", + "node_modules/@changesets/pre": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.2.tgz", + "integrity": "sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==", + "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.1.0", + "@manypkg/get-packages": "^1.1.3", + "fs-extra": "^7.0.1" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@changesets/read": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.5.tgz", + "integrity": "sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6.0.0" + "dependencies": { + "@changesets/git": "^3.0.4", + "@changesets/logger": "^0.1.1", + "@changesets/parse": "^0.4.1", + "@changesets/types": "^6.1.0", + "fs-extra": "^7.0.1", + "p-filter": "^2.1.0", + "picocolors": "^1.1.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", - "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", - "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", + "node_modules/@changesets/should-skip-package": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.2.tgz", + "integrity": "sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==", + "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@changesets/types": "^6.1.0", + "@manypkg/get-packages": "^1.1.3" } }, - "node_modules/@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", - "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", - "license": "MIT", - "optional": true + "node_modules/@changesets/types": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.1.0.tgz", + "integrity": "sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==", + "dev": true, + "license": "MIT" }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@changesets/write": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.4.0.tgz", + "integrity": "sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==", + "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" + "@changesets/types": "^6.1.0", + "fs-extra": "^7.0.1", + "human-id": "^4.1.1", + "prettier": "^2.7.1" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@changesets/write/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, "engines": { - "node": ">= 8" + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz", + "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==", + "cpu": [ + "ppc64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@esbuild/android-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz", + "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==", + "cpu": [ + "arm" + ], + "dev": true, "license": "MIT", "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=14" + "node": ">=18" } }, - "node_modules/@popperjs/core": { - "version": "2.11.8", + "node_modules/@esbuild/android-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz", + "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz", + "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz", + "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz", + "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz", + "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz", + "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz", + "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz", + "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz", + "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz", + "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz", + "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz", + "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz", + "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz", + "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz", + "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz", + "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz", + "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz", + "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz", + "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz", + "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz", + "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz", + "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz", + "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz", + "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@fullhuman/postcss-purgecss": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-7.0.2.tgz", + "integrity": "sha512-U4zAXNaVztbDxO9EdcLp51F3UxxYsb/7DN89rFxFJhfk2Wua2pvw2Kf3HdspbPhW/wpHjSjsxWYoIlbTgRSjbQ==", + "license": "MIT", + "dependencies": { + "purgecss": "^7.0.2" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@manypkg/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@types/node": "^12.7.1", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0" + } + }, + "node_modules/@manypkg/find-root/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@manypkg/find-root/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@manypkg/get-packages": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", + "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.5.5", + "@changesets/types": "^4.0.1", + "@manypkg/find-root": "^1.1.0", + "fs-extra": "^8.1.0", + "globby": "^11.0.0", + "read-yaml-file": "^1.1.0" + } + }, + "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", + "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@manypkg/get-packages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "license": "MIT", + "optional": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.1.tgz", + "integrity": "sha512-oENme6QxtLCqjChRUUo3S6X8hjCXnWmJWnedD7VbGML5GUtaOtAyx+fEEXnBXVf0CBZApMQU0Idwi0FmyxzQhw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.1.tgz", + "integrity": "sha512-OikvNT3qYTl9+4qQ9Bpn6+XHM+ogtFadRLuT2EXiFQMiNkXFLQfNVppi5o28wvYdHL2s3fM0D/MZJ8UkNFZWsw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.1.tgz", + "integrity": "sha512-EFYNNGij2WllnzljQDQnlFTXzSJw87cpAs4TVBAWLdkvic5Uh5tISrIL6NRcxoh/b2EFBG/TK8hgRrGx94zD4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.1.tgz", + "integrity": "sha512-ZaNH06O1KeTug9WI2+GRBE5Ujt9kZw4a1+OIwnBHal92I8PxSsl5KpsrPvthRynkhMck4XPdvY0z26Cym/b7oA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.1.tgz", + "integrity": "sha512-n4SLVebZP8uUlJ2r04+g2U/xFeiQlw09Me5UFqny8HGbARl503LNH5CqFTb5U5jNxTouhRjai6qPT0CR5c/Iig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.1.tgz", + "integrity": "sha512-8vu9c02F16heTqpvo3yeiu7Vi1REDEC/yES/dIfq3tSXe6mLndiwvYr3AAvd1tMNUqE9yeGYa5w7PRbI5QUV+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.1.tgz", + "integrity": "sha512-K4ncpWl7sQuyp6rWiGUvb6Q18ba8mzM0rjWJ5JgYKlIXAau1db7hZnR0ldJvqKWWJDxqzSLwGUhA4jp+KqgDtQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.1.tgz", + "integrity": "sha512-YykPnXsjUjmXE6j6k2QBBGAn1YsJUix7pYaPLK3RVE0bQL2jfdbfykPxfF8AgBlqtYbfEnYHmLXNa6QETjdOjQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.1.tgz", + "integrity": "sha512-kKvqBGbZ8i9pCGW3a1FH3HNIVg49dXXTsChGFsHGXQaVJPLA4f/O+XmTxfklhccxdF5FefUn2hvkoGJH0ScWOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.1.tgz", + "integrity": "sha512-zzX5nTw1N1plmqC9RGC9vZHFuiM7ZP7oSWQGqpbmfjK7p947D518cVK1/MQudsBdcD84t6k70WNczJOct6+hdg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.1.tgz", + "integrity": "sha512-O8CwgSBo6ewPpktFfSDgB6SJN9XDcPSvuwxfejiddbIC/hn9Tg6Ai0f0eYDf3XvB/+PIWzOQL+7+TZoB8p9Yuw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.1.tgz", + "integrity": "sha512-JnCfFVEKeq6G3h3z8e60kAp8Rd7QVnWCtPm7cxx+5OtP80g/3nmPtfdCXbVl063e3KsRnGSKDHUQMydmzc/wBA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.1.tgz", + "integrity": "sha512-dVxuDqS237eQXkbYzQQfdf/njgeNw6LZuVyEdUaWwRpKHhsLI+y4H/NJV8xJGU19vnOJCVwaBFgr936FHOnJsQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.1.tgz", + "integrity": "sha512-CvvgNl2hrZrTR9jXK1ye0Go0HQRT6ohQdDfWR47/KFKiLd5oN5T14jRdUVGF4tnsN8y9oSfMOqH6RuHh+ck8+w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.1.tgz", + "integrity": "sha512-x7ANt2VOg2565oGHJ6rIuuAon+A8sfe1IeUx25IKqi49OjSr/K3awoNqr9gCwGEJo9OuXlOn+H2p1VJKx1psxA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.1.tgz", + "integrity": "sha512-9OADZYryz/7E8/qt0vnaHQgmia2Y0wrjSSn1V/uL+zw/i7NUhxbX4cHXdEQ7dnJgzYDS81d8+tf6nbIdRFZQoQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.1.tgz", + "integrity": "sha512-NuvSCbXEKY+NGWHyivzbjSVJi68Xfq1VnIvGmsuXs6TCtveeoDRKutI5vf2ntmNnVq64Q4zInet0UDQ+yMB6tA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.1.tgz", + "integrity": "sha512-mWz+6FSRb82xuUMMV1X3NGiaPFqbLN9aIueHleTZCc46cJvwTlvIh7reQLk4p97dv0nddyewBhwzryBHH7wtPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.1.tgz", + "integrity": "sha512-7Thzy9TMXDw9AU4f4vsLNBxh7/VOKuXi73VH3d/kHGr0tZ3x/ewgL9uC7ojUKmH1/zvmZe2tLapYcZllk3SO8Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.1.tgz", + "integrity": "sha512-7GVB4luhFmGUNXXJhH2jJwZCFB3pIOixv2E3s17GQHBFUOQaISlt7aGcQgqvCaDSxTZJUzlK/QJ1FN8S94MrzQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@sindresorhus/is": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "node_modules/@tabler/icons": { + "version": "3.34.1", + "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.34.1.tgz", + "integrity": "sha512-9gTnUvd7Fd/DmQgr3MKY+oJLa1RfNsQo8c/ir3TJAWghOuZXodbtbVp0QBY2DxWuuvrSZFys0HEbv1CoiI5y6A==", "license": "MIT", - "engines": { - "node": ">=14.16" - }, "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/codecalm" } }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "node_modules/@thulite/bootstrap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@thulite/bootstrap/-/bootstrap-1.2.2.tgz", + "integrity": "sha512-u3gIB6CT4LR32XrT63rdFkKcmWna0msYqdlzLdU10emlU6yMCVlfHVdQuGQSCUJN2Q38Sxm+Nv4/AU1Z52Zy0g==", "license": "MIT", "dependencies": { - "defer-to-connect": "^2.0.1" + "@popperjs/core": "^2.11.8", + "bootstrap": "^5.3.7" }, "engines": { - "node": ">=14.16" + "node": ">=20.11.0" } }, - "node_modules/@tabler/icons": { - "version": "2.47.0", - "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-2.47.0.tgz", - "integrity": "sha512-4w5evLh+7FUUiA1GucvGj2ReX2TvOjEr4ejXdwL/bsjoSkof6r1gQmzqI+VHrE2CpJpB3al7bCTulOkFa/RcyA==", + "node_modules/@thulite/core": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@thulite/core/-/core-1.5.5.tgz", + "integrity": "sha512-lnCPoMFw3I8fg7Ef8f1SlERf9r3wivxzBeKQ4xSypESfXp6r6K3YEgU+N0IjJsA1wpaJ0f2qOIOPxMz6/bPMPA==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/codecalm" + "dependencies": { + "@babel/cli": "^7.28.0", + "@babel/core": "^7.28.0", + "@babel/preset-env": "^7.28.0", + "@fullhuman/postcss-purgecss": "^7.0.2", + "autoprefixer": "^10.4.21", + "lazysizes": "^5.3.2", + "modern-css-reset": "^1.4.0", + "postcss": "^8.5.6", + "postcss-cli": "^11.0.1", + "purgecss-whitelister": "^2.4.0", + "quicklink": "^3.0.1" + }, + "engines": { + "node": ">=20.11.0" } }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "node_modules/@thulite/doks-core": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@thulite/doks-core/-/doks-core-1.8.3.tgz", + "integrity": "sha512-qGPlWACP40PDbhQdjK/n5Vmjd72K47qHt0Wtb3l9PeXAl+QYHyghedZuoJIZcehwC17fqiSuwThY5M9A1DABgw==", "license": "MIT", "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" + "@thulite/bootstrap": "^1.2.2", + "clipboard": "^2.0.11", + "flexsearch": "^0.8.205" + }, + "engines": { + "node": ">=20.11.0" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "license": "MIT" + "node_modules/@thulite/images": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@thulite/images/-/images-3.3.1.tgz", + "integrity": "sha512-PG+Qb11AgCIhbaYWsVZknMTOgQXD9IPxNDDg4DvSyIYivDjxwPVvZX9LdHdbiaL+4aKcibfuWY4rtrJAcG5n8Q==", + "license": "MIT", + "engines": { + "node": ">=20.11.0" + } }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "node_modules/@thulite/inline-svg": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@thulite/inline-svg/-/inline-svg-1.2.0.tgz", + "integrity": "sha512-ffibNW17QJfwkPqe+AlIyCJFQiNqVQ9eFFsftPqQxx4CzVyP8HyYQUkWdgLFaxqWLN7ErxqNoC1Ibcmflqwm1w==", "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=20.11.0" } }, - "node_modules/@types/node": { - "version": "24.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.14.tgz", - "integrity": "sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw==", + "node_modules/@thulite/seo": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@thulite/seo/-/seo-2.4.1.tgz", + "integrity": "sha512-ZHGud+gNZLjWP9WgxfA8t4H1+8Ql8xodnUnBA6QIJ/mKKhBYnomqCjFaeYE1t/5khglHrofyZagn0JXiaQ0NaA==", "license": "MIT", - "dependencies": { - "undici-types": "~7.8.0" + "engines": { + "node": ">=20.11.0" } }, - "node_modules/@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", + "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", + "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "@types/node": "*" + "undici-types": "~7.8.0" } }, - "node_modules/aggregate-error": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz", - "integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==", + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, "license": "MIT", - "dependencies": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/ansi-regex": { @@ -1902,6 +3020,26 @@ "node": ">= 8" } }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/autoprefixer": { "version": "10.4.21", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", @@ -1939,21 +3077,6 @@ "postcss": "^8.1.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", @@ -1968,6 +3091,15 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", @@ -1999,25 +3131,18 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/better-path-resolve": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", + "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-windows": "^1.0.0" + }, + "engines": { + "node": ">=4" + } }, "node_modules/binary-extensions": { "version": "2.3.0", @@ -2031,16 +3156,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "license": "MIT", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "node_modules/bootstrap": { "version": "5.3.7", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.7.tgz", @@ -2109,174 +3224,9 @@ }, "bin": { "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "license": "MIT", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "license": "MIT" - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "license": "MIT" - }, - "node_modules/cacheable-lookup": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz", - "integrity": "sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==", - "license": "MIT", - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "license": "MIT", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "license": "MIT", - "dependencies": { - "lowercase-keys": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, "node_modules/camelcase": { @@ -2308,6 +3258,13 @@ ], "license": "CC-BY-4.0" }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -2332,19 +3289,20 @@ "fsevents": "~2.3.2" } }, - "node_modules/clean-stack": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz", - "integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==", + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", - "dependencies": { - "escape-string-regexp": "5.0.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/clipboard": { @@ -2359,26 +3317,17 @@ } }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=12" } }, "node_modules/color-convert": { @@ -2433,12 +3382,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2465,6 +3408,13 @@ "node": ">=4" } }, + "node_modules/dataloader": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", + "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/debug": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", @@ -2491,210 +3441,6 @@ "node": ">=0.10.0" } }, - "node_modules/decompress": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", - "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "license": "MIT", - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", - "license": "MIT", - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "license": "MIT", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/del": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-7.0.0.tgz", - "integrity": "sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==", - "license": "MIT", - "dependencies": { - "globby": "^13.1.2", - "graceful-fs": "^4.2.10", - "is-glob": "^4.0.3", - "is-path-cwd": "^3.0.0", - "is-path-inside": "^4.0.0", - "p-map": "^5.5.0", - "rimraf": "^3.0.2", - "slash": "^4.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/delegate": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", @@ -2710,10 +3456,21 @@ "node": ">=4" } }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, "license": "MIT", "dependencies": { "path-type": "^4.0.0" @@ -2722,18 +3479,14 @@ "node": ">=8" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.4" + "node": ">=10" } }, "node_modules/eastasianwidth": { @@ -2743,9 +3496,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.186", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.186.tgz", - "integrity": "sha512-lur7L4BFklgepaJxj4DqPk7vKbTEl0pajNlg2QjE5shefmlmBLm2HvQ7PMf1R/GvlevT/581cop33/quQcfX3A==", + "version": "1.5.191", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.191.tgz", + "integrity": "sha512-xcwe9ELcuxYLUFqZZxL19Z6HVKcvNkIwhbHUz7L3us6u12yR+7uY89dSl570f/IqNthx8dAw3tojG7i4Ni4tDA==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -2754,43 +3507,60 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, "license": "MIT", "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">= 0.4" + "node": ">=8.6" } }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "node_modules/esbuild": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", + "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", + "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">= 0.4" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.8", + "@esbuild/android-arm": "0.25.8", + "@esbuild/android-arm64": "0.25.8", + "@esbuild/android-x64": "0.25.8", + "@esbuild/darwin-arm64": "0.25.8", + "@esbuild/darwin-x64": "0.25.8", + "@esbuild/freebsd-arm64": "0.25.8", + "@esbuild/freebsd-x64": "0.25.8", + "@esbuild/linux-arm": "0.25.8", + "@esbuild/linux-arm64": "0.25.8", + "@esbuild/linux-ia32": "0.25.8", + "@esbuild/linux-loong64": "0.25.8", + "@esbuild/linux-mips64el": "0.25.8", + "@esbuild/linux-ppc64": "0.25.8", + "@esbuild/linux-riscv64": "0.25.8", + "@esbuild/linux-s390x": "0.25.8", + "@esbuild/linux-x64": "0.25.8", + "@esbuild/netbsd-arm64": "0.25.8", + "@esbuild/netbsd-x64": "0.25.8", + "@esbuild/openbsd-arm64": "0.25.8", + "@esbuild/openbsd-x64": "0.25.8", + "@esbuild/openharmony-arm64": "0.25.8", + "@esbuild/sunos-x64": "0.25.8", + "@esbuild/win32-arm64": "0.25.8", + "@esbuild/win32-ia32": "0.25.8", + "@esbuild/win32-x64": "0.25.8" } }, "node_modules/escalade": { @@ -2802,16 +3572,18 @@ "node": ">=6" } }, - "node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, "node_modules/esutils": { @@ -2823,19 +3595,33 @@ "node": ">=0.10.0" } }, - "node_modules/exec-bin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/exec-bin/-/exec-bin-1.0.0.tgz", - "integrity": "sha512-p8f8h8b6op2nR7U5rsd+zACUMfsfB+jW8HNIBD2njOQ/gF2WvBfQRo/OU6Q6f/b34WLAyePZcwMJyrDdEjB/fw==", + "node_modules/extendable-error": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", + "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, "license": "MIT", - "bin": { - "exec-bin": "bin/exec-bin.js" + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" } }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -2852,29 +3638,12 @@ "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -2901,25 +3670,36 @@ } }, "node_modules/flexsearch": { - "version": "0.7.43", - "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.43.tgz", - "integrity": "sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==", - "license": "Apache-2.0" - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "version": "0.8.205", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.8.205.tgz", + "integrity": "sha512-REFjMqy86DKkCTJ4gIE42c9MVm9t1vUWfEub/8taixYuhvyu4jd4XmFALk5VuKW4GH4VLav8A4BJboTsslHF1w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/ts-thomas" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/flexsearch" + }, + { + "type": "patreon", + "url": "https://patreon.com/user?u=96245532" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/ts-thomas" + }, + { + "type": "paypal", + "url": "https://www.paypal.com/donate/?hosted_button_id=GEVR88FC9BWRW" + }, + { + "type": "bountysource", + "url": "https://salt.bountysource.com/teams/ts-thomas" + } + ], + "license": "Apache-2.0" }, "node_modules/foreground-child": { "version": "3.3.1", @@ -2937,15 +3717,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/form-data-encoder": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", - "license": "MIT", - "engines": { - "node": ">= 14.17" - } - }, "node_modules/fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", @@ -2959,24 +3730,19 @@ "url": "https://github.com/sponsors/rawify" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "license": "MIT" - }, "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=14.14" + "node": ">=6 <7 || >=8" } }, "node_modules/fs-readdir-recursive": { @@ -3032,69 +3798,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", - "license": "MIT", - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gethyas": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/gethyas/-/gethyas-2.4.2.tgz", - "integrity": "sha512-p+z7HqdFzoTva+Iy3Pip2VPtMRFlFIjgR1YkjfRE2/i1eEJVzhnfEvGT7fu+66bmIMBnIaGPXSLBeUkyb0NioQ==", - "deprecated": "Package no longer supported. Use https://www.npmjs.com/package/thulite instead.", - "license": "MIT", - "dependencies": { - "@hyas/core": "^1.3.1" - }, - "engines": { - "node": ">=20.11.0" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -3208,31 +3911,21 @@ } }, "node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, "license": "MIT", "dependencies": { + "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3262,101 +3955,12 @@ "delegate": "^3.1.2" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "12.4.1", - "resolved": "https://registry.npmjs.org/got/-/got-12.4.1.tgz", - "integrity": "sha512-Sz1ojLt4zGNkcftIyJKnulZT/yEDvifhUjccHA8QzOuTgPs/+njXYNMFE3jR4/2OODQSSbH8SdnoLCkbh41ieA==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^5.2.0", - "@szmarczak/http-timer": "^5.0.1", - "@types/cacheable-request": "^6.0.2", - "cacheable-lookup": "^6.0.4", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "form-data-encoder": "^2.1.0", - "get-stream": "^6.0.1", - "http2-wrapper": "^2.1.10", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", - "responselike": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -3369,93 +3973,39 @@ "node": ">= 0.4" } }, - "node_modules/hpagent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.0.0.tgz", - "integrity": "sha512-SCleE2Uc1bM752ymxg8QXYGW0TWtAV4ZW3TqH1aOnyi6T6YW2xadCcclm5qeVjvMvfQ2RKNtZxO7uVb9CTPt1A==", + "node_modules/human-id": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/human-id/-/human-id-4.1.1.tgz", + "integrity": "sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=14" + "bin": { + "human-id": "dist/cli.js" } }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "license": "BSD-2-Clause" - }, - "node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, "license": "MIT", "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/hugo-installer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/hugo-installer/-/hugo-installer-4.0.1.tgz", - "integrity": "sha512-pkp1RO7+ekQ0vw1aqgBMK+dD2dqioIWVbwWKsJsKLOpzfFc78gK68Cweoi/g+CftoiMFO7cyGx/2MgkHCMqaLQ==", - "license": "MIT", - "dependencies": { - "decompress": "4.2.x", - "del": "7.0.x", - "got": "12.4.x", - "hpagent": "1.0.x", - "object-path": "0.11.x", - "semver": "7.3.x", - "yargs": "17.5.x" - }, - "bin": { - "hugo-installer": "bin/hugo-installer.js" + "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, "node_modules/ignore": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, "license": "MIT", "engines": { "node": ">= 4" } }, - "node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3473,16 +4023,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/invariant": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", @@ -3504,18 +4044,6 @@ "node": ">=8" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -3561,12 +4089,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", - "license": "MIT" - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -3576,60 +4098,29 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", - "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", + "node_modules/is-subdir": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", + "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", + "dev": true, "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "better-path-resolve": "1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-path-inside": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", - "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", - "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -3637,18 +4128,18 @@ "license": "ISC" }, "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" } }, "node_modules/js-tokens": { @@ -3657,6 +4148,20 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -3669,12 +4174,6 @@ "node": ">=6" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "license": "MIT" - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -3688,26 +4187,15 @@ } }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, "node_modules/lazysizes": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/lazysizes/-/lazysizes-5.3.2.tgz", @@ -3750,6 +4238,13 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "license": "MIT" }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true, + "license": "MIT" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -3758,20 +4253,8 @@ "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "loose-envify": "cli.js" } }, "node_modules/lru-cache": { @@ -3796,28 +4279,20 @@ "node": ">=6" } }, - "node_modules/make-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -3827,6 +4302,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -3836,15 +4312,6 @@ "node": ">=8.6" } }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3881,6 +4348,16 @@ "integrity": "sha512-0crZmSFmrxkI7159rvQWjpDhy0u4+Awg/iOycJdlVn0RSeft/a+6BrQHR3IqvmdK25sqt0o6Z5Ap7cWgUee2rw==", "license": "MIT" }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -3905,6 +4382,27 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", @@ -3929,36 +4427,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-path": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", - "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", - "license": "MIT", - "engines": { - "node": ">= 10.12.0" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -3968,13 +4436,34 @@ "wrappy": "1" } }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/outdent": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", + "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/p-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", + "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", + "dev": true, "license": "MIT", + "dependencies": { + "p-map": "^2.0.0" + }, "engines": { - "node": ">=12.20" + "node": ">=8" } }, "node_modules/p-limit": { @@ -4005,18 +4494,13 @@ } }, "node_modules/p-map": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz", - "integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, "license": "MIT", - "dependencies": { - "aggregate-error": "^4.0.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/p-try": { @@ -4034,6 +4518,16 @@ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "license": "BlueOak-1.0.0" }, + "node_modules/package-manager-detector": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.11.tgz", + "integrity": "sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "quansync": "^0.2.7" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4068,42 +4562,40 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", + "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "license": "MIT" - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -4123,42 +4615,12 @@ } }, "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "license": "MIT", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=6" } }, "node_modules/postcss": { @@ -4217,6 +4679,32 @@ "postcss": "^8.0.0" } }, + "node_modules/postcss-cli/node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/postcss-cli/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/postcss-cli/node_modules/slash": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", @@ -4229,6 +4717,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/postcss-cli/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/postcss-load-config": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz", @@ -4313,6 +4810,22 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "license": "MIT" }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", @@ -4322,44 +4835,16 @@ "node": ">= 0.8" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/pump": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/purgecss": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-6.0.0.tgz", - "integrity": "sha512-s3EBxg5RSWmpqd0KGzNqPiaBbWDz1/As+2MzoYVGMqgDqRTLBhJW6sywfTBek7OwNfoS/6pS0xdtvChNhFj2cw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-7.0.2.tgz", + "integrity": "sha512-4Ku8KoxNhOWi9X1XJ73XY5fv+I+hhTRedKpGs/2gaBKU8ijUiIKF/uyyIyh7Wo713bELSICF5/NswjcuOqYouQ==", "license": "MIT", "dependencies": { - "commander": "^12.0.0", - "glob": "^10.3.10", - "postcss": "^8.4.4", - "postcss-selector-parser": "^6.0.7" + "commander": "^12.1.0", + "glob": "^11.0.0", + "postcss": "^8.4.47", + "postcss-selector-parser": "^6.1.2" }, "bin": { "purgecss": "bin/purgecss.js" @@ -4376,15 +4861,6 @@ "scss-parser": "1.0.3" } }, - "node_modules/purgecss/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/purgecss/node_modules/commander": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", @@ -4395,44 +4871,65 @@ } }, "node_modules/purgecss/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", + "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.0.3", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/purgecss/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, "funding": [ { "type": "github", @@ -4449,70 +4946,28 @@ ], "license": "MIT" }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/quicklink": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/quicklink/-/quicklink-2.3.0.tgz", - "integrity": "sha512-FyTanYArl5Gz2/C0ZjErvfFJtem/+d1RM4eK0jiXO6mL4Zjje+xsYtcK3ZtKX2Yb3HSfah5HekWrH2qhttYQjQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/quicklink/-/quicklink-3.0.1.tgz", + "integrity": "sha512-sAMEpcCUCzjet214qVCm1hzxeF0YLo4wyphkIifeemmofk1vMrc5Sg/iNH32SKAIXqYvO6SPZgEP8obi9Ait9g==", "license": "Apache-2.0", "dependencies": { "route-manifest": "^1.0.0", - "throttles": "^1.0.0" + "throttles": "^1.0.1" }, "peerDependencies": { - "react": "^16.8.0", - "react-dom": "^16.8.0" - } - }, - "node_modules/react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", - "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "react": "^16.8.0 || ^17 || ^18 || ^19", + "react-dom": "^16.8.0 || ^17 || ^18 || ^19" }, - "peerDependencies": { - "react": "^16.14.0" + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT", - "peer": true - }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -4522,27 +4977,31 @@ "pify": "^2.3.0" } }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-yaml-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", + "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", + "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "graceful-fs": "^4.1.5", + "js-yaml": "^3.6.1", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -4555,18 +5014,6 @@ "node": ">=8.10.0" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -4676,51 +5123,65 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "license": "MIT" - }, - "node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, "license": "MIT", - "dependencies": { - "lowercase-keys": "^3.0.0" - }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", + "node_modules/rollup": { + "version": "4.46.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.1.tgz", + "integrity": "sha512-33xGNBsDJAkzt0PvninskHlWnTIPgDtTwhg0U38CUoNP/7H6wI2Cz6dUeoNPbjdTdsYTGuiFFASuUOWovH0SyQ==", + "dev": true, + "license": "MIT", "dependencies": { - "glob": "^7.1.3" + "@types/estree": "1.0.8" }, "bin": { - "rimraf": "bin.js" + "rollup": "dist/bin/rollup" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.46.1", + "@rollup/rollup-android-arm64": "4.46.1", + "@rollup/rollup-darwin-arm64": "4.46.1", + "@rollup/rollup-darwin-x64": "4.46.1", + "@rollup/rollup-freebsd-arm64": "4.46.1", + "@rollup/rollup-freebsd-x64": "4.46.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.46.1", + "@rollup/rollup-linux-arm-musleabihf": "4.46.1", + "@rollup/rollup-linux-arm64-gnu": "4.46.1", + "@rollup/rollup-linux-arm64-musl": "4.46.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.46.1", + "@rollup/rollup-linux-ppc64-gnu": "4.46.1", + "@rollup/rollup-linux-riscv64-gnu": "4.46.1", + "@rollup/rollup-linux-riscv64-musl": "4.46.1", + "@rollup/rollup-linux-s390x-gnu": "4.46.1", + "@rollup/rollup-linux-x64-gnu": "4.46.1", + "@rollup/rollup-linux-x64-musl": "4.46.1", + "@rollup/rollup-win32-arm64-msvc": "4.46.1", + "@rollup/rollup-win32-ia32-msvc": "4.46.1", + "@rollup/rollup-win32-x64-msvc": "4.46.1", + "fsevents": "~2.3.2" } }, "node_modules/route-manifest": { @@ -4739,6 +5200,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "funding": [ { "type": "github", @@ -4758,37 +5220,13 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, "license": "MIT" }, - "node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "license": "MIT", - "peer": true, - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, "node_modules/scss-parser": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/scss-parser/-/scss-parser-1.0.3.tgz", @@ -4802,25 +5240,6 @@ "node": ">=6.0.0" } }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", - "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", - "license": "MIT", - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, "node_modules/select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -4831,6 +5250,7 @@ "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -4845,23 +5265,6 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "license": "ISC" }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4883,41 +5286,6 @@ "node": ">=8" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shx": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", - "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.3", - "shelljs": "^0.8.5" - }, - "bin": { - "shx": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -4931,12 +5299,13 @@ } }, "node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/source-map-js": { @@ -4948,20 +5317,23 @@ "node": ">=0.10.0" } }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", + "node_modules/spawndamnit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-3.0.1.tgz", + "integrity": "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==", + "dev": true, + "license": "SEE LICENSE IN LICENSE", "dependencies": { - "safe-buffer": "~5.1.0" + "cross-spawn": "^7.0.5", + "signal-exit": "^4.0.1" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/string-width": { "version": "4.2.3", @@ -5017,13 +5389,14 @@ "node": ">=8" } }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, "license": "MIT", - "dependencies": { - "is-natural-number": "^4.0.1" + "engines": { + "node": ">=4" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -5038,22 +5411,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true, "license": "MIT", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/thenby": { @@ -5071,11 +5439,17 @@ "node": ">=6" } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "license": "MIT" + "node_modules/thulite": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/thulite/-/thulite-2.6.3.tgz", + "integrity": "sha512-bT5A64nqlChrhp2lvCLP2z4HJhLWjaMfKjLWqpmqdNyaFowz4vTG7NzvuHKo2AElsAwChMdgRZpb9r1u+wM4QQ==", + "license": "MIT", + "dependencies": { + "@thulite/core": "^1.5.5" + }, + "engines": { + "node": ">=20.11.0" + } }, "node_modules/tiny-emitter": { "version": "2.1.0", @@ -5125,26 +5499,19 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/to-buffer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", - "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, "license": "MIT", "dependencies": { - "isarray": "^2.0.5", - "safe-buffer": "^5.2.1", - "typed-array-buffer": "^1.0.3" + "os-tmpdir": "~1.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=0.6.0" } }, - "node_modules/to-buffer/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "license": "MIT" - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -5157,35 +5524,21 @@ "node": ">=8.0" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "license": "MIT", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" }, "node_modules/undici-types": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", - "license": "MIT" + "dev": true, + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", @@ -5228,12 +5581,13 @@ } }, "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">= 4.0.0" } }, "node_modules/update-browserslist-db": { @@ -5272,6 +5626,127 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, + "node_modules/vite": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.6.tgz", + "integrity": "sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.40.0", + "tinyglobby": "^0.2.14" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5293,27 +5768,6 @@ "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "license": "ISC" }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -5355,15 +5809,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -5392,18 +5837,18 @@ } }, "node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^21.1.1" }, "engines": { "node": ">=12" @@ -5417,16 +5862,6 @@ "engines": { "node": ">=12" } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } } } } diff --git a/docs-gen/package.json b/docs-gen/package.json index 2ee712bf..951c8dae 100644 --- a/docs-gen/package.json +++ b/docs-gen/package.json @@ -1,50 +1,39 @@ { - "name": "s2dm", - "version": "0.0.0", - "description": "S2DM landing site", - "author": "Covesa", + "name": "doks", + "version": "1.8.1", + "description": "Doks theme", + "author": "Thulite", "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/thuliteio/doks.git" + }, "scripts": { - "dev": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender --baseURL=http://localhost:1313 --noHTTPCache", - "dev:drafts": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender --baseURL=http://localhost:1313 --noHTTPCache --buildDrafts", - "create": "exec-bin node_modules/.bin/hugo/hugo new", - "lint": "npm run lint:scripts && npm run lint:styles && npm run lint:markdown", - "lint:scripts": "eslint --cache assets/js", - "lint:styles": "stylelint --cache \"assets/scss/**/*.{css,sass,scss}\"", - "lint:markdown": "markdownlint-cli2 \"*.md\" \"content/**/*.md\"", - "test": "echo \"Error: no test specified\" && exit 1", - "build": "exec-bin node_modules/.bin/hugo/hugo && exec-bin node_modules/.bin/hugo/hugo --minify", - "preview": "http-server --gzip --brotli --ext=html --cors", - "clean": "npm run clean:build && npm run clean:lint && npm run clean:install", - "clean:build": "shx rm -rf public resources .hugo_build.lock", - "clean:install": "shx rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml", - "clean:lint": "shx rm -rf .eslintcache .stylelintcache", - "preinfo": "npm version", - "info": "npm list", - "postinfo": "exec-bin node_modules/.bin/hugo/hugo version", - "postinstall": "hugo-installer --version otherDependencies.hugo --extended --destination node_modules/.bin/hugo" + "create": "hugo new", + "dev": "hugo server --disableFastRender --noHTTPCache", + "format": "prettier **/** -w -c", + "build": "hugo --minify --gc", + "preview": "vite preview --outDir public" }, "dependencies": { - "@hyas/doks-core": "^1.4.1", - "@hyas/inline-svg": "^1.0.5", - "@hyas/seo": "^2.1.0", - "@tabler/icons": "^2.40.0", - "exec-bin": "^1.0.0", - "gethyas": "^2.2.2", - "hugo-installer": "^4.0.1" + "@thulite/doks-core": "^1.8.3", + "@thulite/images": "^3.3.1", + "@thulite/inline-svg": "^1.2.0", + "@thulite/seo": "^2.4.1", + "@tabler/icons": "^3.34.1", + "thulite": "^2.6.3" }, "devDependencies": { - "shx": "^0.3.4" - }, - "otherDependencies": { - "hugo": "0.129.0" - }, - "overrides": { - "semver": "^7.5.4" + "@changesets/changelog-github": "^0.5.1", + "@changesets/cli": "^2.29.5", + "prettier": "^3.6.2", + "vite": "^7.0.6" }, "engines": { - "node": ">=18.14.1", - "pnpm": ">=8.10.0" + "node": ">=20.11.0" }, - "packageManager": "pnpm@8.12.0" + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } } diff --git a/docs-gen/resources/_gen/assets/scss/app.scss_901a6e181e810c5c7347a10d84f037ab.content b/docs-gen/resources/_gen/assets/scss/app.scss_901a6e181e810c5c7347a10d84f037ab.content deleted file mode 100644 index e88a2855..00000000 --- a/docs-gen/resources/_gen/assets/scss/app.scss_901a6e181e810c5c7347a10d84f037ab.content +++ /dev/null @@ -1,14948 +0,0 @@ -@charset "UTF-8"; -/* Bluish cyan */ -/* Gray */ -/* Yellow */ -/* Khaki */ -/* Purple */ -/* Vermilion */ -:root[data-bs-theme="light"], -[data-bs-theme="light"] ::backdrop { - --sl-color-white: hsl(224, 10%, 10%); - --sl-color-gray-1: hsl(224, 14%, 16%); - --sl-color-gray-2: hsl(224, 10%, 23%); - --sl-color-gray-3: hsl(224, 7%, 36%); - --sl-color-gray-4: hsl(224, 6%, 56%); - --sl-color-gray-5: hsl(224, 6%, 77%); - --sl-color-gray-6: hsl(224, 20%, 94%); - --sl-color-gray-7: hsl(224, 19%, 97%); - --sl-color-black: hsl(0, 0%, 100%); } - -:root, -::backdrop { - --sl-color-white: hsl(0, 0%, 100%); - --sl-color-gray-1: hsl(224, 20%, 94%); - --sl-color-gray-2: hsl(224, 6%, 77%); - --sl-color-gray-3: hsl(224, 6%, 56%); - --sl-color-gray-4: hsl(224, 7%, 36%); - --sl-color-gray-5: hsl(224, 10%, 23%); - --sl-color-gray-6: hsl(224, 14%, 16%); - --sl-color-black: hsl(224, 10%, 10%); - --sl-hue-orange: 41; - --sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%); - --sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%); - --sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%); - --sl-hue-green: 101; - --sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%); - --sl-color-green: hsl(var(--sl-hue-green), 82%, 63%); - --sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%); - --sl-hue-blue: 234; - --sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%); - --sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%); - --sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%); - --sl-hue-purple: 281; - --sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%); - --sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%); - --sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%); - --sl-hue-red: 339; - --sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%); - --sl-color-red: hsl(var(--sl-hue-red), 82%, 63%); - --sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%); - --sl-color-accent-low: hsl(224, 54%, 20%); - --sl-color-accent: hsl(224, 100%, 60%); - --sl-color-accent-high: hsl(224, 100%, 85%); - --sl-color-text: var(--sl-color-gray-2); - --sl-color-text-accent: var(--sl-color-accent-high); - --sl-color-text-invert: var(--sl-color-accent-low); - --sl-color-bg: var(--sl-color-black); - --sl-color-bg-nav: var(--sl-color-gray-6); - --sl-color-bg-sidebar: var(--sl-color-gray-6); - --sl-color-bg-inline-code: var(--sl-color-gray-5); - --sl-color-hairline-light: var(--sl-color-gray-5); - --sl-color-hairline: var(--sl-color-gray-6); - --sl-color-hairline-shade: var(--sl-color-black); - --sl-color-backdrop-overlay: hsla(223, 13%, 10%, 0.66); - --sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, 0.12), 0px 2px 1px hsla(0, 0%, 0%, 0.24); - --sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, 0.08), 0px 5px 2px hsla(0, 0%, 0%, 0.08), 0px 3px 2px hsla(0, 0%, 0%, 0.12), 0px 1px 1px hsla(0, 0%, 0%, 0.15); - --sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, 0.03), 0px 16px 6px hsla(0, 0%, 0%, 0.1), 0px 9px 5px hsla(223, 13%, 10%, 0.33), 0px 4px 4px hsla(0, 0%, 0%, 0.75), 0px 4px 2px hsla(0, 0%, 0%, 0.25); - --sl-text-xs: 0.8125rem; - --sl-text-sm: 0.875rem; - --sl-text-base: 1rem; - --sl-text-lg: 1.125rem; - --sl-text-xl: 1.25rem; - --sl-text-2xl: 1.5rem; - --sl-text-3xl: 1.8125rem; - --sl-text-4xl: 2.1875rem; - --sl-text-5xl: 2.625rem; - --sl-text-6xl: 4rem; - --sl-text-body: var(--sl-text-base); - --sl-text-body-sm: var(--sl-text-xs); - --sl-text-code: var(--sl-text-sm); - --sl-text-code-sm: var(--sl-text-xs); - --sl-text-h1: var(--sl-text-4xl); - --sl-text-h2: var(--sl-text-3xl); - --sl-text-h3: var(--sl-text-2xl); - --sl-text-h4: var(--sl-text-xl); - --sl-text-h5: var(--sl-text-lg); - --sl-line-height: 1.8; - --sl-line-height-headings: 1.2; - --sl-font-system: 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"; - --sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - --__sl-font: var(--sl-font, ""), var(--sl-font-system); - --__sl-font-mono: var(--sl-font-mono, ""), var(--sl-font-system-mono); - --sl-nav-height: 3.5rem; - --sl-nav-pad-x: 1rem; - --sl-nav-pad-y: 0.75rem; - --sl-mobile-toc-height: 3rem; - --sl-sidebar-width: 18.75rem; - --sl-sidebar-pad-x: 1rem; - --sl-content-width: 45rem; - --sl-content-pad-x: 1rem; - --sl-menu-button-size: 2rem; - --sl-nav-gap: var(--sl-content-pad-x); - --sl-outline-offset-inside: -0.1875rem; - --sl-z-index-toc: 4; - --sl-z-index-menu: 5; - --sl-z-index-navbar: 10; - --sl-z-index-skiplink: 20; } - -:root { - --purple-hsl: 255, 60%, 60%; - --overlay-blurple: hsla(var(--purple-hsl), 0.2); } - -:root { - --ec-brdRad: 0px; - --ec-brdWd: 1px; - --ec-brdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-codeFontFml: var(--__sl-font-mono); - --ec-codeFontSize: var(--sl-text-code); - --ec-codeFontWg: 400; - --ec-codeLineHt: var(--sl-line-height); - --ec-codePadBlk: 0.75rem; - --ec-codePadInl: 1rem; - --ec-codeBg: #011627; - --ec-codeFg: #d6deeb; - --ec-codeSelBg: #1d3b53; - --ec-uiFontFml: var(--__sl-font); - --ec-uiFontSize: 0.9rem; - --ec-uiFontWg: 400; - --ec-uiLineHt: 1.65; - --ec-uiPadBlk: 0.25rem; - --ec-uiPadInl: 1rem; - --ec-uiSelBg: #234d708c; - --ec-uiSelFg: #ffffff; - --ec-focusBrd: #122d42; - --ec-sbThumbCol: #ffffff17; - --ec-sbThumbHoverCol: #ffffff49; - --ec-tm-lineMarkerAccentMarg: 0rem; - --ec-tm-lineMarkerAccentWd: 0.15rem; - --ec-tm-lineDiffIndMargLeft: 0.25rem; - --ec-tm-inlMarkerBrdWd: 1.5px; - --ec-tm-inlMarkerBrdRad: 0.2rem; - --ec-tm-inlMarkerPad: 0.15rem; - --ec-tm-insDiffIndContent: "+"; - --ec-tm-delDiffIndContent: "-"; - --ec-tm-markBg: #ffffff17; - --ec-tm-markBrdCol: #ffffff40; - --ec-tm-insBg: #1e571599; - --ec-tm-insBrdCol: #487f3bd0; - --ec-tm-insDiffIndCol: #79b169d0; - --ec-tm-delBg: #862d2799; - --ec-tm-delBrdCol: #b4554bd0; - --ec-tm-delDiffIndCol: #ed8779d0; - --ec-frm-shdCol: #011627; - --ec-frm-frameBoxShdCssVal: none; - --ec-frm-edActTabBg: var(--sl-color-gray-6); - --ec-frm-edActTabFg: var(--sl-color-text); - --ec-frm-edActTabBrdCol: transparent; - --ec-frm-edActTabIndHt: 1px; - --ec-frm-edActTabIndTopCol: var(--sl-color-accent-high); - --ec-frm-edActTabIndBtmCol: transparent; - --ec-frm-edTabsMargInlStart: 0; - --ec-frm-edTabsMargBlkStart: 0; - --ec-frm-edTabBrdRad: 0px; - --ec-frm-edTabBarBg: var(--sl-color-black); - --ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-frm-edTabBarBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-frm-edBg: var(--sl-color-gray-6); - --ec-frm-trmTtbDotsFg: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-frm-trmTtbDotsOpa: 0.75; - --ec-frm-trmTtbBg: var(--sl-color-black); - --ec-frm-trmTtbFg: var(--sl-color-text); - --ec-frm-trmTtbBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-frm-trmBg: var(--sl-color-gray-6); - --ec-frm-inlBtnFg: var(--sl-color-text); - --ec-frm-inlBtnBg: var(--sl-color-text); - --ec-frm-inlBtnBgIdleOpa: 0; - --ec-frm-inlBtnBgHoverOrFocusOpa: 0.2; - --ec-frm-inlBtnBgActOpa: 0.3; - --ec-frm-inlBtnBrd: var(--sl-color-text); - --ec-frm-inlBtnBrdOpa: 0.4; - --ec-frm-tooltipSuccessBg: #158744; - --ec-frm-tooltipSuccessFg: white; } - -:root, -[data-bs-theme="light"] { - --bs-blue: #3347ff; - --bs-indigo: #6610f2; - --bs-purple: #bd53ee; - --bs-pink: #d63384; - --bs-red: #ee5389; - --bs-orange: #fd7e14; - --bs-yellow: #eebd53; - --bs-green: #84ee53; - --bs-teal: #20c997; - --bs-cyan: #0dcaf0; - --bs-black: #000; - --bs-white: #fff; - --bs-gray: #6c757d; - --bs-gray-dark: #343a40; - --bs-gray-100: #f8f9fa; - --bs-gray-200: #e9ecef; - --bs-gray-300: #dee2e6; - --bs-gray-400: #ced4da; - --bs-gray-500: #adb5bd; - --bs-gray-600: #6c757d; - --bs-gray-700: #495057; - --bs-gray-800: #343a40; - --bs-gray-900: #212529; - --bs-primary: #3347ff; - --bs-secondary: #6c757d; - --bs-success: #84ee53; - --bs-info: #3347ff; - --bs-warning: #eebd53; - --bs-danger: #ee5389; - --bs-light: #f8f9fa; - --bs-dark: #212529; - --bs-primary-rgb: 51, 71.4, 255; - --bs-secondary-rgb: 108, 117, 125; - --bs-success-rgb: 132.2821, 238.017, 83.283; - --bs-info-rgb: 51, 71.4, 255; - --bs-warning-rgb: 238.017, 189.0179, 83.283; - --bs-danger-rgb: 238.017, 83.283, 137.4399; - --bs-light-rgb: 248, 249, 250; - --bs-dark-rgb: 33, 37, 41; - --bs-primary-text-emphasis: #141d66; - --bs-secondary-text-emphasis: #2b2f32; - --bs-success-text-emphasis: #355f21; - --bs-info-text-emphasis: #141d66; - --bs-warning-text-emphasis: #5f4c21; - --bs-danger-text-emphasis: #5f2137; - --bs-light-text-emphasis: #495057; - --bs-dark-text-emphasis: #495057; - --bs-primary-bg-subtle: #d6daff; - --bs-secondary-bg-subtle: #e2e3e5; - --bs-success-bg-subtle: #e6fcdd; - --bs-info-bg-subtle: #d6daff; - --bs-warning-bg-subtle: #fcf2dd; - --bs-danger-bg-subtle: #fcdde7; - --bs-light-bg-subtle: #fcfcfd; - --bs-dark-bg-subtle: #ced4da; - --bs-primary-border-subtle: #adb6ff; - --bs-secondary-border-subtle: #c4c8cb; - --bs-success-border-subtle: #cef8ba; - --bs-info-border-subtle: #adb6ff; - --bs-warning-border-subtle: #f8e5ba; - --bs-danger-border-subtle: #f8bad0; - --bs-light-border-subtle: #e9ecef; - --bs-dark-border-subtle: #adb5bd; - --bs-white-rgb: 255, 255, 255; - --bs-black-rgb: 0, 0, 0; - --bs-font-sans-serif: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); - --bs-body-font-family: var(--bs-font-sans-serif); - --bs-body-font-size: 1rem; - --bs-body-font-weight: 400; - --bs-body-line-height: 1.5; - --bs-body-color: #1d2d35; - --bs-body-color-rgb: 29, 45, 53; - --bs-body-bg: #fff; - --bs-body-bg-rgb: 255, 255, 255; - --bs-emphasis-color: #000; - --bs-emphasis-color-rgb: 0, 0, 0; - --bs-secondary-color: rgba(29, 45, 53, 0.75); - --bs-secondary-color-rgb: 29, 45, 53; - --bs-secondary-bg: #e9ecef; - --bs-secondary-bg-rgb: 233, 236, 239; - --bs-tertiary-color: rgba(29, 45, 53, 0.5); - --bs-tertiary-color-rgb: 29, 45, 53; - --bs-tertiary-bg: #f8f9fa; - --bs-tertiary-bg-rgb: 248, 249, 250; - --bs-heading-color: inherit; - --bs-link-color: #3347ff; - --bs-link-color-rgb: 51, 71.4, 255; - --bs-link-decoration: none; - --bs-link-hover-color: #2939cc; - --bs-link-hover-color-rgb: 41, 57, 204; - --bs-link-hover-decoration: underline; - --bs-code-color: #d63384; - --bs-highlight-color: #1d2d35; - --bs-highlight-bg: #fcf2dd; - --bs-border-width: 1px; - --bs-border-style: solid; - --bs-border-color: #dee2e6; - --bs-border-color-translucent: rgba(0, 0, 0, 0.175); - --bs-border-radius: 0.375rem; - --bs-border-radius-sm: 0.25rem; - --bs-border-radius-lg: 0.5rem; - --bs-border-radius-xl: 1rem; - --bs-border-radius-xxl: 2rem; - --bs-border-radius-2xl: var(--bs-border-radius-xxl); - --bs-border-radius-pill: 50rem; - --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); - --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); - --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); - --bs-focus-ring-width: 0.25rem; - --bs-focus-ring-opacity: 0.25; - --bs-focus-ring-color: rgba(51, 71, 255, 0.25); - --bs-form-valid-color: #84ee53; - --bs-form-valid-border-color: #84ee53; - --bs-form-invalid-color: #ee5389; - --bs-form-invalid-border-color: #ee5389; } - -[data-bs-theme="dark"] { - color-scheme: dark; - --bs-body-color: #c1c3c8; - --bs-body-color-rgb: 192.831, 194.7078, 199.869; - --bs-body-bg: #17181c; - --bs-body-bg-rgb: 22.95, 24.31, 28.05; - --bs-emphasis-color: #fff; - --bs-emphasis-color-rgb: 255, 255, 255; - --bs-secondary-color: rgba(193, 195, 200, 0.75); - --bs-secondary-color-rgb: 192.831, 194.7078, 199.869; - --bs-secondary-bg: #343a40; - --bs-secondary-bg-rgb: 52, 58, 64; - --bs-tertiary-color: rgba(193, 195, 200, 0.5); - --bs-tertiary-color-rgb: 192.831, 194.7078, 199.869; - --bs-tertiary-bg: #2b3035; - --bs-tertiary-bg-rgb: 43, 48, 53; - --bs-primary-text-emphasis: #8591ff; - --bs-secondary-text-emphasis: #a7acb1; - --bs-success-text-emphasis: #b5f598; - --bs-info-text-emphasis: #8591ff; - --bs-warning-text-emphasis: #f5d798; - --bs-danger-text-emphasis: #f598b8; - --bs-light-text-emphasis: #f8f9fa; - --bs-dark-text-emphasis: #dee2e6; - --bs-primary-bg-subtle: #0a0e33; - --bs-secondary-bg-subtle: #161719; - --bs-success-bg-subtle: #1a3011; - --bs-info-bg-subtle: #0a0e33; - --bs-warning-bg-subtle: #302611; - --bs-danger-bg-subtle: #30111b; - --bs-light-bg-subtle: #23262f; - --bs-dark-bg-subtle: #1a1d20; - --bs-primary-border-subtle: #1f2b99; - --bs-secondary-border-subtle: #41464b; - --bs-success-border-subtle: #4f8f32; - --bs-info-border-subtle: #1f2b99; - --bs-warning-border-subtle: #8f7132; - --bs-danger-border-subtle: #8f3252; - --bs-light-border-subtle: #353841; - --bs-dark-border-subtle: #343a40; - --bs-heading-color: white; - --bs-link-color: #b3c7ff; - --bs-link-hover-color: #c2d2ff; - --bs-link-color-rgb: 178.5, 198.9, 255; - --bs-link-hover-color-rgb: 194, 210, 255; - --bs-code-color: #e685b5; - --bs-highlight-color: #c1c3c8; - --bs-highlight-bg: #5f4c21; - --bs-border-color: #495057; - --bs-border-color-translucent: rgba(255, 255, 255, 0.15); - --bs-form-valid-color: #b5f598; - --bs-form-valid-border-color: #b5f598; - --bs-form-invalid-color: #f598b8; - --bs-form-invalid-border-color: #f598b8; } - -*, -*::before, -*::after { - box-sizing: border-box; } - -@media (prefers-reduced-motion: no-preference) { - :root { - scroll-behavior: smooth; } } - -body { - margin: 0; - font-family: var(--bs-body-font-family); - font-size: var(--bs-body-font-size); - font-weight: var(--bs-body-font-weight); - line-height: var(--bs-body-line-height); - color: var(--bs-body-color); - text-align: var(--bs-body-text-align); - background-color: var(--bs-body-bg); - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - -hr { - margin: 1rem 0; - color: inherit; - border: 0; - border-top: var(--bs-border-width) solid; - opacity: 0.25; } - -h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { - margin-top: 0; - margin-bottom: 0.5rem; - font-weight: 700; - line-height: 1.2; - color: var(--bs-heading-color); } - -h1, .h1 { - font-size: calc(1.375rem + 1.5vw); } - @media (min-width: 1200px) { - h1, .h1 { - font-size: 2.5rem; } } -h2, .h2 { - font-size: calc(1.325rem + 0.9vw); } - @media (min-width: 1200px) { - h2, .h2 { - font-size: 2rem; } } -h3, .h3 { - font-size: calc(1.3rem + 0.6vw); } - @media (min-width: 1200px) { - h3, .h3 { - font-size: 1.75rem; } } -h4, .h4 { - font-size: calc(1.275rem + 0.3vw); } - @media (min-width: 1200px) { - h4, .h4 { - font-size: 1.5rem; } } -h5, .h5 { - font-size: 1.25rem; } - -h6, .h6 { - font-size: 1rem; } - -p { - margin-top: 0; - margin-bottom: 1rem; } - -abbr[title] { - text-decoration: underline dotted; - cursor: help; - text-decoration-skip-ink: none; } - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; } - -ol, -ul { - padding-left: 2rem; } - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; } - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; } - -dt { - font-weight: 700; } - -dd { - margin-bottom: .5rem; - margin-left: 0; } - -blockquote { - margin: 0 0 1rem; } - -b, -strong { - font-weight: bolder; } - -small, .small { - font-size: 0.875em; } - -mark, .mark { - padding: 0.1875em; - color: var(--bs-highlight-color); - background-color: var(--bs-highlight-bg); } - -sub, -sup { - position: relative; - font-size: 0.75em; - line-height: 0; - vertical-align: baseline; } - -sub { - bottom: -.25em; } - -sup { - top: -.5em; } - -a { - color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); - text-decoration: none; } - a:hover { - --bs-link-color-rgb: var(--bs-link-hover-color-rgb); - text-decoration: underline; } - -a:not([href]):not([class]), a:not([href]):not([class]):hover { - color: inherit; - text-decoration: none; } - -pre, -code, -kbd, -samp { - font-family: var(--bs-font-monospace); - font-size: 1em; } - -pre { - display: block; - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - font-size: 0.875em; } - pre code { - font-size: inherit; - color: inherit; - word-break: normal; } - -code { - font-size: 0.875em; - color: var(--bs-code-color); - word-wrap: break-word; } - a > code { - color: inherit; } - -kbd { - padding: 0.1875rem 0.375rem; - font-size: 0.875em; - color: var(--bs-body-bg); - background-color: var(--bs-body-color); - border-radius: 0.25rem; } - kbd kbd { - padding: 0; - font-size: 1em; } - -figure { - margin: 0 0 1rem; } - -img, -svg { - vertical-align: middle; } - -table { - caption-side: bottom; - border-collapse: collapse; } - -caption { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: var(--bs-secondary-color); - text-align: left; } - -th { - text-align: inherit; - text-align: -webkit-match-parent; } - -thead, -tbody, -tfoot, -tr, -td, -th { - border-color: inherit; - border-style: solid; - border-width: 0; } - -label { - display: inline-block; } - -button { - border-radius: 0; } - -button:focus:not(:focus-visible) { - outline: 0; } - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; } - -button, -select { - text-transform: none; } - -[role="button"] { - cursor: pointer; } - -select { - word-wrap: normal; } - select:disabled { - opacity: 1; } - -[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator { - display: none !important; } - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; } - button:not(:disabled), - [type="button"]:not(:disabled), - [type="reset"]:not(:disabled), - [type="submit"]:not(:disabled) { - cursor: pointer; } - -::-moz-focus-inner { - padding: 0; - border-style: none; } - -textarea { - resize: vertical; } - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; } - -legend { - float: left; - width: 100%; - padding: 0; - margin-bottom: 0.5rem; - line-height: inherit; - font-size: calc(1.275rem + 0.3vw); } - @media (min-width: 1200px) { - legend { - font-size: 1.5rem; } } - legend + * { - clear: left; } - -::-webkit-datetime-edit-fields-wrapper, -::-webkit-datetime-edit-text, -::-webkit-datetime-edit-minute, -::-webkit-datetime-edit-hour-field, -::-webkit-datetime-edit-day-field, -::-webkit-datetime-edit-month-field, -::-webkit-datetime-edit-year-field { - padding: 0; } - -::-webkit-inner-spin-button { - height: auto; } - -[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; } - -/* rtl:raw: -[type="tel"], -[type="url"], -[type="email"], -[type="number"] { - direction: ltr; -} -*/ -::-webkit-search-decoration { - -webkit-appearance: none; } - -::-webkit-color-swatch-wrapper { - padding: 0; } - -::file-selector-button { - font: inherit; - -webkit-appearance: button; } - -output { - display: inline-block; } - -iframe { - border: 0; } - -summary { - display: list-item; - cursor: pointer; } - -progress { - vertical-align: baseline; } - -[hidden] { - display: none !important; } - -.lead { - font-size: 1.25rem; - font-weight: 400; } - -.display-1 { - font-weight: 300; - line-height: 1.2; - font-size: calc(1.625rem + 4.5vw); } - @media (min-width: 1200px) { - .display-1 { - font-size: 5rem; } } -.display-2 { - font-weight: 300; - line-height: 1.2; - font-size: calc(1.575rem + 3.9vw); } - @media (min-width: 1200px) { - .display-2 { - font-size: 4.5rem; } } -.display-3 { - font-weight: 300; - line-height: 1.2; - font-size: calc(1.525rem + 3.3vw); } - @media (min-width: 1200px) { - .display-3 { - font-size: 4rem; } } -.display-4 { - font-weight: 300; - line-height: 1.2; - font-size: calc(1.475rem + 2.7vw); } - @media (min-width: 1200px) { - .display-4 { - font-size: 3.5rem; } } -.display-5 { - font-weight: 300; - line-height: 1.2; - font-size: calc(1.425rem + 2.1vw); } - @media (min-width: 1200px) { - .display-5 { - font-size: 3rem; } } -.display-6 { - font-weight: 300; - line-height: 1.2; - font-size: calc(1.375rem + 1.5vw); } - @media (min-width: 1200px) { - .display-6 { - font-size: 2.5rem; } } -.list-unstyled, ul.list-star li, ul.list-package li, ul.list-speech-balloon li, ul.list-books li, ul.list-toolbox li, .comment-list { - padding-left: 0; - list-style: none; } - -.list-inline { - padding-left: 0; - list-style: none; } - -.list-inline-item { - display: inline-block; } - .list-inline-item:not(:last-child) { - margin-right: 0.5rem; } - -.initialism { - font-size: 0.875em; - text-transform: uppercase; } - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; } - .blockquote > :last-child { - margin-bottom: 0; } - -.blockquote-footer { - margin-top: -1rem; - margin-bottom: 1rem; - font-size: 0.875em; - color: #6c757d; } - .blockquote-footer::before { - content: "\2014\00A0"; } - -.img-fluid { - max-width: 100%; - height: auto; } - -.img-thumbnail { - padding: 0.25rem; - background-color: var(--bs-body-bg); - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - max-width: 100%; - height: auto; } - -.figure { - display: inline-block; } - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; } - -.figure-caption { - font-size: 0.875em; - color: var(--bs-secondary-color); } - -.container, -.container-fluid, -.container-xxl, -.container-xl, -.container-lg, -.container-md, -.container-sm { - --bs-gutter-x: 3rem; - --bs-gutter-y: 0; - width: 100%; - padding-right: calc(var(--bs-gutter-x) * .5); - padding-left: calc(var(--bs-gutter-x) * .5); - margin-right: auto; - margin-left: auto; } - -@media (min-width: 576px) { - .container-sm, .container { - max-width: 540px; } } - -@media (min-width: 768px) { - .container-md, .container-sm, .container { - max-width: 720px; } } - -@media (min-width: 992px) { - .container-lg, .container-md, .container-sm, .container { - max-width: 960px; } } - -@media (min-width: 1200px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1240px; } } - -@media (min-width: 1400px) { - .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1320px; } } - -:root { - --bs-breakpoint-xs: 0; - --bs-breakpoint-sm: 576px; - --bs-breakpoint-md: 768px; - --bs-breakpoint-lg: 992px; - --bs-breakpoint-xl: 1200px; - --bs-breakpoint-xxl: 1400px; } - -.row { - --bs-gutter-x: 3rem; - --bs-gutter-y: 0; - display: flex; - flex-wrap: wrap; - margin-top: calc(-1 * var(--bs-gutter-y)); - margin-right: calc(-.5 * var(--bs-gutter-x)); - margin-left: calc(-.5 * var(--bs-gutter-x)); } - .row > * { - flex-shrink: 0; - width: 100%; - max-width: 100%; - padding-right: calc(var(--bs-gutter-x) * .5); - padding-left: calc(var(--bs-gutter-x) * .5); - margin-top: var(--bs-gutter-y); } - -.col { - flex: 1 0 0; } - -.row-cols-auto > * { - flex: 0 0 auto; - width: auto; } - -.row-cols-1 > * { - flex: 0 0 auto; - width: 100%; } - -.row-cols-2 > * { - flex: 0 0 auto; - width: 50%; } - -.row-cols-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - -.row-cols-4 > * { - flex: 0 0 auto; - width: 25%; } - -.row-cols-5 > * { - flex: 0 0 auto; - width: 20%; } - -.row-cols-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - -.col-auto { - flex: 0 0 auto; - width: auto; } - -.col-1 { - flex: 0 0 auto; - width: 6.25%; } - -.col-2 { - flex: 0 0 auto; - width: 12.5%; } - -.col-3 { - flex: 0 0 auto; - width: 18.75%; } - -.col-4 { - flex: 0 0 auto; - width: 25%; } - -.col-5 { - flex: 0 0 auto; - width: 31.25%; } - -.col-6 { - flex: 0 0 auto; - width: 37.5%; } - -.col-7 { - flex: 0 0 auto; - width: 43.75%; } - -.col-8 { - flex: 0 0 auto; - width: 50%; } - -.col-9 { - flex: 0 0 auto; - width: 56.25%; } - -.col-10 { - flex: 0 0 auto; - width: 62.5%; } - -.col-11 { - flex: 0 0 auto; - width: 68.75%; } - -.col-12 { - flex: 0 0 auto; - width: 75%; } - -.col-13 { - flex: 0 0 auto; - width: 81.25%; } - -.col-14 { - flex: 0 0 auto; - width: 87.5%; } - -.col-15 { - flex: 0 0 auto; - width: 93.75%; } - -.col-16 { - flex: 0 0 auto; - width: 100%; } - -.offset-1 { - margin-left: 6.25%; } - -.offset-2 { - margin-left: 12.5%; } - -.offset-3 { - margin-left: 18.75%; } - -.offset-4 { - margin-left: 25%; } - -.offset-5 { - margin-left: 31.25%; } - -.offset-6 { - margin-left: 37.5%; } - -.offset-7 { - margin-left: 43.75%; } - -.offset-8 { - margin-left: 50%; } - -.offset-9 { - margin-left: 56.25%; } - -.offset-10 { - margin-left: 62.5%; } - -.offset-11 { - margin-left: 68.75%; } - -.offset-12 { - margin-left: 75%; } - -.offset-13 { - margin-left: 81.25%; } - -.offset-14 { - margin-left: 87.5%; } - -.offset-15 { - margin-left: 93.75%; } - -.g-0, -.gx-0 { - --bs-gutter-x: 0; } - -.g-0, -.gy-0 { - --bs-gutter-y: 0; } - -.g-1, -.gx-1 { - --bs-gutter-x: 0.25rem; } - -.g-1, -.gy-1 { - --bs-gutter-y: 0.25rem; } - -.g-2, -.gx-2 { - --bs-gutter-x: 0.5rem; } - -.g-2, -.gy-2 { - --bs-gutter-y: 0.5rem; } - -.g-3, -.gx-3 { - --bs-gutter-x: 1rem; } - -.g-3, -.gy-3 { - --bs-gutter-y: 1rem; } - -.g-4, -.gx-4 { - --bs-gutter-x: 1.5rem; } - -.g-4, -.gy-4 { - --bs-gutter-y: 1.5rem; } - -.g-5, -.gx-5 { - --bs-gutter-x: 3rem; } - -.g-5, -.gy-5 { - --bs-gutter-y: 3rem; } - -@media (min-width: 576px) { - .col-sm { - flex: 1 0 0; } - .row-cols-sm-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-sm-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-sm-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-sm-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-sm-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-sm-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-sm-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-sm-auto { - flex: 0 0 auto; - width: auto; } - .col-sm-1 { - flex: 0 0 auto; - width: 6.25%; } - .col-sm-2 { - flex: 0 0 auto; - width: 12.5%; } - .col-sm-3 { - flex: 0 0 auto; - width: 18.75%; } - .col-sm-4 { - flex: 0 0 auto; - width: 25%; } - .col-sm-5 { - flex: 0 0 auto; - width: 31.25%; } - .col-sm-6 { - flex: 0 0 auto; - width: 37.5%; } - .col-sm-7 { - flex: 0 0 auto; - width: 43.75%; } - .col-sm-8 { - flex: 0 0 auto; - width: 50%; } - .col-sm-9 { - flex: 0 0 auto; - width: 56.25%; } - .col-sm-10 { - flex: 0 0 auto; - width: 62.5%; } - .col-sm-11 { - flex: 0 0 auto; - width: 68.75%; } - .col-sm-12 { - flex: 0 0 auto; - width: 75%; } - .col-sm-13 { - flex: 0 0 auto; - width: 81.25%; } - .col-sm-14 { - flex: 0 0 auto; - width: 87.5%; } - .col-sm-15 { - flex: 0 0 auto; - width: 93.75%; } - .col-sm-16 { - flex: 0 0 auto; - width: 100%; } - .offset-sm-0 { - margin-left: 0; } - .offset-sm-1 { - margin-left: 6.25%; } - .offset-sm-2 { - margin-left: 12.5%; } - .offset-sm-3 { - margin-left: 18.75%; } - .offset-sm-4 { - margin-left: 25%; } - .offset-sm-5 { - margin-left: 31.25%; } - .offset-sm-6 { - margin-left: 37.5%; } - .offset-sm-7 { - margin-left: 43.75%; } - .offset-sm-8 { - margin-left: 50%; } - .offset-sm-9 { - margin-left: 56.25%; } - .offset-sm-10 { - margin-left: 62.5%; } - .offset-sm-11 { - margin-left: 68.75%; } - .offset-sm-12 { - margin-left: 75%; } - .offset-sm-13 { - margin-left: 81.25%; } - .offset-sm-14 { - margin-left: 87.5%; } - .offset-sm-15 { - margin-left: 93.75%; } - .g-sm-0, - .gx-sm-0 { - --bs-gutter-x: 0; } - .g-sm-0, - .gy-sm-0 { - --bs-gutter-y: 0; } - .g-sm-1, - .gx-sm-1 { - --bs-gutter-x: 0.25rem; } - .g-sm-1, - .gy-sm-1 { - --bs-gutter-y: 0.25rem; } - .g-sm-2, - .gx-sm-2 { - --bs-gutter-x: 0.5rem; } - .g-sm-2, - .gy-sm-2 { - --bs-gutter-y: 0.5rem; } - .g-sm-3, - .gx-sm-3 { - --bs-gutter-x: 1rem; } - .g-sm-3, - .gy-sm-3 { - --bs-gutter-y: 1rem; } - .g-sm-4, - .gx-sm-4 { - --bs-gutter-x: 1.5rem; } - .g-sm-4, - .gy-sm-4 { - --bs-gutter-y: 1.5rem; } - .g-sm-5, - .gx-sm-5 { - --bs-gutter-x: 3rem; } - .g-sm-5, - .gy-sm-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 768px) { - .col-md { - flex: 1 0 0; } - .row-cols-md-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-md-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-md-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-md-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-md-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-md-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-md-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-md-auto { - flex: 0 0 auto; - width: auto; } - .col-md-1 { - flex: 0 0 auto; - width: 6.25%; } - .col-md-2 { - flex: 0 0 auto; - width: 12.5%; } - .col-md-3 { - flex: 0 0 auto; - width: 18.75%; } - .col-md-4 { - flex: 0 0 auto; - width: 25%; } - .col-md-5 { - flex: 0 0 auto; - width: 31.25%; } - .col-md-6 { - flex: 0 0 auto; - width: 37.5%; } - .col-md-7 { - flex: 0 0 auto; - width: 43.75%; } - .col-md-8 { - flex: 0 0 auto; - width: 50%; } - .col-md-9 { - flex: 0 0 auto; - width: 56.25%; } - .col-md-10 { - flex: 0 0 auto; - width: 62.5%; } - .col-md-11 { - flex: 0 0 auto; - width: 68.75%; } - .col-md-12 { - flex: 0 0 auto; - width: 75%; } - .col-md-13 { - flex: 0 0 auto; - width: 81.25%; } - .col-md-14 { - flex: 0 0 auto; - width: 87.5%; } - .col-md-15 { - flex: 0 0 auto; - width: 93.75%; } - .col-md-16 { - flex: 0 0 auto; - width: 100%; } - .offset-md-0 { - margin-left: 0; } - .offset-md-1 { - margin-left: 6.25%; } - .offset-md-2 { - margin-left: 12.5%; } - .offset-md-3 { - margin-left: 18.75%; } - .offset-md-4 { - margin-left: 25%; } - .offset-md-5 { - margin-left: 31.25%; } - .offset-md-6 { - margin-left: 37.5%; } - .offset-md-7 { - margin-left: 43.75%; } - .offset-md-8 { - margin-left: 50%; } - .offset-md-9 { - margin-left: 56.25%; } - .offset-md-10 { - margin-left: 62.5%; } - .offset-md-11 { - margin-left: 68.75%; } - .offset-md-12 { - margin-left: 75%; } - .offset-md-13 { - margin-left: 81.25%; } - .offset-md-14 { - margin-left: 87.5%; } - .offset-md-15 { - margin-left: 93.75%; } - .g-md-0, - .gx-md-0 { - --bs-gutter-x: 0; } - .g-md-0, - .gy-md-0 { - --bs-gutter-y: 0; } - .g-md-1, - .gx-md-1 { - --bs-gutter-x: 0.25rem; } - .g-md-1, - .gy-md-1 { - --bs-gutter-y: 0.25rem; } - .g-md-2, - .gx-md-2 { - --bs-gutter-x: 0.5rem; } - .g-md-2, - .gy-md-2 { - --bs-gutter-y: 0.5rem; } - .g-md-3, - .gx-md-3 { - --bs-gutter-x: 1rem; } - .g-md-3, - .gy-md-3 { - --bs-gutter-y: 1rem; } - .g-md-4, - .gx-md-4 { - --bs-gutter-x: 1.5rem; } - .g-md-4, - .gy-md-4 { - --bs-gutter-y: 1.5rem; } - .g-md-5, - .gx-md-5 { - --bs-gutter-x: 3rem; } - .g-md-5, - .gy-md-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 992px) { - .col-lg { - flex: 1 0 0; } - .row-cols-lg-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-lg-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-lg-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-lg-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-lg-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-lg-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-lg-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-lg-auto { - flex: 0 0 auto; - width: auto; } - .col-lg-1 { - flex: 0 0 auto; - width: 6.25%; } - .col-lg-2 { - flex: 0 0 auto; - width: 12.5%; } - .col-lg-3 { - flex: 0 0 auto; - width: 18.75%; } - .col-lg-4 { - flex: 0 0 auto; - width: 25%; } - .col-lg-5 { - flex: 0 0 auto; - width: 31.25%; } - .col-lg-6 { - flex: 0 0 auto; - width: 37.5%; } - .col-lg-7 { - flex: 0 0 auto; - width: 43.75%; } - .col-lg-8 { - flex: 0 0 auto; - width: 50%; } - .col-lg-9 { - flex: 0 0 auto; - width: 56.25%; } - .col-lg-10 { - flex: 0 0 auto; - width: 62.5%; } - .col-lg-11 { - flex: 0 0 auto; - width: 68.75%; } - .col-lg-12 { - flex: 0 0 auto; - width: 75%; } - .col-lg-13 { - flex: 0 0 auto; - width: 81.25%; } - .col-lg-14 { - flex: 0 0 auto; - width: 87.5%; } - .col-lg-15 { - flex: 0 0 auto; - width: 93.75%; } - .col-lg-16 { - flex: 0 0 auto; - width: 100%; } - .offset-lg-0 { - margin-left: 0; } - .offset-lg-1 { - margin-left: 6.25%; } - .offset-lg-2 { - margin-left: 12.5%; } - .offset-lg-3 { - margin-left: 18.75%; } - .offset-lg-4 { - margin-left: 25%; } - .offset-lg-5 { - margin-left: 31.25%; } - .offset-lg-6 { - margin-left: 37.5%; } - .offset-lg-7 { - margin-left: 43.75%; } - .offset-lg-8 { - margin-left: 50%; } - .offset-lg-9 { - margin-left: 56.25%; } - .offset-lg-10 { - margin-left: 62.5%; } - .offset-lg-11 { - margin-left: 68.75%; } - .offset-lg-12 { - margin-left: 75%; } - .offset-lg-13 { - margin-left: 81.25%; } - .offset-lg-14 { - margin-left: 87.5%; } - .offset-lg-15 { - margin-left: 93.75%; } - .g-lg-0, - .gx-lg-0 { - --bs-gutter-x: 0; } - .g-lg-0, - .gy-lg-0 { - --bs-gutter-y: 0; } - .g-lg-1, - .gx-lg-1 { - --bs-gutter-x: 0.25rem; } - .g-lg-1, - .gy-lg-1 { - --bs-gutter-y: 0.25rem; } - .g-lg-2, - .gx-lg-2 { - --bs-gutter-x: 0.5rem; } - .g-lg-2, - .gy-lg-2 { - --bs-gutter-y: 0.5rem; } - .g-lg-3, - .gx-lg-3 { - --bs-gutter-x: 1rem; } - .g-lg-3, - .gy-lg-3 { - --bs-gutter-y: 1rem; } - .g-lg-4, - .gx-lg-4 { - --bs-gutter-x: 1.5rem; } - .g-lg-4, - .gy-lg-4 { - --bs-gutter-y: 1.5rem; } - .g-lg-5, - .gx-lg-5 { - --bs-gutter-x: 3rem; } - .g-lg-5, - .gy-lg-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 1200px) { - .col-xl { - flex: 1 0 0; } - .row-cols-xl-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-xl-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-xl-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-xl-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-xl-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-xl-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-xl-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xl-auto { - flex: 0 0 auto; - width: auto; } - .col-xl-1 { - flex: 0 0 auto; - width: 6.25%; } - .col-xl-2 { - flex: 0 0 auto; - width: 12.5%; } - .col-xl-3 { - flex: 0 0 auto; - width: 18.75%; } - .col-xl-4 { - flex: 0 0 auto; - width: 25%; } - .col-xl-5 { - flex: 0 0 auto; - width: 31.25%; } - .col-xl-6 { - flex: 0 0 auto; - width: 37.5%; } - .col-xl-7 { - flex: 0 0 auto; - width: 43.75%; } - .col-xl-8 { - flex: 0 0 auto; - width: 50%; } - .col-xl-9 { - flex: 0 0 auto; - width: 56.25%; } - .col-xl-10 { - flex: 0 0 auto; - width: 62.5%; } - .col-xl-11 { - flex: 0 0 auto; - width: 68.75%; } - .col-xl-12 { - flex: 0 0 auto; - width: 75%; } - .col-xl-13 { - flex: 0 0 auto; - width: 81.25%; } - .col-xl-14 { - flex: 0 0 auto; - width: 87.5%; } - .col-xl-15 { - flex: 0 0 auto; - width: 93.75%; } - .col-xl-16 { - flex: 0 0 auto; - width: 100%; } - .offset-xl-0 { - margin-left: 0; } - .offset-xl-1 { - margin-left: 6.25%; } - .offset-xl-2 { - margin-left: 12.5%; } - .offset-xl-3 { - margin-left: 18.75%; } - .offset-xl-4 { - margin-left: 25%; } - .offset-xl-5 { - margin-left: 31.25%; } - .offset-xl-6 { - margin-left: 37.5%; } - .offset-xl-7 { - margin-left: 43.75%; } - .offset-xl-8 { - margin-left: 50%; } - .offset-xl-9 { - margin-left: 56.25%; } - .offset-xl-10 { - margin-left: 62.5%; } - .offset-xl-11 { - margin-left: 68.75%; } - .offset-xl-12 { - margin-left: 75%; } - .offset-xl-13 { - margin-left: 81.25%; } - .offset-xl-14 { - margin-left: 87.5%; } - .offset-xl-15 { - margin-left: 93.75%; } - .g-xl-0, - .gx-xl-0 { - --bs-gutter-x: 0; } - .g-xl-0, - .gy-xl-0 { - --bs-gutter-y: 0; } - .g-xl-1, - .gx-xl-1 { - --bs-gutter-x: 0.25rem; } - .g-xl-1, - .gy-xl-1 { - --bs-gutter-y: 0.25rem; } - .g-xl-2, - .gx-xl-2 { - --bs-gutter-x: 0.5rem; } - .g-xl-2, - .gy-xl-2 { - --bs-gutter-y: 0.5rem; } - .g-xl-3, - .gx-xl-3 { - --bs-gutter-x: 1rem; } - .g-xl-3, - .gy-xl-3 { - --bs-gutter-y: 1rem; } - .g-xl-4, - .gx-xl-4 { - --bs-gutter-x: 1.5rem; } - .g-xl-4, - .gy-xl-4 { - --bs-gutter-y: 1.5rem; } - .g-xl-5, - .gx-xl-5 { - --bs-gutter-x: 3rem; } - .g-xl-5, - .gy-xl-5 { - --bs-gutter-y: 3rem; } } - -@media (min-width: 1400px) { - .col-xxl { - flex: 1 0 0; } - .row-cols-xxl-auto > * { - flex: 0 0 auto; - width: auto; } - .row-cols-xxl-1 > * { - flex: 0 0 auto; - width: 100%; } - .row-cols-xxl-2 > * { - flex: 0 0 auto; - width: 50%; } - .row-cols-xxl-3 > * { - flex: 0 0 auto; - width: 33.33333333%; } - .row-cols-xxl-4 > * { - flex: 0 0 auto; - width: 25%; } - .row-cols-xxl-5 > * { - flex: 0 0 auto; - width: 20%; } - .row-cols-xxl-6 > * { - flex: 0 0 auto; - width: 16.66666667%; } - .col-xxl-auto { - flex: 0 0 auto; - width: auto; } - .col-xxl-1 { - flex: 0 0 auto; - width: 6.25%; } - .col-xxl-2 { - flex: 0 0 auto; - width: 12.5%; } - .col-xxl-3 { - flex: 0 0 auto; - width: 18.75%; } - .col-xxl-4 { - flex: 0 0 auto; - width: 25%; } - .col-xxl-5 { - flex: 0 0 auto; - width: 31.25%; } - .col-xxl-6 { - flex: 0 0 auto; - width: 37.5%; } - .col-xxl-7 { - flex: 0 0 auto; - width: 43.75%; } - .col-xxl-8 { - flex: 0 0 auto; - width: 50%; } - .col-xxl-9 { - flex: 0 0 auto; - width: 56.25%; } - .col-xxl-10 { - flex: 0 0 auto; - width: 62.5%; } - .col-xxl-11 { - flex: 0 0 auto; - width: 68.75%; } - .col-xxl-12 { - flex: 0 0 auto; - width: 75%; } - .col-xxl-13 { - flex: 0 0 auto; - width: 81.25%; } - .col-xxl-14 { - flex: 0 0 auto; - width: 87.5%; } - .col-xxl-15 { - flex: 0 0 auto; - width: 93.75%; } - .col-xxl-16 { - flex: 0 0 auto; - width: 100%; } - .offset-xxl-0 { - margin-left: 0; } - .offset-xxl-1 { - margin-left: 6.25%; } - .offset-xxl-2 { - margin-left: 12.5%; } - .offset-xxl-3 { - margin-left: 18.75%; } - .offset-xxl-4 { - margin-left: 25%; } - .offset-xxl-5 { - margin-left: 31.25%; } - .offset-xxl-6 { - margin-left: 37.5%; } - .offset-xxl-7 { - margin-left: 43.75%; } - .offset-xxl-8 { - margin-left: 50%; } - .offset-xxl-9 { - margin-left: 56.25%; } - .offset-xxl-10 { - margin-left: 62.5%; } - .offset-xxl-11 { - margin-left: 68.75%; } - .offset-xxl-12 { - margin-left: 75%; } - .offset-xxl-13 { - margin-left: 81.25%; } - .offset-xxl-14 { - margin-left: 87.5%; } - .offset-xxl-15 { - margin-left: 93.75%; } - .g-xxl-0, - .gx-xxl-0 { - --bs-gutter-x: 0; } - .g-xxl-0, - .gy-xxl-0 { - --bs-gutter-y: 0; } - .g-xxl-1, - .gx-xxl-1 { - --bs-gutter-x: 0.25rem; } - .g-xxl-1, - .gy-xxl-1 { - --bs-gutter-y: 0.25rem; } - .g-xxl-2, - .gx-xxl-2 { - --bs-gutter-x: 0.5rem; } - .g-xxl-2, - .gy-xxl-2 { - --bs-gutter-y: 0.5rem; } - .g-xxl-3, - .gx-xxl-3 { - --bs-gutter-x: 1rem; } - .g-xxl-3, - .gy-xxl-3 { - --bs-gutter-y: 1rem; } - .g-xxl-4, - .gx-xxl-4 { - --bs-gutter-x: 1.5rem; } - .g-xxl-4, - .gy-xxl-4 { - --bs-gutter-y: 1.5rem; } - .g-xxl-5, - .gx-xxl-5 { - --bs-gutter-x: 3rem; } - .g-xxl-5, - .gy-xxl-5 { - --bs-gutter-y: 3rem; } } - -.clearfix::after { - display: block; - clear: both; - content: ""; } - -.text-bg-primary { - color: #fff !important; - background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-secondary { - color: #fff !important; - background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-success { - color: #000 !important; - background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-info { - color: #fff !important; - background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-warning { - color: #000 !important; - background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-danger { - color: #000 !important; - background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-light { - color: #000 !important; - background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; } - -.text-bg-dark { - color: #fff !important; - background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; } - -.link-primary { - color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-primary:hover, .link-primary:focus { - color: RGBA(41, 57, 204, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(41, 57, 204, var(--bs-link-underline-opacity, 1)) !important; } - -.link-secondary { - color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-secondary:hover, .link-secondary:focus { - color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important; } - -.link-success { - color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-success:hover, .link-success:focus { - color: RGBA(157, 241, 118, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(157, 241, 118, var(--bs-link-underline-opacity, 1)) !important; } - -.link-info { - color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-info:hover, .link-info:focus { - color: RGBA(41, 57, 204, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(41, 57, 204, var(--bs-link-underline-opacity, 1)) !important; } - -.link-warning { - color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-warning:hover, .link-warning:focus { - color: RGBA(241, 202, 118, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(241, 202, 118, var(--bs-link-underline-opacity, 1)) !important; } - -.link-danger { - color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-danger:hover, .link-danger:focus { - color: RGBA(241, 118, 161, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(241, 118, 161, var(--bs-link-underline-opacity, 1)) !important; } - -.link-light { - color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-light:hover, .link-light:focus { - color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important; } - -.link-dark { - color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-dark:hover, .link-dark:focus { - color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important; } - -.link-body-emphasis { - color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important; - text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important; } - .link-body-emphasis:hover, .link-body-emphasis:focus { - color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important; - text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important; } - -.focus-ring:focus { - outline: 0; - box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); } - -.icon-link { - display: inline-flex; - gap: 0.375rem; - align-items: center; - text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5)); - text-underline-offset: 0.25em; - backface-visibility: hidden; } - .icon-link > .bi { - flex-shrink: 0; - width: 1em; - height: 1em; - fill: currentcolor; - transition: 0.2s ease-in-out transform; } - @media (prefers-reduced-motion: reduce) { - .icon-link > .bi { - transition: none; } } -.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi { - transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); } - -.ratio { - position: relative; - width: 100%; } - .ratio::before { - display: block; - padding-top: var(--bs-aspect-ratio); - content: ""; } - .ratio > * { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - -.ratio-1x1 { - --bs-aspect-ratio: 100%; } - -.ratio-4x3 { - --bs-aspect-ratio: calc(3 / 4 * 100%); } - -.ratio-16x9 { - --bs-aspect-ratio: calc(9 / 16 * 100%); } - -.ratio-21x9 { - --bs-aspect-ratio: calc(9 / 21 * 100%); } - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; } - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; } - -.sticky-top { - position: sticky; - top: 0; - z-index: 1020; } - -.sticky-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } - -@media (min-width: 576px) { - .sticky-sm-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-sm-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 768px) { - .sticky-md-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-md-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 992px) { - .sticky-lg-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-lg-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 1200px) { - .sticky-xl-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-xl-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -@media (min-width: 1400px) { - .sticky-xxl-top { - position: sticky; - top: 0; - z-index: 1020; } - .sticky-xxl-bottom { - position: sticky; - bottom: 0; - z-index: 1020; } } - -.hstack { - display: flex; - flex-direction: row; - align-items: center; - align-self: stretch; } - -.vstack { - display: flex; - flex: 1 1 auto; - flex-direction: column; - align-self: stretch; } - -.visually-hidden, -.visually-hidden-focusable:not(:focus):not(:focus-within) { - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; } - .visually-hidden:not(caption), - .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { - position: absolute !important; } - .visually-hidden *, - .visually-hidden-focusable:not(:focus):not(:focus-within) * { - overflow: hidden !important; } - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - content: ""; } - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - -.vr { - display: inline-block; - align-self: stretch; - width: var(--bs-border-width); - min-height: 1em; - background-color: currentcolor; - opacity: 0.25; } - -.table, table { - --bs-table-color-type: initial; - --bs-table-bg-type: initial; - --bs-table-color-state: initial; - --bs-table-bg-state: initial; - --bs-table-color: var(--bs-emphasis-color); - --bs-table-bg: var(--bs-body-bg); - --bs-table-border-color: var(--bs-border-color); - --bs-table-accent-bg: transparent; - --bs-table-striped-color: var(--bs-emphasis-color); - --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05); - --bs-table-active-color: var(--bs-emphasis-color); - --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1); - --bs-table-hover-color: var(--bs-emphasis-color); - --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075); - width: 100%; - margin-bottom: 1rem; - vertical-align: top; - border-color: var(--bs-table-border-color); } - .table > :not(caption) > * > *, table > :not(caption) > * > * { - padding: 0.5rem 0.5rem; - color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); - background-color: var(--bs-table-bg); - border-bottom-width: var(--bs-border-width); - box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); } - .table > tbody, table > tbody { - vertical-align: inherit; } - .table > thead, table > thead { - vertical-align: bottom; } - -.table-group-divider { - border-top: calc(var(--bs-border-width) * 2) solid currentcolor; } - -.caption-top { - caption-side: top; } - -.table-sm > :not(caption) > * > * { - padding: 0.25rem 0.25rem; } - -.table-bordered > :not(caption) > * { - border-width: var(--bs-border-width) 0; } - .table-bordered > :not(caption) > * > * { - border-width: 0 var(--bs-border-width); } - -.table-borderless > :not(caption) > * > * { - border-bottom-width: 0; } - -.table-borderless > :not(:first-child) { - border-top-width: 0; } - -.table-striped > tbody > tr:nth-of-type(odd) > * { - --bs-table-color-type: var(--bs-table-striped-color); - --bs-table-bg-type: var(--bs-table-striped-bg); } - -.table-striped-columns > :not(caption) > tr > :nth-child(even) { - --bs-table-color-type: var(--bs-table-striped-color); - --bs-table-bg-type: var(--bs-table-striped-bg); } - -.table-active { - --bs-table-color-state: var(--bs-table-active-color); - --bs-table-bg-state: var(--bs-table-active-bg); } - -.table-hover > tbody > tr:hover > * { - --bs-table-color-state: var(--bs-table-hover-color); - --bs-table-bg-state: var(--bs-table-hover-bg); } - -.table-primary { - --bs-table-color: #000; - --bs-table-bg: #d6daff; - --bs-table-border-color: #abaecc; - --bs-table-striped-bg: #cbcff2; - --bs-table-striped-color: #000; - --bs-table-active-bg: #c1c4e6; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c6caec; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-secondary { - --bs-table-color: #000; - --bs-table-bg: #e2e3e5; - --bs-table-border-color: #b5b6b7; - --bs-table-striped-bg: #d7d8da; - --bs-table-striped-color: #000; - --bs-table-active-bg: #cbccce; - --bs-table-active-color: #000; - --bs-table-hover-bg: #d1d2d4; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-success { - --bs-table-color: #000; - --bs-table-bg: #e6fcdd; - --bs-table-border-color: #b8cab1; - --bs-table-striped-bg: #dbefd2; - --bs-table-striped-color: #000; - --bs-table-active-bg: #cfe3c7; - --bs-table-active-color: #000; - --bs-table-hover-bg: #d5e9cc; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-info { - --bs-table-color: #000; - --bs-table-bg: #d6daff; - --bs-table-border-color: #abaecc; - --bs-table-striped-bg: #cbcff2; - --bs-table-striped-color: #000; - --bs-table-active-bg: #c1c4e6; - --bs-table-active-color: #000; - --bs-table-hover-bg: #c6caec; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-warning { - --bs-table-color: #000; - --bs-table-bg: #fcf2dd; - --bs-table-border-color: #cac2b1; - --bs-table-striped-bg: #efe6d2; - --bs-table-striped-color: #000; - --bs-table-active-bg: #e3dac7; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e9e0cc; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-danger { - --bs-table-color: #000; - --bs-table-bg: #fcdde7; - --bs-table-border-color: #cab1b9; - --bs-table-striped-bg: #efd2db; - --bs-table-striped-color: #000; - --bs-table-active-bg: #e3c7d0; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e9ccd6; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-light { - --bs-table-color: #000; - --bs-table-bg: #f8f9fa; - --bs-table-border-color: #c6c7c8; - --bs-table-striped-bg: #ecedee; - --bs-table-striped-color: #000; - --bs-table-active-bg: #dfe0e1; - --bs-table-active-color: #000; - --bs-table-hover-bg: #e5e6e7; - --bs-table-hover-color: #000; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-dark, [data-bs-theme="dark"] table { - --bs-table-color: #fff; - --bs-table-bg: #212529; - --bs-table-border-color: #4d5154; - --bs-table-striped-bg: #2c3034; - --bs-table-striped-color: #fff; - --bs-table-active-bg: #373b3e; - --bs-table-active-color: #fff; - --bs-table-hover-bg: #323539; - --bs-table-hover-color: #fff; - color: var(--bs-table-color); - border-color: var(--bs-table-border-color); } - -.table-responsive { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - -@media (max-width: 575.98px) { - .table-responsive-sm { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 767.98px) { - .table-responsive-md { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 991.98px) { - .table-responsive-lg { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 1199.98px) { - .table-responsive-xl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -@media (max-width: 1399.98px) { - .table-responsive-xxl { - overflow-x: auto; - -webkit-overflow-scrolling: touch; } } - -.form-label { - margin-bottom: 0.5rem; } - -.col-form-label { - padding-top: calc(0.375rem + var(--bs-border-width)); - padding-bottom: calc(0.375rem + var(--bs-border-width)); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; } - -.col-form-label-lg { - padding-top: calc(0.5rem + var(--bs-border-width)); - padding-bottom: calc(0.5rem + var(--bs-border-width)); - font-size: 1.25rem; } - -.col-form-label-sm { - padding-top: calc(0.25rem + var(--bs-border-width)); - padding-bottom: calc(0.25rem + var(--bs-border-width)); - font-size: 0.875rem; } - -.form-text { - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-secondary-color); } - -.form-control, .search-form .search-field, .comment-form input[type="text"], -.comment-form input[type="email"], -.comment-form input[type="url"], -.comment-form textarea { - display: block; - width: 100%; - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - appearance: none; - background-color: var(--bs-body-bg); - background-clip: padding-box; - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-control, .search-form .search-field, .comment-form input[type="text"], - .comment-form input[type="email"], - .comment-form input[type="url"], - .comment-form textarea { - transition: none; } } - .form-control[type="file"], .search-form [type="file"].search-field, .comment-form input[type="file"][type="text"], - .comment-form input[type="file"][type="email"], - .comment-form input[type="file"][type="url"], - .comment-form textarea[type="file"] { - overflow: hidden; } - .form-control[type="file"]:not(:disabled):not([readonly]), .search-form [type="file"].search-field:not(:disabled):not([readonly]), .comment-form input[type="file"][type="text"]:not(:disabled):not([readonly]), - .comment-form input[type="file"][type="email"]:not(:disabled):not([readonly]), - .comment-form input[type="file"][type="url"]:not(:disabled):not([readonly]), - .comment-form textarea[type="file"]:not(:disabled):not([readonly]) { - cursor: pointer; } - .form-control:focus, .search-form .search-field:focus, .comment-form input[type="text"]:focus, - .comment-form input[type="email"]:focus, - .comment-form input[type="url"]:focus, - .comment-form textarea:focus { - color: var(--bs-body-color); - background-color: var(--bs-body-bg); - border-color: #99a3ff; - outline: 0; - box-shadow: none; } - .form-control::-webkit-date-and-time-value, .search-form .search-field::-webkit-date-and-time-value, .comment-form input[type="text"]::-webkit-date-and-time-value, - .comment-form input[type="email"]::-webkit-date-and-time-value, - .comment-form input[type="url"]::-webkit-date-and-time-value, - .comment-form textarea::-webkit-date-and-time-value { - min-width: 85px; - height: 1.5em; - margin: 0; } - .form-control::-webkit-datetime-edit, .search-form .search-field::-webkit-datetime-edit, .comment-form input[type="text"]::-webkit-datetime-edit, - .comment-form input[type="email"]::-webkit-datetime-edit, - .comment-form input[type="url"]::-webkit-datetime-edit, - .comment-form textarea::-webkit-datetime-edit { - display: block; - padding: 0; } - .form-control::placeholder, .search-form .search-field::placeholder, .comment-form input[type="text"]::placeholder, - .comment-form input[type="email"]::placeholder, - .comment-form input[type="url"]::placeholder, - .comment-form textarea::placeholder { - color: var(--bs-secondary-color); - opacity: 1; } - .form-control:disabled, .search-form .search-field:disabled, .comment-form input[type="text"]:disabled, - .comment-form input[type="email"]:disabled, - .comment-form input[type="url"]:disabled, - .comment-form textarea:disabled { - background-color: var(--bs-secondary-bg); - opacity: 1; } - .form-control::file-selector-button, .search-form .search-field::file-selector-button, .comment-form input[type="text"]::file-selector-button, - .comment-form input[type="email"]::file-selector-button, - .comment-form input[type="url"]::file-selector-button, - .comment-form textarea::file-selector-button { - padding: 0.375rem 0.75rem; - margin: -0.375rem -0.75rem; - margin-inline-end: 0.75rem; - color: var(--bs-body-color); - background-color: var(--bs-tertiary-bg); - pointer-events: none; - border-color: inherit; - border-style: solid; - border-width: 0; - border-inline-end-width: var(--bs-border-width); - border-radius: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-control::file-selector-button, .search-form .search-field::file-selector-button, .comment-form input[type="text"]::file-selector-button, - .comment-form input[type="email"]::file-selector-button, - .comment-form input[type="url"]::file-selector-button, - .comment-form textarea::file-selector-button { - transition: none; } } - .form-control:hover:not(:disabled):not([readonly])::file-selector-button, .search-form .search-field:hover:not(:disabled):not([readonly])::file-selector-button, .comment-form input[type="text"]:hover:not(:disabled):not([readonly])::file-selector-button, - .comment-form input[type="email"]:hover:not(:disabled):not([readonly])::file-selector-button, - .comment-form input[type="url"]:hover:not(:disabled):not([readonly])::file-selector-button, - .comment-form textarea:hover:not(:disabled):not([readonly])::file-selector-button { - background-color: var(--bs-secondary-bg); } - -.form-control-plaintext { - display: block; - width: 100%; - padding: 0.375rem 0; - margin-bottom: 0; - line-height: 1.5; - color: var(--bs-body-color); - background-color: transparent; - border: solid transparent; - border-width: var(--bs-border-width) 0; } - .form-control-plaintext:focus { - outline: 0; } - .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; } - -.form-control-sm { - min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - .form-control-sm::file-selector-button { - padding: 0.25rem 0.5rem; - margin: -0.25rem -0.5rem; - margin-inline-end: 0.5rem; } - -.form-control-lg { - min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); - padding: 0.5rem 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - .form-control-lg::file-selector-button { - padding: 0.5rem 1rem; - margin: -0.5rem -1rem; - margin-inline-end: 1rem; } - -textarea.form-control, .search-form textarea.search-field { - min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); } - -textarea.form-control-sm { - min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); } - -textarea.form-control-lg { - min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); } - -.form-control-color { - width: 3rem; - height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2)); - padding: 0.375rem; } - .form-control-color:not(:disabled):not([readonly]) { - cursor: pointer; } - .form-control-color::-moz-color-swatch { - border: 0 !important; - border-radius: var(--bs-border-radius); } - .form-control-color::-webkit-color-swatch { - border: 0 !important; - border-radius: var(--bs-border-radius); } - .form-control-color.form-control-sm { - height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)); } - .form-control-color.form-control-lg { - height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); } - -.form-select { - --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - display: block; - width: 100%; - padding: 0.375rem 2.25rem 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - appearance: none; - background-color: var(--bs-body-bg); - background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); - background-repeat: no-repeat; - background-position: right 0.75rem center; - background-size: 16px 12px; - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-select { - transition: none; } } - .form-select:focus { - border-color: #99a3ff; - outline: 0; - box-shadow: 0 0 0 0 rgba(51, 71, 255, 0.25); } - .form-select[multiple], .form-select[size]:not([size="1"]) { - padding-right: 0.75rem; - background-image: none; } - .form-select:disabled { - background-color: var(--bs-secondary-bg); } - .form-select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 var(--bs-body-color); } - -.form-select-sm { - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - -.form-select-lg { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - -[data-bs-theme="dark"] .form-select { - --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23c1c3c8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); } - -.form-check { - display: block; - min-height: 1.5rem; - padding-left: 1.5em; - margin-bottom: 0.125rem; } - .form-check .form-check-input, .form-check li input[type="checkbox"], li .form-check input[type="checkbox"] { - float: left; - margin-left: -1.5em; } - -.form-check-reverse { - padding-right: 1.5em; - padding-left: 0; - text-align: right; } - .form-check-reverse .form-check-input, .form-check-reverse li input[type="checkbox"], li .form-check-reverse input[type="checkbox"] { - float: right; - margin-right: -1.5em; - margin-left: 0; } - -.form-check-input, li input[type="checkbox"] { - --bs-form-check-bg: var(--bs-body-bg); - flex-shrink: 0; - width: 1em; - height: 1em; - margin-top: 0.25em; - vertical-align: top; - appearance: none; - background-color: var(--bs-form-check-bg); - background-image: var(--bs-form-check-bg-image); - background-repeat: no-repeat; - background-position: center; - background-size: contain; - border: var(--bs-border-width) solid var(--bs-border-color); - print-color-adjust: exact; } - .form-check-input[type="checkbox"], li input[type="checkbox"] { - border-radius: 0.25em; } - .form-check-input[type="radio"], li input[type="radio"][type="checkbox"] { - border-radius: 50%; } - .form-check-input:active, li input[type="checkbox"]:active { - filter: brightness(90%); } - .form-check-input:focus, li input[type="checkbox"]:focus { - border-color: #99a3ff; - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(51, 71, 255, 0.25); } - .form-check-input:checked, li input[type="checkbox"]:checked { - background-color: #3347ff; - border-color: #3347ff; } - .form-check-input:checked[type="checkbox"], li input:checked[type="checkbox"] { - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); } - .form-check-input:checked[type="radio"], li input[type="checkbox"]:checked[type="radio"] { - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); } - .form-check-input[type="checkbox"]:indeterminate, li input[type="checkbox"]:indeterminate { - background-color: #3347ff; - border-color: #3347ff; - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); } - .form-check-input:disabled, li input[type="checkbox"]:disabled { - pointer-events: none; - filter: none; - opacity: 0.5; } - .form-check-input[disabled] ~ .form-check-label, li input[disabled][type="checkbox"] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label, li input[type="checkbox"]:disabled ~ .form-check-label { - cursor: default; - opacity: 0.5; } - -.form-switch { - padding-left: 2.5em; } - .form-switch .form-check-input, .form-switch li input[type="checkbox"], li .form-switch input[type="checkbox"] { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); - width: 2em; - margin-left: -2.5em; - background-image: var(--bs-form-switch-bg); - background-position: left center; - border-radius: 2em; - transition: background-position 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-switch .form-check-input, .form-switch li input[type="checkbox"], li .form-switch input[type="checkbox"] { - transition: none; } } - .form-switch .form-check-input:focus, .form-switch li input[type="checkbox"]:focus, li .form-switch input[type="checkbox"]:focus { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2399a3ff'/%3e%3c/svg%3e"); } - .form-switch .form-check-input:checked, .form-switch li input[type="checkbox"]:checked, li .form-switch input[type="checkbox"]:checked { - background-position: right center; - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } - .form-switch.form-check-reverse { - padding-right: 2.5em; - padding-left: 0; } - .form-switch.form-check-reverse .form-check-input, .form-switch.form-check-reverse li input[type="checkbox"], li .form-switch.form-check-reverse input[type="checkbox"] { - margin-right: -2.5em; - margin-left: 0; } - -.form-check-inline { - display: inline-block; - margin-right: 1rem; } - -.btn-check { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; } - .btn-check[disabled] + .btn, .search-form .btn-check[disabled] + .search-submit, .comment-form .btn-check[disabled] + input[type="submit"], .btn-check:disabled + .btn, .search-form .btn-check:disabled + .search-submit, .comment-form .btn-check:disabled + input[type="submit"] { - pointer-events: none; - filter: none; - opacity: 0.65; } - -[data-bs-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus), [data-bs-theme="dark"] .form-switch li input[type="checkbox"]:not(:checked):not(:focus), li [data-bs-theme="dark"] .form-switch input[type="checkbox"]:not(:checked):not(:focus) { - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e"); } - -.form-range { - width: 100%; - height: 1rem; - padding: 0; - appearance: none; - background-color: transparent; } - .form-range:focus { - outline: 0; } - .form-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, none; } - .form-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, none; } - .form-range::-moz-focus-outer { - border: 0; } - .form-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - appearance: none; - background-color: #3347ff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-range::-webkit-slider-thumb { - transition: none; } } - .form-range::-webkit-slider-thumb:active { - background-color: #c2c8ff; } - .form-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: var(--bs-secondary-bg); - border-color: transparent; - border-radius: 1rem; } - .form-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - appearance: none; - background-color: #3347ff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-range::-moz-range-thumb { - transition: none; } } - .form-range::-moz-range-thumb:active { - background-color: #c2c8ff; } - .form-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: var(--bs-secondary-bg); - border-color: transparent; - border-radius: 1rem; } - .form-range:disabled { - pointer-events: none; } - .form-range:disabled::-webkit-slider-thumb { - background-color: var(--bs-secondary-color); } - .form-range:disabled::-moz-range-thumb { - background-color: var(--bs-secondary-color); } - -.form-floating { - position: relative; } - .form-floating > .form-control, .search-form .form-floating > .search-field, .comment-form .form-floating > input[type="text"], - .comment-form .form-floating > input[type="email"], - .comment-form .form-floating > input[type="url"], - .comment-form .form-floating > textarea, - .form-floating > .form-control-plaintext, - .form-floating > .form-select { - height: calc(3.5rem + calc(var(--bs-border-width) * 2)); - min-height: calc(3.5rem + calc(var(--bs-border-width) * 2)); - line-height: 1.25; } - .form-floating > label { - position: absolute; - top: 0; - left: 0; - z-index: 2; - max-width: 100%; - height: 100%; - padding: 1rem 0.75rem; - overflow: hidden; - color: rgba(var(--bs-body-color-rgb), 0.65); - text-align: start; - text-overflow: ellipsis; - white-space: nowrap; - pointer-events: none; - border: var(--bs-border-width) solid transparent; - transform-origin: 0 0; - transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-floating > label { - transition: none; } } - .form-floating > .form-control, .search-form .form-floating > .search-field, .comment-form .form-floating > input[type="text"], - .comment-form .form-floating > input[type="email"], - .comment-form .form-floating > input[type="url"], - .comment-form .form-floating > textarea, - .form-floating > .form-control-plaintext { - padding: 1rem 0.75rem; } - .form-floating > .form-control::placeholder, .search-form .form-floating > .search-field::placeholder, .comment-form .form-floating > input[type="text"]::placeholder, - .comment-form .form-floating > input[type="email"]::placeholder, - .comment-form .form-floating > input[type="url"]::placeholder, - .comment-form .form-floating > textarea::placeholder, - .form-floating > .form-control-plaintext::placeholder { - color: transparent; } - .form-floating > .form-control:focus, .search-form .form-floating > .search-field:focus, .comment-form .form-floating > input[type="text"]:focus, - .comment-form .form-floating > input[type="email"]:focus, - .comment-form .form-floating > input[type="url"]:focus, - .comment-form .form-floating > textarea:focus, .form-floating > .form-control:not(:placeholder-shown), .search-form .form-floating > .search-field:not(:placeholder-shown), .comment-form .form-floating > input[type="text"]:not(:placeholder-shown), - .comment-form .form-floating > input[type="email"]:not(:placeholder-shown), - .comment-form .form-floating > input[type="url"]:not(:placeholder-shown), - .comment-form .form-floating > textarea:not(:placeholder-shown), - .form-floating > .form-control-plaintext:focus, - .form-floating > .form-control-plaintext:not(:placeholder-shown) { - padding-top: 1.625rem; - padding-bottom: 0.625rem; } - .form-floating > .form-control:-webkit-autofill, .search-form .form-floating > .search-field:-webkit-autofill, .comment-form .form-floating > input[type="text"]:-webkit-autofill, - .comment-form .form-floating > input[type="email"]:-webkit-autofill, - .comment-form .form-floating > input[type="url"]:-webkit-autofill, - .comment-form .form-floating > textarea:-webkit-autofill, - .form-floating > .form-control-plaintext:-webkit-autofill { - padding-top: 1.625rem; - padding-bottom: 0.625rem; } - .form-floating > .form-select { - padding-top: 1.625rem; - padding-bottom: 0.625rem; - padding-left: 0.75rem; } - .form-floating > .form-control:focus ~ label, .search-form .form-floating > .search-field:focus ~ label, .comment-form .form-floating > input[type="text"]:focus ~ label, - .comment-form .form-floating > input[type="email"]:focus ~ label, - .comment-form .form-floating > input[type="url"]:focus ~ label, - .comment-form .form-floating > textarea:focus ~ label, - .form-floating > .form-control:not(:placeholder-shown) ~ label, - .search-form .form-floating > .search-field:not(:placeholder-shown) ~ label, - .comment-form .form-floating > input[type="text"]:not(:placeholder-shown) ~ label, - .comment-form .form-floating > input[type="email"]:not(:placeholder-shown) ~ label, - .comment-form .form-floating > input[type="url"]:not(:placeholder-shown) ~ label, - .comment-form .form-floating > textarea:not(:placeholder-shown) ~ label, - .form-floating > .form-control-plaintext ~ label, - .form-floating > .form-select ~ label { - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } - .form-floating > .form-control:-webkit-autofill ~ label, .search-form .form-floating > .search-field:-webkit-autofill ~ label, .comment-form .form-floating > input[type="text"]:-webkit-autofill ~ label, - .comment-form .form-floating > input[type="email"]:-webkit-autofill ~ label, - .comment-form .form-floating > input[type="url"]:-webkit-autofill ~ label, - .comment-form .form-floating > textarea:-webkit-autofill ~ label { - transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } - .form-floating > textarea:focus ~ label::after, - .form-floating > textarea:not(:placeholder-shown) ~ label::after { - position: absolute; - inset: 1rem 0.375rem; - z-index: -1; - height: 1.5em; - content: ""; - background-color: var(--bs-body-bg); - border-radius: var(--bs-border-radius); } - .form-floating > textarea:disabled ~ label::after { - background-color: var(--bs-secondary-bg); } - .form-floating > .form-control-plaintext ~ label { - border-width: var(--bs-border-width) 0; } - .form-floating > :disabled ~ label, - .form-floating > .form-control:disabled ~ label { - color: #6c757d; } - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; } - .input-group > .form-control, .search-form .input-group > .search-field, .comment-form .input-group > input[type="text"], - .comment-form .input-group > input[type="email"], - .comment-form .input-group > input[type="url"], - .comment-form .input-group > textarea, - .input-group > .form-select, - .input-group > .form-floating { - position: relative; - flex: 1 1 auto; - width: 1%; - min-width: 0; } - .input-group > .form-control:focus, .search-form .input-group > .search-field:focus, .comment-form .input-group > input[type="text"]:focus, - .comment-form .input-group > input[type="email"]:focus, - .comment-form .input-group > input[type="url"]:focus, - .comment-form .input-group > textarea:focus, - .input-group > .form-select:focus, - .input-group > .form-floating:focus-within { - z-index: 5; } - .input-group .btn, .input-group .search-form .search-submit, .search-form .input-group .search-submit, .input-group .comment-form input[type="submit"], .comment-form .input-group input[type="submit"] { - position: relative; - z-index: 2; } - .input-group .btn:focus, .input-group .search-form .search-submit:focus, .search-form .input-group .search-submit:focus, .input-group .comment-form input[type="submit"]:focus, .comment-form .input-group input[type="submit"]:focus { - z-index: 5; } - -.input-group-text { - display: flex; - align-items: center; - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: var(--bs-body-color); - text-align: center; - white-space: nowrap; - background-color: var(--bs-tertiary-bg); - border: var(--bs-border-width) solid var(--bs-border-color); - border-radius: var(--bs-border-radius); } - -.input-group-lg > .form-control, .search-form .input-group-lg > .search-field, .comment-form .input-group-lg > input[type="text"], -.comment-form .input-group-lg > input[type="email"], -.comment-form .input-group-lg > input[type="url"], -.comment-form .input-group-lg > textarea, -.input-group-lg > .form-select, -.input-group-lg > .input-group-text, -.input-group-lg > .btn, -.search-form .input-group-lg > .search-submit, -.comment-form .input-group-lg > input[type="submit"] { - padding: 0.5rem 1rem; - font-size: 1.25rem; - border-radius: var(--bs-border-radius-lg); } - -.input-group-sm > .form-control, .search-form .input-group-sm > .search-field, .comment-form .input-group-sm > input[type="text"], -.comment-form .input-group-sm > input[type="email"], -.comment-form .input-group-sm > input[type="url"], -.comment-form .input-group-sm > textarea, -.input-group-sm > .form-select, -.input-group-sm > .input-group-text, -.input-group-sm > .btn, -.search-form .input-group-sm > .search-submit, -.comment-form .input-group-sm > input[type="submit"] { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - border-radius: var(--bs-border-radius-sm); } - -.input-group-lg > .form-select, -.input-group-sm > .form-select { - padding-right: 3rem; } - -.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, -.search-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > .search-field, -.comment-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type="text"], -.comment-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type="email"], -.comment-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type="url"], -.comment-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > textarea, -.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), -.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), -.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control, -.search-form .input-group.has-validation > .form-floating:nth-last-child(n + 3) > .search-field, -.comment-form .input-group.has-validation > .form-floating:nth-last-child(n + 3) > input[type="text"], -.comment-form .input-group.has-validation > .form-floating:nth-last-child(n + 3) > input[type="email"], -.comment-form .input-group.has-validation > .form-floating:nth-last-child(n + 3) > input[type="url"], -.comment-form .input-group.has-validation > .form-floating:nth-last-child(n + 3) > textarea, -.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { - margin-left: calc(-1 * var(--bs-border-width)); - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.input-group > .form-floating:not(:first-child) > .form-control, .search-form .input-group > .form-floating:not(:first-child) > .search-field, .comment-form .input-group > .form-floating:not(:first-child) > input[type="text"], -.comment-form .input-group > .form-floating:not(:first-child) > input[type="email"], -.comment-form .input-group > .form-floating:not(:first-child) > input[type="url"], -.comment-form .input-group > .form-floating:not(:first-child) > textarea, -.input-group > .form-floating:not(:first-child) > .form-select { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-form-valid-color); } - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - color: #fff; - background-color: var(--bs-success); - border-radius: var(--bs-border-radius); } - -.was-validated :valid ~ .valid-feedback, -.was-validated :valid ~ .valid-tooltip, -.is-valid ~ .valid-feedback, -.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .form-control:valid, .was-validated .search-form .search-field:valid, .search-form .was-validated .search-field:valid, .was-validated .comment-form input[type="text"]:valid, .comment-form .was-validated input[type="text"]:valid, -.was-validated .comment-form input[type="email"]:valid, -.comment-form .was-validated input[type="email"]:valid, -.was-validated .comment-form input[type="url"]:valid, -.comment-form .was-validated input[type="url"]:valid, -.was-validated .comment-form textarea:valid, -.comment-form .was-validated textarea:valid, .form-control.is-valid, .search-form .is-valid.search-field, .comment-form input.is-valid[type="text"], -.comment-form input.is-valid[type="email"], -.comment-form input.is-valid[type="url"], -.comment-form textarea.is-valid { - border-color: var(--bs-form-valid-border-color); - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2384ee53' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:valid:focus, .was-validated .search-form .search-field:valid:focus, .search-form .was-validated .search-field:valid:focus, .was-validated .comment-form input[type="text"]:valid:focus, .comment-form .was-validated input[type="text"]:valid:focus, - .was-validated .comment-form input[type="email"]:valid:focus, - .comment-form .was-validated input[type="email"]:valid:focus, - .was-validated .comment-form input[type="url"]:valid:focus, - .comment-form .was-validated input[type="url"]:valid:focus, - .was-validated .comment-form textarea:valid:focus, - .comment-form .was-validated textarea:valid:focus, .form-control.is-valid:focus, .search-form .is-valid.search-field:focus, .comment-form input.is-valid[type="text"]:focus, - .comment-form input.is-valid[type="email"]:focus, - .comment-form input.is-valid[type="url"]:focus, - .comment-form textarea.is-valid:focus { - border-color: var(--bs-form-valid-border-color); - box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0.25); } - -.was-validated textarea.form-control:valid, .was-validated .search-form textarea.search-field:valid, .search-form .was-validated textarea.search-field:valid, textarea.form-control.is-valid, .search-form textarea.is-valid.search-field { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .form-select:valid, .form-select.is-valid { - border-color: var(--bs-form-valid-border-color); } - .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { - --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2384ee53' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e"); - padding-right: 4.125rem; - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-select:valid:focus, .form-select.is-valid:focus { - border-color: var(--bs-form-valid-border-color); - box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0.25); } - -.was-validated .form-control-color:valid, .form-control-color.is-valid { - width: calc(3rem + calc(1.5em + 0.75rem)); } - -.was-validated .form-check-input:valid, .was-validated li input[type="checkbox"]:valid, li .was-validated input[type="checkbox"]:valid, .form-check-input.is-valid, li input.is-valid[type="checkbox"] { - border-color: var(--bs-form-valid-border-color); } - .was-validated .form-check-input:valid:checked, .was-validated li input[type="checkbox"]:valid:checked, li .was-validated input[type="checkbox"]:valid:checked, .form-check-input.is-valid:checked, li input.is-valid[type="checkbox"]:checked { - background-color: var(--bs-form-valid-color); } - .was-validated .form-check-input:valid:focus, .was-validated li input[type="checkbox"]:valid:focus, li .was-validated input[type="checkbox"]:valid:focus, .form-check-input.is-valid:focus, li input.is-valid[type="checkbox"]:focus { - box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0.25); } - .was-validated .form-check-input:valid ~ .form-check-label, .was-validated li input[type="checkbox"]:valid ~ .form-check-label, li .was-validated input[type="checkbox"]:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label, li input.is-valid[type="checkbox"] ~ .form-check-label { - color: var(--bs-form-valid-color); } - -.form-check-inline .form-check-input ~ .valid-feedback, .form-check-inline li input[type="checkbox"] ~ .valid-feedback, li .form-check-inline input[type="checkbox"] ~ .valid-feedback { - margin-left: .5em; } - -.was-validated .input-group > .form-control:not(:focus):valid, .was-validated .search-form .input-group > .search-field:not(:focus):valid, .search-form .was-validated .input-group > .search-field:not(:focus):valid, .was-validated .comment-form .input-group > input[type="text"]:not(:focus):valid, .comment-form .was-validated .input-group > input[type="text"]:not(:focus):valid, -.was-validated .comment-form .input-group > input[type="email"]:not(:focus):valid, -.comment-form .was-validated .input-group > input[type="email"]:not(:focus):valid, -.was-validated .comment-form .input-group > input[type="url"]:not(:focus):valid, -.comment-form .was-validated .input-group > input[type="url"]:not(:focus):valid, -.was-validated .comment-form .input-group > textarea:not(:focus):valid, -.comment-form .was-validated .input-group > textarea:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .search-form .input-group > .search-field:not(:focus).is-valid, .comment-form .input-group > input[type="text"]:not(:focus).is-valid, -.comment-form .input-group > input[type="email"]:not(:focus).is-valid, -.comment-form .input-group > input[type="url"]:not(:focus).is-valid, -.comment-form .input-group > textarea:not(:focus).is-valid, .was-validated .input-group > .form-select:not(:focus):valid, -.input-group > .form-select:not(:focus).is-valid, .was-validated .input-group > .form-floating:not(:focus-within):valid, -.input-group > .form-floating:not(:focus-within).is-valid { - z-index: 3; } - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 0.875em; - color: var(--bs-form-invalid-color); } - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - color: #fff; - background-color: var(--bs-danger); - border-radius: var(--bs-border-radius); } - -.was-validated :invalid ~ .invalid-feedback, -.was-validated :invalid ~ .invalid-tooltip, -.is-invalid ~ .invalid-feedback, -.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .form-control:invalid, .was-validated .search-form .search-field:invalid, .search-form .was-validated .search-field:invalid, .was-validated .comment-form input[type="text"]:invalid, .comment-form .was-validated input[type="text"]:invalid, -.was-validated .comment-form input[type="email"]:invalid, -.comment-form .was-validated input[type="email"]:invalid, -.was-validated .comment-form input[type="url"]:invalid, -.comment-form .was-validated input[type="url"]:invalid, -.was-validated .comment-form textarea:invalid, -.comment-form .was-validated textarea:invalid, .form-control.is-invalid, .search-form .is-invalid.search-field, .comment-form input.is-invalid[type="text"], -.comment-form input.is-invalid[type="email"], -.comment-form input.is-invalid[type="url"], -.comment-form textarea.is-invalid { - border-color: var(--bs-form-invalid-border-color); - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ee5389'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ee5389' stroke='none'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:invalid:focus, .was-validated .search-form .search-field:invalid:focus, .search-form .was-validated .search-field:invalid:focus, .was-validated .comment-form input[type="text"]:invalid:focus, .comment-form .was-validated input[type="text"]:invalid:focus, - .was-validated .comment-form input[type="email"]:invalid:focus, - .comment-form .was-validated input[type="email"]:invalid:focus, - .was-validated .comment-form input[type="url"]:invalid:focus, - .comment-form .was-validated input[type="url"]:invalid:focus, - .was-validated .comment-form textarea:invalid:focus, - .comment-form .was-validated textarea:invalid:focus, .form-control.is-invalid:focus, .search-form .is-invalid.search-field:focus, .comment-form input.is-invalid[type="text"]:focus, - .comment-form input.is-invalid[type="email"]:focus, - .comment-form input.is-invalid[type="url"]:focus, - .comment-form textarea.is-invalid:focus { - border-color: var(--bs-form-invalid-border-color); - box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0.25); } - -.was-validated textarea.form-control:invalid, .was-validated .search-form textarea.search-field:invalid, .search-form .was-validated textarea.search-field:invalid, textarea.form-control.is-invalid, .search-form textarea.is-invalid.search-field { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .form-select:invalid, .form-select.is-invalid { - border-color: var(--bs-form-invalid-border-color); } - .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { - --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ee5389'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ee5389' stroke='none'/%3e%3c/svg%3e"); - padding-right: 4.125rem; - background-position: right 0.75rem center, center right 2.25rem; - background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { - border-color: var(--bs-form-invalid-border-color); - box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0.25); } - -.was-validated .form-control-color:invalid, .form-control-color.is-invalid { - width: calc(3rem + calc(1.5em + 0.75rem)); } - -.was-validated .form-check-input:invalid, .was-validated li input[type="checkbox"]:invalid, li .was-validated input[type="checkbox"]:invalid, .form-check-input.is-invalid, li input.is-invalid[type="checkbox"] { - border-color: var(--bs-form-invalid-border-color); } - .was-validated .form-check-input:invalid:checked, .was-validated li input[type="checkbox"]:invalid:checked, li .was-validated input[type="checkbox"]:invalid:checked, .form-check-input.is-invalid:checked, li input.is-invalid[type="checkbox"]:checked { - background-color: var(--bs-form-invalid-color); } - .was-validated .form-check-input:invalid:focus, .was-validated li input[type="checkbox"]:invalid:focus, li .was-validated input[type="checkbox"]:invalid:focus, .form-check-input.is-invalid:focus, li input.is-invalid[type="checkbox"]:focus { - box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0.25); } - .was-validated .form-check-input:invalid ~ .form-check-label, .was-validated li input[type="checkbox"]:invalid ~ .form-check-label, li .was-validated input[type="checkbox"]:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label, li input.is-invalid[type="checkbox"] ~ .form-check-label { - color: var(--bs-form-invalid-color); } - -.form-check-inline .form-check-input ~ .invalid-feedback, .form-check-inline li input[type="checkbox"] ~ .invalid-feedback, li .form-check-inline input[type="checkbox"] ~ .invalid-feedback { - margin-left: .5em; } - -.was-validated .input-group > .form-control:not(:focus):invalid, .was-validated .search-form .input-group > .search-field:not(:focus):invalid, .search-form .was-validated .input-group > .search-field:not(:focus):invalid, .was-validated .comment-form .input-group > input[type="text"]:not(:focus):invalid, .comment-form .was-validated .input-group > input[type="text"]:not(:focus):invalid, -.was-validated .comment-form .input-group > input[type="email"]:not(:focus):invalid, -.comment-form .was-validated .input-group > input[type="email"]:not(:focus):invalid, -.was-validated .comment-form .input-group > input[type="url"]:not(:focus):invalid, -.comment-form .was-validated .input-group > input[type="url"]:not(:focus):invalid, -.was-validated .comment-form .input-group > textarea:not(:focus):invalid, -.comment-form .was-validated .input-group > textarea:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .search-form .input-group > .search-field:not(:focus).is-invalid, .comment-form .input-group > input[type="text"]:not(:focus).is-invalid, -.comment-form .input-group > input[type="email"]:not(:focus).is-invalid, -.comment-form .input-group > input[type="url"]:not(:focus).is-invalid, -.comment-form .input-group > textarea:not(:focus).is-invalid, .was-validated .input-group > .form-select:not(:focus):invalid, -.input-group > .form-select:not(:focus).is-invalid, .was-validated .input-group > .form-floating:not(:focus-within):invalid, -.input-group > .form-floating:not(:focus-within).is-invalid { - z-index: 4; } - -.btn, .search-form .search-submit, .comment-form input[type="submit"] { - --bs-btn-padding-x: 0.75rem; - --bs-btn-padding-y: 0.375rem; - --bs-btn-font-family: ; - --bs-btn-font-size: 1rem; - --bs-btn-font-weight: 400; - --bs-btn-line-height: 1.5; - --bs-btn-color: var(--bs-body-color); - --bs-btn-bg: transparent; - --bs-btn-border-width: var(--bs-border-width); - --bs-btn-border-color: transparent; - --bs-btn-border-radius: var(--bs-border-radius); - --bs-btn-hover-border-color: transparent; - --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); - --bs-btn-disabled-opacity: 0.65; - --bs-btn-focus-box-shadow: 0 0 0 0 rgba(var(--bs-btn-focus-shadow-rgb), .5); - display: inline-block; - padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); - font-family: var(--bs-btn-font-family); - font-size: var(--bs-btn-font-size); - font-weight: var(--bs-btn-font-weight); - line-height: var(--bs-btn-line-height); - color: var(--bs-btn-color); - text-align: center; - vertical-align: middle; - cursor: pointer; - user-select: none; - border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); - border-radius: var(--bs-btn-border-radius); - background-color: var(--bs-btn-bg); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .btn, .search-form .search-submit, .comment-form input[type="submit"] { - transition: none; } } - .btn:hover, .search-form .search-submit:hover, .comment-form input[type="submit"]:hover { - color: var(--bs-btn-hover-color); - text-decoration: none; - background-color: var(--bs-btn-hover-bg); - border-color: var(--bs-btn-hover-border-color); } - .btn-check + .btn:hover, .search-form .btn-check + .search-submit:hover, .comment-form .btn-check + input[type="submit"]:hover { - color: var(--bs-btn-color); - background-color: var(--bs-btn-bg); - border-color: var(--bs-btn-border-color); } - .btn:focus-visible, .search-form .search-submit:focus-visible, .comment-form input[type="submit"]:focus-visible { - color: var(--bs-btn-hover-color); - background-color: var(--bs-btn-hover-bg); - border-color: var(--bs-btn-hover-border-color); - outline: 0; - box-shadow: var(--bs-btn-focus-box-shadow); } - .btn-check:focus-visible + .btn, .search-form .btn-check:focus-visible + .search-submit, .comment-form .btn-check:focus-visible + input[type="submit"] { - border-color: var(--bs-btn-hover-border-color); - outline: 0; - box-shadow: var(--bs-btn-focus-box-shadow); } - .btn-check:checked + .btn, .search-form .btn-check:checked + .search-submit, .comment-form .btn-check:checked + input[type="submit"], :not(.btn-check) + .btn:active, .search-form :not(.btn-check) + .search-submit:active, .comment-form :not(.btn-check) + input[type="submit"]:active, .btn:first-child:active, .search-form .search-submit:first-child:active, .comment-form input[type="submit"]:first-child:active, .btn.active, .search-form .active.search-submit, .comment-form input.active[type="submit"], .btn.show, .search-form .show.search-submit, .comment-form input.show[type="submit"] { - color: var(--bs-btn-active-color); - background-color: var(--bs-btn-active-bg); - border-color: var(--bs-btn-active-border-color); } - .btn-check:checked + .btn:focus-visible, .search-form .btn-check:checked + .search-submit:focus-visible, .comment-form .btn-check:checked + input[type="submit"]:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .search-form :not(.btn-check) + .search-submit:active:focus-visible, .comment-form :not(.btn-check) + input[type="submit"]:active:focus-visible, .btn:first-child:active:focus-visible, .search-form .search-submit:first-child:active:focus-visible, .comment-form input[type="submit"]:first-child:active:focus-visible, .btn.active:focus-visible, .search-form .active.search-submit:focus-visible, .comment-form input.active[type="submit"]:focus-visible, .btn.show:focus-visible, .search-form .show.search-submit:focus-visible, .comment-form input.show[type="submit"]:focus-visible { - box-shadow: var(--bs-btn-focus-box-shadow); } - .btn-check:checked:focus-visible + .btn, .search-form .btn-check:checked:focus-visible + .search-submit, .comment-form .btn-check:checked:focus-visible + input[type="submit"] { - box-shadow: var(--bs-btn-focus-box-shadow); } - .btn:disabled, .search-form .search-submit:disabled, .comment-form input[type="submit"]:disabled, .btn.disabled, .search-form .disabled.search-submit, .comment-form input.disabled[type="submit"], fieldset:disabled .btn, fieldset:disabled .search-form .search-submit, .search-form fieldset:disabled .search-submit, fieldset:disabled .comment-form input[type="submit"], .comment-form fieldset:disabled input[type="submit"] { - color: var(--bs-btn-disabled-color); - pointer-events: none; - background-color: var(--bs-btn-disabled-bg); - border-color: var(--bs-btn-disabled-border-color); - opacity: var(--bs-btn-disabled-opacity); } - -.btn-primary { - --bs-btn-color: #fff; - --bs-btn-bg: #3347ff; - --bs-btn-border-color: #3347ff; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #2b3dd9; - --bs-btn-hover-border-color: #2939cc; - --bs-btn-focus-shadow-rgb: 82, 99, 255; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #2939cc; - --bs-btn-active-border-color: #2636bf; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #3347ff; - --bs-btn-disabled-border-color: #3347ff; } - -.btn-secondary, .search-form .search-submit, .comment-form input[type="submit"] { - --bs-btn-color: #fff; - --bs-btn-bg: #6c757d; - --bs-btn-border-color: #6c757d; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #5c636a; - --bs-btn-hover-border-color: #565e64; - --bs-btn-focus-shadow-rgb: 130, 138, 145; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #565e64; - --bs-btn-active-border-color: #51585e; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #6c757d; - --bs-btn-disabled-border-color: #6c757d; } - -.btn-success { - --bs-btn-color: #000; - --bs-btn-bg: #84ee53; - --bs-btn-border-color: #84ee53; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #97f16d; - --bs-btn-hover-border-color: #91f064; - --bs-btn-focus-shadow-rgb: 112, 202, 71; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #9df176; - --bs-btn-active-border-color: #91f064; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #84ee53; - --bs-btn-disabled-border-color: #84ee53; } - -.btn-info { - --bs-btn-color: #fff; - --bs-btn-bg: #3347ff; - --bs-btn-border-color: #3347ff; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #2b3dd9; - --bs-btn-hover-border-color: #2939cc; - --bs-btn-focus-shadow-rgb: 82, 99, 255; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #2939cc; - --bs-btn-active-border-color: #2636bf; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #3347ff; - --bs-btn-disabled-border-color: #3347ff; } - -.btn-warning { - --bs-btn-color: #000; - --bs-btn-bg: #eebd53; - --bs-btn-border-color: #eebd53; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f1c76d; - --bs-btn-hover-border-color: #f0c464; - --bs-btn-focus-shadow-rgb: 202, 161, 71; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f1ca76; - --bs-btn-active-border-color: #f0c464; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #eebd53; - --bs-btn-disabled-border-color: #eebd53; } - -.btn-danger { - --bs-btn-color: #000; - --bs-btn-bg: #ee5389; - --bs-btn-border-color: #ee5389; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f16d9b; - --bs-btn-hover-border-color: #f06495; - --bs-btn-focus-shadow-rgb: 202, 71, 117; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f176a1; - --bs-btn-active-border-color: #f06495; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #ee5389; - --bs-btn-disabled-border-color: #ee5389; } - -.btn-light { - --bs-btn-color: #000; - --bs-btn-bg: #f8f9fa; - --bs-btn-border-color: #f8f9fa; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #d3d4d5; - --bs-btn-hover-border-color: #c6c7c8; - --bs-btn-focus-shadow-rgb: 211, 212, 213; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #c6c7c8; - --bs-btn-active-border-color: #babbbc; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #f8f9fa; - --bs-btn-disabled-border-color: #f8f9fa; } - -.btn-dark { - --bs-btn-color: #fff; - --bs-btn-bg: #212529; - --bs-btn-border-color: #212529; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #424649; - --bs-btn-hover-border-color: #373b3e; - --bs-btn-focus-shadow-rgb: 66, 70, 73; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #4d5154; - --bs-btn-active-border-color: #373b3e; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; - --bs-btn-disabled-bg: #212529; - --bs-btn-disabled-border-color: #212529; } - -.btn-outline-primary { - --bs-btn-color: #3347ff; - --bs-btn-border-color: #3347ff; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #3347ff; - --bs-btn-hover-border-color: #3347ff; - --bs-btn-focus-shadow-rgb: 51, 71.4, 255; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #3347ff; - --bs-btn-active-border-color: #3347ff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #3347ff; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #3347ff; - --bs-gradient: none; } - -.btn-outline-secondary { - --bs-btn-color: #6c757d; - --bs-btn-border-color: #6c757d; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #6c757d; - --bs-btn-hover-border-color: #6c757d; - --bs-btn-focus-shadow-rgb: 108, 117, 125; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #6c757d; - --bs-btn-active-border-color: #6c757d; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #6c757d; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #6c757d; - --bs-gradient: none; } - -.btn-outline-success { - --bs-btn-color: #84ee53; - --bs-btn-border-color: #84ee53; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #84ee53; - --bs-btn-hover-border-color: #84ee53; - --bs-btn-focus-shadow-rgb: 132.2821, 238.017, 83.283; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #84ee53; - --bs-btn-active-border-color: #84ee53; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #84ee53; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #84ee53; - --bs-gradient: none; } - -.btn-outline-info { - --bs-btn-color: #3347ff; - --bs-btn-border-color: #3347ff; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #3347ff; - --bs-btn-hover-border-color: #3347ff; - --bs-btn-focus-shadow-rgb: 51, 71.4, 255; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #3347ff; - --bs-btn-active-border-color: #3347ff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #3347ff; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #3347ff; - --bs-gradient: none; } - -.btn-outline-warning { - --bs-btn-color: #eebd53; - --bs-btn-border-color: #eebd53; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #eebd53; - --bs-btn-hover-border-color: #eebd53; - --bs-btn-focus-shadow-rgb: 238.017, 189.0179, 83.283; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #eebd53; - --bs-btn-active-border-color: #eebd53; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #eebd53; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #eebd53; - --bs-gradient: none; } - -.btn-outline-danger { - --bs-btn-color: #ee5389; - --bs-btn-border-color: #ee5389; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #ee5389; - --bs-btn-hover-border-color: #ee5389; - --bs-btn-focus-shadow-rgb: 238.017, 83.283, 137.4399; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #ee5389; - --bs-btn-active-border-color: #ee5389; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #ee5389; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #ee5389; - --bs-gradient: none; } - -.btn-outline-light { - --bs-btn-color: #f8f9fa; - --bs-btn-border-color: #f8f9fa; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #f8f9fa; - --bs-btn-hover-border-color: #f8f9fa; - --bs-btn-focus-shadow-rgb: 248, 249, 250; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #f8f9fa; - --bs-btn-active-border-color: #f8f9fa; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #f8f9fa; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #f8f9fa; - --bs-gradient: none; } - -.btn-outline-dark { - --bs-btn-color: #212529; - --bs-btn-border-color: #212529; - --bs-btn-hover-color: #fff; - --bs-btn-hover-bg: #212529; - --bs-btn-hover-border-color: #212529; - --bs-btn-focus-shadow-rgb: 33, 37, 41; - --bs-btn-active-color: #fff; - --bs-btn-active-bg: #212529; - --bs-btn-active-border-color: #212529; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #212529; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #212529; - --bs-gradient: none; } - -.btn-link { - --bs-btn-font-weight: 400; - --bs-btn-color: var(--bs-link-color); - --bs-btn-bg: transparent; - --bs-btn-border-color: transparent; - --bs-btn-hover-color: var(--bs-link-hover-color); - --bs-btn-hover-border-color: transparent; - --bs-btn-active-color: var(--bs-link-hover-color); - --bs-btn-active-border-color: transparent; - --bs-btn-disabled-color: #6c757d; - --bs-btn-disabled-border-color: transparent; - --bs-btn-box-shadow: 0 0 0 #000; - --bs-btn-focus-shadow-rgb: 82, 99, 255; - text-decoration: none; } - .btn-link:hover, .btn-link:focus-visible { - text-decoration: underline; } - .btn-link:focus-visible { - color: var(--bs-btn-color); } - .btn-link:hover { - color: var(--bs-btn-hover-color); } - -.btn-lg, .btn-group-lg > .btn, .search-form .btn-group-lg > .search-submit, .comment-form .btn-group-lg > input[type="submit"] { - --bs-btn-padding-y: 0.5rem; - --bs-btn-padding-x: 1rem; - --bs-btn-font-size: 1.25rem; - --bs-btn-border-radius: var(--bs-border-radius-lg); } - -.btn-sm, .btn-group-sm > .btn, .search-form .btn-group-sm > .search-submit, .comment-form .btn-group-sm > input[type="submit"] { - --bs-btn-padding-y: 0.25rem; - --bs-btn-padding-x: 0.5rem; - --bs-btn-font-size: 0.875rem; - --bs-btn-border-radius: var(--bs-border-radius-sm); } - -.fade { - transition: opacity 0.15s linear; } - @media (prefers-reduced-motion: reduce) { - .fade { - transition: none; } } - .fade:not(.show) { - opacity: 0; } - -.collapse:not(.show) { - display: none; } - -.collapsing { - height: 0; - overflow: hidden; - transition: height 0.35s ease; } - @media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; } } - .collapsing.collapse-horizontal { - width: 0; - height: auto; - transition: width 0.35s ease; } - @media (prefers-reduced-motion: reduce) { - .collapsing.collapse-horizontal { - transition: none; } } -.dropup, -.dropend, -.dropdown, -.dropstart, -.dropup-center, -.dropdown-center { - position: relative; } - -.dropdown-toggle { - white-space: nowrap; } - .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; } - .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropdown-menu { - --bs-dropdown-zindex: 1000; - --bs-dropdown-min-width: 10rem; - --bs-dropdown-padding-x: 0; - --bs-dropdown-padding-y: 0.5rem; - --bs-dropdown-spacer: 0.125rem; - --bs-dropdown-font-size: 1rem; - --bs-dropdown-color: var(--bs-body-color); - --bs-dropdown-bg: var(--bs-body-bg); - --bs-dropdown-border-color: var(--bs-border-color-translucent); - --bs-dropdown-border-radius: var(--bs-border-radius); - --bs-dropdown-border-width: var(--bs-border-width); - --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width)); - --bs-dropdown-divider-bg: var(--bs-border-color-translucent); - --bs-dropdown-divider-margin-y: 0.5rem; - --bs-dropdown-box-shadow: var(--bs-box-shadow); - --bs-dropdown-link-color: var(--bs-body-color); - --bs-dropdown-link-hover-color: var(--bs-body-color); - --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg); - --bs-dropdown-link-active-color: #fff; - --bs-dropdown-link-active-bg: #3347ff; - --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); - --bs-dropdown-item-padding-x: 1rem; - --bs-dropdown-item-padding-y: 0.25rem; - --bs-dropdown-header-color: #6c757d; - --bs-dropdown-header-padding-x: 1rem; - --bs-dropdown-header-padding-y: 0.5rem; - position: absolute; - z-index: var(--bs-dropdown-zindex); - display: none; - min-width: var(--bs-dropdown-min-width); - padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); - margin: 0; - font-size: var(--bs-dropdown-font-size); - color: var(--bs-dropdown-color); - text-align: left; - list-style: none; - background-color: var(--bs-dropdown-bg); - background-clip: padding-box; - border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); - border-radius: var(--bs-dropdown-border-radius); } - .dropdown-menu[data-bs-popper] { - top: 100%; - left: 0; - margin-top: var(--bs-dropdown-spacer); } - -.dropdown-menu-start { - --bs-position: start; } - .dropdown-menu-start[data-bs-popper] { - right: auto; - left: 0; } - -.dropdown-menu-end { - --bs-position: end; } - .dropdown-menu-end[data-bs-popper] { - right: 0; - left: auto; } - -@media (min-width: 576px) { - .dropdown-menu-sm-start { - --bs-position: start; } - .dropdown-menu-sm-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-sm-end { - --bs-position: end; } - .dropdown-menu-sm-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 768px) { - .dropdown-menu-md-start { - --bs-position: start; } - .dropdown-menu-md-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-md-end { - --bs-position: end; } - .dropdown-menu-md-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 992px) { - .dropdown-menu-lg-start { - --bs-position: start; } - .dropdown-menu-lg-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-lg-end { - --bs-position: end; } - .dropdown-menu-lg-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 1200px) { - .dropdown-menu-xl-start { - --bs-position: start; } - .dropdown-menu-xl-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-xl-end { - --bs-position: end; } - .dropdown-menu-xl-end[data-bs-popper] { - right: 0; - left: auto; } } - -@media (min-width: 1400px) { - .dropdown-menu-xxl-start { - --bs-position: start; } - .dropdown-menu-xxl-start[data-bs-popper] { - right: auto; - left: 0; } - .dropdown-menu-xxl-end { - --bs-position: end; } - .dropdown-menu-xxl-end[data-bs-popper] { - right: 0; - left: auto; } } - -.dropup .dropdown-menu[data-bs-popper] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: var(--bs-dropdown-spacer); } - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; } - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropend .dropdown-menu[data-bs-popper] { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: var(--bs-dropdown-spacer); } - -.dropend .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; } - -.dropend .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropend .dropdown-toggle::after { - vertical-align: 0; } - -.dropstart .dropdown-menu[data-bs-popper] { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: var(--bs-dropdown-spacer); } - -.dropstart .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; } - -.dropstart .dropdown-toggle::after { - display: none; } - -.dropstart .dropdown-toggle::before { - display: inline-block; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; } - -.dropstart .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropstart .dropdown-toggle::before { - vertical-align: 0; } - -.dropdown-divider { - height: 0; - margin: var(--bs-dropdown-divider-margin-y) 0; - overflow: hidden; - border-top: 1px solid var(--bs-dropdown-divider-bg); - opacity: 1; } - -.dropdown-item { - display: block; - width: 100%; - padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); - clear: both; - font-weight: 400; - color: var(--bs-dropdown-link-color); - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; - border-radius: var(--bs-dropdown-item-border-radius, 0); } - .dropdown-item:hover, .dropdown-item:focus { - color: var(--bs-dropdown-link-hover-color); - text-decoration: none; - background-color: var(--bs-dropdown-link-hover-bg); } - .dropdown-item.active, .dropdown-item:active { - color: var(--bs-dropdown-link-active-color); - text-decoration: none; - background-color: var(--bs-dropdown-link-active-bg); } - .dropdown-item.disabled, .dropdown-item:disabled { - color: var(--bs-dropdown-link-disabled-color); - pointer-events: none; - background-color: transparent; } - -.dropdown-menu.show { - display: block; } - -.dropdown-header { - display: block; - padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); - margin-bottom: 0; - font-size: 0.875rem; - color: var(--bs-dropdown-header-color); - white-space: nowrap; } - -.dropdown-item-text { - display: block; - padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); - color: var(--bs-dropdown-link-color); } - -.dropdown-menu-dark { - --bs-dropdown-color: #dee2e6; - --bs-dropdown-bg: #343a40; - --bs-dropdown-border-color: var(--bs-border-color-translucent); - --bs-dropdown-box-shadow: ; - --bs-dropdown-link-color: #dee2e6; - --bs-dropdown-link-hover-color: #fff; - --bs-dropdown-divider-bg: var(--bs-border-color-translucent); - --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); - --bs-dropdown-link-active-color: #fff; - --bs-dropdown-link-active-bg: #3347ff; - --bs-dropdown-link-disabled-color: #adb5bd; - --bs-dropdown-header-color: #adb5bd; } - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; } - .btn-group > .btn, .search-form .btn-group > .search-submit, .comment-form .btn-group > input[type="submit"], - .btn-group-vertical > .btn, - .search-form .btn-group-vertical > .search-submit, - .comment-form .btn-group-vertical > input[type="submit"] { - position: relative; - flex: 1 1 auto; } - .btn-group > .btn-check:checked + .btn, .search-form .btn-group > .btn-check:checked + .search-submit, .comment-form .btn-group > .btn-check:checked + input[type="submit"], - .btn-group > .btn-check:focus + .btn, - .search-form .btn-group > .btn-check:focus + .search-submit, - .comment-form .btn-group > .btn-check:focus + input[type="submit"], - .btn-group > .btn:hover, - .search-form .btn-group > .search-submit:hover, - .comment-form .btn-group > input[type="submit"]:hover, - .btn-group > .btn:focus, - .search-form .btn-group > .search-submit:focus, - .comment-form .btn-group > input[type="submit"]:focus, - .btn-group > .btn:active, - .search-form .btn-group > .search-submit:active, - .comment-form .btn-group > input[type="submit"]:active, - .btn-group > .btn.active, - .search-form .btn-group > .active.search-submit, - .comment-form .btn-group > input.active[type="submit"], - .btn-group-vertical > .btn-check:checked + .btn, - .search-form .btn-group-vertical > .btn-check:checked + .search-submit, - .comment-form .btn-group-vertical > .btn-check:checked + input[type="submit"], - .btn-group-vertical > .btn-check:focus + .btn, - .search-form .btn-group-vertical > .btn-check:focus + .search-submit, - .comment-form .btn-group-vertical > .btn-check:focus + input[type="submit"], - .btn-group-vertical > .btn:hover, - .search-form .btn-group-vertical > .search-submit:hover, - .comment-form .btn-group-vertical > input[type="submit"]:hover, - .btn-group-vertical > .btn:focus, - .search-form .btn-group-vertical > .search-submit:focus, - .comment-form .btn-group-vertical > input[type="submit"]:focus, - .btn-group-vertical > .btn:active, - .search-form .btn-group-vertical > .search-submit:active, - .comment-form .btn-group-vertical > input[type="submit"]:active, - .btn-group-vertical > .btn.active, - .search-form .btn-group-vertical > .active.search-submit, - .comment-form .btn-group-vertical > input.active[type="submit"] { - z-index: 1; } - -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; } - .btn-toolbar .input-group { - width: auto; } - -.btn-group { - border-radius: var(--bs-border-radius); } - .btn-group > :not(.btn-check:first-child) + .btn, .search-form .btn-group > :not(.btn-check:first-child) + .search-submit, .comment-form .btn-group > :not(.btn-check:first-child) + input[type="submit"], - .btn-group > .btn-group:not(:first-child) { - margin-left: calc(-1 * var(--bs-border-width)); } - .btn-group > .btn:not(:last-child):not(.dropdown-toggle), .search-form .btn-group > .search-submit:not(:last-child):not(.dropdown-toggle), .comment-form .btn-group > input[type="submit"]:not(:last-child):not(.dropdown-toggle), - .btn-group > .btn.dropdown-toggle-split:first-child, - .search-form .btn-group > .dropdown-toggle-split.search-submit:first-child, - .comment-form .btn-group > input.dropdown-toggle-split[type="submit"]:first-child, - .btn-group > .btn-group:not(:last-child) > .btn, - .search-form .btn-group > .btn-group:not(:last-child) > .search-submit, - .comment-form .btn-group > .btn-group:not(:last-child) > input[type="submit"] { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .btn-group > .btn:nth-child(n + 3), .search-form .btn-group > .search-submit:nth-child(n + 3), .comment-form .btn-group > input[type="submit"]:nth-child(n + 3), - .btn-group > :not(.btn-check) + .btn, - .search-form .btn-group > :not(.btn-check) + .search-submit, - .comment-form .btn-group > :not(.btn-check) + input[type="submit"], - .btn-group > .btn-group:not(:first-child) > .btn, - .search-form .btn-group > .btn-group:not(:first-child) > .search-submit, - .comment-form .btn-group > .btn-group:not(:first-child) > input[type="submit"] { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; } - .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { - margin-left: 0; } - .dropstart .dropdown-toggle-split::before { - margin-right: 0; } - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .search-form .btn-group-sm > .search-submit + .dropdown-toggle-split, .comment-form .btn-group-sm > input[type="submit"] + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; } - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .search-form .btn-group-lg > .search-submit + .dropdown-toggle-split, .comment-form .btn-group-lg > input[type="submit"] + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; } - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; } - .btn-group-vertical > .btn, .search-form .btn-group-vertical > .search-submit, .comment-form .btn-group-vertical > input[type="submit"], - .btn-group-vertical > .btn-group { - width: 100%; } - .btn-group-vertical > .btn:not(:first-child), .search-form .btn-group-vertical > .search-submit:not(:first-child), .comment-form .btn-group-vertical > input[type="submit"]:not(:first-child), - .btn-group-vertical > .btn-group:not(:first-child) { - margin-top: calc(-1 * var(--bs-border-width)); } - .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .search-form .btn-group-vertical > .search-submit:not(:last-child):not(.dropdown-toggle), .comment-form .btn-group-vertical > input[type="submit"]:not(:last-child):not(.dropdown-toggle), - .btn-group-vertical > .btn-group:not(:last-child) > .btn, - .search-form .btn-group-vertical > .btn-group:not(:last-child) > .search-submit, - .comment-form .btn-group-vertical > .btn-group:not(:last-child) > input[type="submit"] { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - .btn-group-vertical > .btn:nth-child(n + 3), .search-form .btn-group-vertical > .search-submit:nth-child(n + 3), .comment-form .btn-group-vertical > input[type="submit"]:nth-child(n + 3), - .btn-group-vertical > :not(.btn-check) + .btn, - .search-form .btn-group-vertical > :not(.btn-check) + .search-submit, - .comment-form .btn-group-vertical > :not(.btn-check) + input[type="submit"], - .btn-group-vertical > .btn-group:not(:first-child) > .btn, - .search-form .btn-group-vertical > .btn-group:not(:first-child) > .search-submit, - .comment-form .btn-group-vertical > .btn-group:not(:first-child) > input[type="submit"] { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.nav { - --bs-nav-link-padding-x: 1rem; - --bs-nav-link-padding-y: 0.5rem; - --bs-nav-link-font-weight: ; - --bs-nav-link-color: var(--bs-link-color); - --bs-nav-link-hover-color: var(--bs-link-hover-color); - --bs-nav-link-disabled-color: var(--bs-secondary-color); - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - -.nav-link, .banner .nav a { - display: block; - padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); - font-size: var(--bs-nav-link-font-size); - font-weight: var(--bs-nav-link-font-weight); - color: var(--bs-nav-link-color); - background: none; - border: 0; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .nav-link, .banner .nav a { - transition: none; } } - .nav-link:hover, .banner .nav a:hover, .nav-link:focus, .banner .nav a:focus { - color: var(--bs-nav-link-hover-color); - text-decoration: none; } - .nav-link:focus-visible, .banner .nav a:focus-visible { - outline: 0; - box-shadow: 0 0 0 0.25rem rgba(51, 71, 255, 0.25); } - .nav-link.disabled, .banner .nav a.disabled, .nav-link:disabled, .banner .nav a:disabled { - color: var(--bs-nav-link-disabled-color); - pointer-events: none; - cursor: default; } - -.nav-tabs { - --bs-nav-tabs-border-width: var(--bs-border-width); - --bs-nav-tabs-border-color: var(--bs-border-color); - --bs-nav-tabs-border-radius: var(--bs-border-radius); - --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color); - --bs-nav-tabs-link-active-color: var(--bs-emphasis-color); - --bs-nav-tabs-link-active-bg: var(--bs-body-bg); - --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg); - border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); } - .nav-tabs .nav-link, .nav-tabs .banner .nav a, .banner .nav .nav-tabs a { - margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); - border: var(--bs-nav-tabs-border-width) solid transparent; - border-top-left-radius: var(--bs-nav-tabs-border-radius); - border-top-right-radius: var(--bs-nav-tabs-border-radius); } - .nav-tabs .nav-link:hover, .nav-tabs .banner .nav a:hover, .banner .nav .nav-tabs a:hover, .nav-tabs .nav-link:focus, .nav-tabs .banner .nav a:focus, .banner .nav .nav-tabs a:focus { - isolation: isolate; - border-color: var(--bs-nav-tabs-link-hover-border-color); } - .nav-tabs .nav-link.active, .nav-tabs .banner .nav a.active, .banner .nav .nav-tabs a.active, - .nav-tabs .nav-item.show .nav-link, - .nav-tabs .nav-item.show .banner .nav a, - .banner .nav .nav-tabs .nav-item.show a, - .nav-tabs .banner .nav li.show .nav-link, - .nav-tabs .banner .nav li.show a, - .banner .nav .nav-tabs li.show .nav-link, - .banner .nav .nav-tabs li.show a { - color: var(--bs-nav-tabs-link-active-color); - background-color: var(--bs-nav-tabs-link-active-bg); - border-color: var(--bs-nav-tabs-link-active-border-color); } - .nav-tabs .dropdown-menu { - margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.nav-pills { - --bs-nav-pills-border-radius: var(--bs-border-radius); - --bs-nav-pills-link-active-color: #fff; - --bs-nav-pills-link-active-bg: #3347ff; } - .nav-pills .nav-link, .nav-pills .banner .nav a, .banner .nav .nav-pills a { - border-radius: var(--bs-nav-pills-border-radius); } - .nav-pills .nav-link.active, .nav-pills .banner .nav a.active, .banner .nav .nav-pills a.active, - .nav-pills .show > .nav-link, - .nav-pills .banner .nav .show > a, - .banner .nav .nav-pills .show > a { - color: var(--bs-nav-pills-link-active-color); - background-color: var(--bs-nav-pills-link-active-bg); } - -.nav-underline { - --bs-nav-underline-gap: 1rem; - --bs-nav-underline-border-width: 0.125rem; - --bs-nav-underline-link-active-color: var(--bs-emphasis-color); - gap: var(--bs-nav-underline-gap); } - .nav-underline .nav-link, .nav-underline .banner .nav a, .banner .nav .nav-underline a { - padding-right: 0; - padding-left: 0; - border-bottom: var(--bs-nav-underline-border-width) solid transparent; } - .nav-underline .nav-link:hover, .nav-underline .banner .nav a:hover, .banner .nav .nav-underline a:hover, .nav-underline .nav-link:focus, .nav-underline .banner .nav a:focus, .banner .nav .nav-underline a:focus { - border-bottom-color: currentcolor; } - .nav-underline .nav-link.active, .nav-underline .banner .nav a.active, .banner .nav .nav-underline a.active, - .nav-underline .show > .nav-link, - .nav-underline .banner .nav .show > a, - .banner .nav .nav-underline .show > a { - font-weight: 700; - color: var(--bs-nav-underline-link-active-color); - border-bottom-color: currentcolor; } - -.nav-fill > .nav-link, .banner .nav .nav-fill > a, -.nav-fill .nav-item, -.nav-fill .banner .nav li, -.banner .nav .nav-fill li { - flex: 1 1 auto; - text-align: center; } - -.nav-justified > .nav-link, .banner .nav .nav-justified > a, -.nav-justified .nav-item, -.nav-justified .banner .nav li, -.banner .nav .nav-justified li { - flex-grow: 1; - flex-basis: 0; - text-align: center; } - -.nav-fill .nav-item .nav-link, .nav-fill .nav-item .banner .nav a, .banner .nav .nav-fill .nav-item a, .nav-fill .banner .nav li .nav-link, .nav-fill .banner .nav li a, .banner .nav .nav-fill li .nav-link, .banner .nav .nav-fill li a, -.nav-justified .nav-item .nav-link, -.nav-justified .nav-item .banner .nav a, -.banner .nav .nav-justified .nav-item a, -.nav-justified .banner .nav li .nav-link, -.nav-justified .banner .nav li a, -.banner .nav .nav-justified li .nav-link, -.banner .nav .nav-justified li a { - width: 100%; } - -.tab-content > .tab-pane { - display: none; } - -.tab-content > .active { - display: block; } - -.navbar { - --bs-navbar-padding-x: 0; - --bs-navbar-padding-y: 0.5rem; - --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65); - --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8); - --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3); - --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-brand-padding-y: 0.3125rem; - --bs-navbar-brand-margin-end: 1rem; - --bs-navbar-brand-font-size: 1.25rem; - --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1); - --bs-navbar-nav-link-padding-x: 0.5rem; - --bs-navbar-toggler-padding-y: 0.25rem; - --bs-navbar-toggler-padding-x: 0.75rem; - --bs-navbar-toggler-font-size: 1.25rem; - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2829, 45, 53, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); - --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15); - --bs-navbar-toggler-border-radius: var(--bs-border-radius); - --bs-navbar-toggler-focus-width: 0; - --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); } - .navbar > .container, - .navbar > .container-fluid, - .navbar > .container-sm, - .navbar > .container-md, - .navbar > .container-lg, - .navbar > .container-xl, - .navbar > .container-xxl { - display: flex; - flex-wrap: inherit; - align-items: center; - justify-content: space-between; } - -.navbar-brand { - padding-top: var(--bs-navbar-brand-padding-y); - padding-bottom: var(--bs-navbar-brand-padding-y); - margin-right: var(--bs-navbar-brand-margin-end); - font-size: var(--bs-navbar-brand-font-size); - color: var(--bs-navbar-brand-color); - white-space: nowrap; } - .navbar-brand:hover, .navbar-brand:focus { - color: var(--bs-navbar-brand-hover-color); - text-decoration: none; } - -.navbar-nav { - --bs-nav-link-padding-x: 0; - --bs-nav-link-padding-y: 0.5rem; - --bs-nav-link-font-weight: ; - --bs-nav-link-color: var(--bs-navbar-color); - --bs-nav-link-hover-color: var(--bs-navbar-hover-color); - --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - .navbar-nav .nav-link.active, .navbar-nav .banner .nav a.active, .banner .nav .navbar-nav a.active, .navbar-nav .nav-link.show, .navbar-nav .banner .nav a.show, .banner .nav .navbar-nav a.show { - color: var(--bs-navbar-active-color); } - .navbar-nav .dropdown-menu { - position: static; } - -.navbar-text { - padding-top: 0.5rem; - padding-bottom: 0.5rem; - color: var(--bs-navbar-color); } - .navbar-text a, - .navbar-text a:hover, - .navbar-text a:focus { - color: var(--bs-navbar-active-color); } - -.navbar-collapse { - flex-grow: 1; - flex-basis: 100%; - align-items: center; } - -.navbar-toggler { - padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); - font-size: var(--bs-navbar-toggler-font-size); - line-height: 1; - color: var(--bs-navbar-color); - background-color: transparent; - border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); - border-radius: var(--bs-navbar-toggler-border-radius); - transition: var(--bs-navbar-toggler-transition); } - @media (prefers-reduced-motion: reduce) { - .navbar-toggler { - transition: none; } } - .navbar-toggler:hover { - text-decoration: none; } - .navbar-toggler:focus { - text-decoration: none; - outline: 0; - box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); } - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - background-image: var(--bs-navbar-toggler-icon-bg); - background-repeat: no-repeat; - background-position: center; - background-size: 100%; } - -.navbar-nav-scroll { - max-height: var(--bs-scroll-height, 75vh); - overflow-y: auto; } - -@media (min-width: 576px) { - .navbar-expand-sm { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-sm .navbar-nav { - flex-direction: row; } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-sm .navbar-nav .nav-link, .navbar-expand-sm .navbar-nav .banner .nav a, .banner .nav .navbar-expand-sm .navbar-nav a { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-sm .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-sm .navbar-toggler { - display: none; } - .navbar-expand-sm .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; } - .navbar-expand-sm .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-sm .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 768px) { - .navbar-expand-md { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-md .navbar-nav { - flex-direction: row; } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-md .navbar-nav .nav-link, .navbar-expand-md .navbar-nav .banner .nav a, .banner .nav .navbar-expand-md .navbar-nav a { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-md .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-md .navbar-toggler { - display: none; } - .navbar-expand-md .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; } - .navbar-expand-md .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-md .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 992px) { - .navbar-expand-lg { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-lg .navbar-nav { - flex-direction: row; } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-lg .navbar-nav .nav-link, .navbar-expand-lg .navbar-nav .banner .nav a, .banner .nav .navbar-expand-lg .navbar-nav a { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-lg .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-lg .navbar-toggler { - display: none; } - .navbar-expand-lg .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; } - .navbar-expand-lg .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-lg .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 1200px) { - .navbar-expand-xl { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-xl .navbar-nav { - flex-direction: row; } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-xl .navbar-nav .nav-link, .navbar-expand-xl .navbar-nav .banner .nav a, .banner .nav .navbar-expand-xl .navbar-nav a { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-xl .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-xl .navbar-toggler { - display: none; } - .navbar-expand-xl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; } - .navbar-expand-xl .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-xl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -@media (min-width: 1400px) { - .navbar-expand-xxl { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand-xxl .navbar-nav { - flex-direction: row; } - .navbar-expand-xxl .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-xxl .navbar-nav .nav-link, .navbar-expand-xxl .navbar-nav .banner .nav a, .banner .nav .navbar-expand-xxl .navbar-nav a { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand-xxl .navbar-nav-scroll { - overflow: visible; } - .navbar-expand-xxl .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-xxl .navbar-toggler { - display: none; } - .navbar-expand-xxl .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; } - .navbar-expand-xxl .offcanvas .offcanvas-header { - display: none; } - .navbar-expand-xxl .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } } - -.navbar-expand { - flex-wrap: nowrap; - justify-content: flex-start; } - .navbar-expand .navbar-nav { - flex-direction: row; } - .navbar-expand .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand .navbar-nav .nav-link, .navbar-expand .navbar-nav .banner .nav a, .banner .nav .navbar-expand .navbar-nav a { - padding-right: var(--bs-navbar-nav-link-padding-x); - padding-left: var(--bs-navbar-nav-link-padding-x); } - .navbar-expand .navbar-nav-scroll { - overflow: visible; } - .navbar-expand .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand .navbar-toggler { - display: none; } - .navbar-expand .offcanvas { - position: static; - z-index: auto; - flex-grow: 1; - width: auto !important; - height: auto !important; - visibility: visible !important; - background-color: transparent !important; - border: 0 !important; - transform: none !important; - transition: none; } - .navbar-expand .offcanvas .offcanvas-header { - display: none; } - .navbar-expand .offcanvas .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; } - -.navbar-dark, -.navbar[data-bs-theme="dark"] { - --bs-navbar-color: #c1c3c8; - --bs-navbar-hover-color: #b3c7ff; - --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); - --bs-navbar-active-color: #b3c7ff; - --bs-navbar-brand-color: #b3c7ff; - --bs-navbar-brand-hover-color: #b3c7ff; - --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c1c3c8' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -[data-bs-theme="dark"] .navbar-toggler-icon { - --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c1c3c8' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -.card { - --bs-card-spacer-y: 1rem; - --bs-card-spacer-x: 1rem; - --bs-card-title-spacer-y: 0.5rem; - --bs-card-title-color: ; - --bs-card-subtitle-color: ; - --bs-card-border-width: var(--bs-border-width); - --bs-card-border-color: #e9ecef; - --bs-card-border-radius: var(--bs-border-radius); - --bs-card-box-shadow: ; - --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); - --bs-card-cap-padding-y: 0.5rem; - --bs-card-cap-padding-x: 1rem; - --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03); - --bs-card-cap-color: ; - --bs-card-height: ; - --bs-card-color: ; - --bs-card-bg: var(--bs-body-bg); - --bs-card-img-overlay-padding: 1rem; - --bs-card-group-margin: 1.5rem; - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - height: var(--bs-card-height); - color: var(--bs-body-color); - word-wrap: break-word; - background-color: var(--bs-card-bg); - background-clip: border-box; - border: var(--bs-card-border-width) solid var(--bs-card-border-color); - border-radius: var(--bs-card-border-radius); } - .card > hr { - margin-right: 0; - margin-left: 0; } - .card > .list-group { - border-top: inherit; - border-bottom: inherit; } - .card > .list-group:first-child { - border-top-width: 0; - border-top-left-radius: var(--bs-card-inner-border-radius); - border-top-right-radius: var(--bs-card-inner-border-radius); } - .card > .list-group:last-child { - border-bottom-width: 0; - border-bottom-right-radius: var(--bs-card-inner-border-radius); - border-bottom-left-radius: var(--bs-card-inner-border-radius); } - .card > .card-header + .list-group, - .card > .list-group + .card-footer { - border-top: 0; } - -.card-body { - flex: 1 1 auto; - padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); - color: var(--bs-card-color); } - -.card-title { - margin-bottom: var(--bs-card-title-spacer-y); - color: var(--bs-card-title-color); } - -.card-subtitle { - margin-top: calc(-.5 * var(--bs-card-title-spacer-y)); - margin-bottom: 0; - color: var(--bs-card-subtitle-color); } - -.card-text:last-child { - margin-bottom: 0; } - -.card-link:hover { - text-decoration: none; } - -.card-link + .card-link { - margin-left: var(--bs-card-spacer-x); } - -.card-header { - padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); - margin-bottom: 0; - color: var(--bs-card-cap-color); - background-color: var(--bs-card-cap-bg); - border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); } - .card-header:first-child { - border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; } - -.card-footer { - padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); - color: var(--bs-card-cap-color); - background-color: var(--bs-card-cap-bg); - border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); } - .card-footer:last-child { - border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); } - -.card-header-tabs { - margin-right: calc(-.5 * var(--bs-card-cap-padding-x)); - margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); - margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); - border-bottom: 0; } - .card-header-tabs .nav-link.active, .card-header-tabs .banner .nav a.active, .banner .nav .card-header-tabs a.active { - background-color: var(--bs-card-bg); - border-bottom-color: var(--bs-card-bg); } - -.card-header-pills { - margin-right: calc(-.5 * var(--bs-card-cap-padding-x)); - margin-left: calc(-.5 * var(--bs-card-cap-padding-x)); } - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: var(--bs-card-img-overlay-padding); - border-radius: var(--bs-card-inner-border-radius); } - -.card-img, -.card-img-top, -.card-img-bottom { - width: 100%; } - -.card-img, -.card-img-top { - border-top-left-radius: var(--bs-card-inner-border-radius); - border-top-right-radius: var(--bs-card-inner-border-radius); } - -.card-img, -.card-img-bottom { - border-bottom-right-radius: var(--bs-card-inner-border-radius); - border-bottom-left-radius: var(--bs-card-inner-border-radius); } - -.card-group > .card { - margin-bottom: var(--bs-card-group-margin); } - -@media (min-width: 576px) { - .card-group { - display: flex; - flex-flow: row wrap; } - .card-group > .card { - flex: 1 0 0; - margin-bottom: 0; } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .card-group > .card:not(:last-child) > .card-img-top, - .card-group > .card:not(:last-child) > .card-header { - border-top-right-radius: 0; } - .card-group > .card:not(:last-child) > .card-img-bottom, - .card-group > .card:not(:last-child) > .card-footer { - border-bottom-right-radius: 0; } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .card-group > .card:not(:first-child) > .card-img-top, - .card-group > .card:not(:first-child) > .card-header { - border-top-left-radius: 0; } - .card-group > .card:not(:first-child) > .card-img-bottom, - .card-group > .card:not(:first-child) > .card-footer { - border-bottom-left-radius: 0; } } - -.accordion { - --bs-accordion-color: var(--bs-body-color); - --bs-accordion-bg: var(--bs-body-bg); - --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; - --bs-accordion-border-color: var(--bs-border-color); - --bs-accordion-border-width: var(--bs-border-width); - --bs-accordion-border-radius: var(--bs-border-radius); - --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width))); - --bs-accordion-btn-padding-x: 1.25rem; - --bs-accordion-btn-padding-y: 1rem; - --bs-accordion-btn-color: var(--bs-body-color); - --bs-accordion-btn-bg: var(--bs-accordion-bg); - --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%231d2d35' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - --bs-accordion-btn-icon-width: 1.25rem; - --bs-accordion-btn-icon-transform: rotate(-180deg); - --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; - --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23141d66' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); - --bs-accordion-btn-focus-box-shadow: none; - --bs-accordion-body-padding-x: 1.25rem; - --bs-accordion-body-padding-y: 1rem; - --bs-accordion-active-color: var(--bs-primary-text-emphasis); - --bs-accordion-active-bg: var(--bs-primary-bg-subtle); } - -.accordion-button { - position: relative; - display: flex; - align-items: center; - width: 100%; - padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); - font-size: 1rem; - color: var(--bs-accordion-btn-color); - text-align: left; - background-color: var(--bs-accordion-btn-bg); - border: 0; - border-radius: 0; - overflow-anchor: none; - transition: var(--bs-accordion-transition); } - @media (prefers-reduced-motion: reduce) { - .accordion-button { - transition: none; } } - .accordion-button:not(.collapsed) { - color: var(--bs-accordion-active-color); - background-color: var(--bs-accordion-active-bg); - box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); } - .accordion-button:not(.collapsed)::after { - background-image: var(--bs-accordion-btn-active-icon); - transform: var(--bs-accordion-btn-icon-transform); } - .accordion-button::after { - flex-shrink: 0; - width: var(--bs-accordion-btn-icon-width); - height: var(--bs-accordion-btn-icon-width); - margin-left: auto; - content: ""; - background-image: var(--bs-accordion-btn-icon); - background-repeat: no-repeat; - background-size: var(--bs-accordion-btn-icon-width); - transition: var(--bs-accordion-btn-icon-transition); } - @media (prefers-reduced-motion: reduce) { - .accordion-button::after { - transition: none; } } - .accordion-button:hover { - z-index: 2; } - .accordion-button:focus { - z-index: 3; - outline: 0; - box-shadow: var(--bs-accordion-btn-focus-box-shadow); } - -.accordion-header { - margin-bottom: 0; } - -.accordion-item { - color: var(--bs-accordion-color); - background-color: var(--bs-accordion-bg); - border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); } - .accordion-item:first-of-type { - border-top-left-radius: var(--bs-accordion-border-radius); - border-top-right-radius: var(--bs-accordion-border-radius); } - .accordion-item:first-of-type > .accordion-header .accordion-button { - border-top-left-radius: var(--bs-accordion-inner-border-radius); - border-top-right-radius: var(--bs-accordion-inner-border-radius); } - .accordion-item:not(:first-of-type) { - border-top: 0; } - .accordion-item:last-of-type { - border-bottom-right-radius: var(--bs-accordion-border-radius); - border-bottom-left-radius: var(--bs-accordion-border-radius); } - .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { - border-bottom-right-radius: var(--bs-accordion-inner-border-radius); - border-bottom-left-radius: var(--bs-accordion-inner-border-radius); } - .accordion-item:last-of-type > .accordion-collapse { - border-bottom-right-radius: var(--bs-accordion-border-radius); - border-bottom-left-radius: var(--bs-accordion-border-radius); } - -.accordion-body { - padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); } - -.accordion-flush > .accordion-item { - border-right: 0; - border-left: 0; - border-radius: 0; } - .accordion-flush > .accordion-item:first-child { - border-top: 0; } - .accordion-flush > .accordion-item:last-child { - border-bottom: 0; } - .accordion-flush > .accordion-item > .accordion-collapse, - .accordion-flush > .accordion-item > .accordion-header .accordion-button, - .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { - border-radius: 0; } - -[data-bs-theme="dark"] .accordion-button::after { - --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238591ff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); - --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238591ff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e"); } - -.breadcrumb { - --bs-breadcrumb-padding-x: 0; - --bs-breadcrumb-padding-y: 0; - --bs-breadcrumb-margin-bottom: 1rem; - --bs-breadcrumb-bg: ; - --bs-breadcrumb-border-radius: ; - --bs-breadcrumb-divider-color: var(--bs-secondary-color); - --bs-breadcrumb-item-padding-x: 0.5rem; - --bs-breadcrumb-item-active-color: var(--bs-secondary-color); - display: flex; - flex-wrap: wrap; - padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); - margin-bottom: var(--bs-breadcrumb-margin-bottom); - font-size: var(--bs-breadcrumb-font-size); - list-style: none; - background-color: var(--bs-breadcrumb-bg); - border-radius: var(--bs-breadcrumb-border-radius); } - -.breadcrumb-item + .breadcrumb-item { - padding-left: var(--bs-breadcrumb-item-padding-x); } - .breadcrumb-item + .breadcrumb-item::before { - float: left; - padding-right: var(--bs-breadcrumb-item-padding-x); - color: var(--bs-breadcrumb-divider-color); - content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; } - -.breadcrumb-item.active { - color: var(--bs-breadcrumb-item-active-color); } - -.pagination { - --bs-pagination-padding-x: 0.75rem; - --bs-pagination-padding-y: 0.375rem; - --bs-pagination-font-size: 1rem; - --bs-pagination-color: var(--bs-link-color); - --bs-pagination-bg: var(--bs-body-bg); - --bs-pagination-border-width: var(--bs-border-width); - --bs-pagination-border-color: var(--bs-border-color); - --bs-pagination-border-radius: var(--bs-border-radius); - --bs-pagination-hover-color: var(--bs-link-hover-color); - --bs-pagination-hover-bg: var(--bs-tertiary-bg); - --bs-pagination-hover-border-color: var(--bs-border-color); - --bs-pagination-focus-color: var(--bs-link-hover-color); - --bs-pagination-focus-bg: var(--bs-secondary-bg); - --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(51, 71, 255, 0.25); - --bs-pagination-active-color: #fff; - --bs-pagination-active-bg: #3347ff; - --bs-pagination-active-border-color: #3347ff; - --bs-pagination-disabled-color: var(--bs-secondary-color); - --bs-pagination-disabled-bg: var(--bs-secondary-bg); - --bs-pagination-disabled-border-color: var(--bs-border-color); - display: flex; - padding-left: 0; - list-style: none; } - -.page-link { - position: relative; - display: block; - padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); - font-size: var(--bs-pagination-font-size); - color: var(--bs-pagination-color); - background-color: var(--bs-pagination-bg); - border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .page-link { - transition: none; } } - .page-link:hover { - z-index: 2; - color: var(--bs-pagination-hover-color); - text-decoration: none; - background-color: var(--bs-pagination-hover-bg); - border-color: var(--bs-pagination-hover-border-color); } - .page-link:focus { - z-index: 3; - color: var(--bs-pagination-focus-color); - background-color: var(--bs-pagination-focus-bg); - outline: 0; - box-shadow: var(--bs-pagination-focus-box-shadow); } - .page-link.active, .active > .page-link { - z-index: 3; - color: var(--bs-pagination-active-color); - background-color: var(--bs-pagination-active-bg); - border-color: var(--bs-pagination-active-border-color); } - .page-link.disabled, .disabled > .page-link { - color: var(--bs-pagination-disabled-color); - pointer-events: none; - background-color: var(--bs-pagination-disabled-bg); - border-color: var(--bs-pagination-disabled-border-color); } - -.page-item:not(:first-child) .page-link { - margin-left: calc(-1 * var(--bs-border-width)); } - -.page-item:first-child .page-link { - border-top-left-radius: var(--bs-pagination-border-radius); - border-bottom-left-radius: var(--bs-pagination-border-radius); } - -.page-item:last-child .page-link { - border-top-right-radius: var(--bs-pagination-border-radius); - border-bottom-right-radius: var(--bs-pagination-border-radius); } - -.pagination-lg { - --bs-pagination-padding-x: 1.5rem; - --bs-pagination-padding-y: 0.75rem; - --bs-pagination-font-size: 1.25rem; - --bs-pagination-border-radius: var(--bs-border-radius-lg); } - -.pagination-sm { - --bs-pagination-padding-x: 0.5rem; - --bs-pagination-padding-y: 0.25rem; - --bs-pagination-font-size: 0.875rem; - --bs-pagination-border-radius: var(--bs-border-radius-sm); } - -.badge { - --bs-badge-padding-x: 0.65em; - --bs-badge-padding-y: 0.35em; - --bs-badge-font-size: 0.75em; - --bs-badge-font-weight: 700; - --bs-badge-color: #fff; - --bs-badge-border-radius: var(--bs-border-radius); - display: inline-block; - padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); - font-size: var(--bs-badge-font-size); - font-weight: var(--bs-badge-font-weight); - line-height: 1; - color: var(--bs-badge-color); - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: var(--bs-badge-border-radius); } - .badge:empty { - display: none; } - -.btn .badge, .search-form .search-submit .badge, .comment-form input[type="submit"] .badge { - position: relative; - top: -1px; } - -.alert { - --bs-alert-bg: transparent; - --bs-alert-padding-x: 1.5rem; - --bs-alert-padding-y: 1rem; - --bs-alert-margin-bottom: 0; - --bs-alert-color: inherit; - --bs-alert-border-color: transparent; - --bs-alert-border: 0 solid var(--bs-alert-border-color); - --bs-alert-border-radius: 0; - --bs-alert-link-color: inherit; - position: relative; - padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); - margin-bottom: var(--bs-alert-margin-bottom); - color: var(--bs-alert-color); - background-color: var(--bs-alert-bg); - border: var(--bs-alert-border); - border-radius: var(--bs-alert-border-radius); } - -.alert-heading { - color: inherit; } - -.alert-link { - font-weight: 700; - color: var(--bs-alert-link-color); } - -.alert-dismissible { - padding-right: 4.5rem; } - .alert-dismissible .btn-close { - position: absolute; - top: 0; - right: 0; - z-index: 2; - padding: 1.25rem 1.5rem; } - -.alert-primary { - --bs-alert-color: var(--bs-primary-text-emphasis); - --bs-alert-bg: var(--bs-primary-bg-subtle); - --bs-alert-border-color: var(--bs-primary-border-subtle); - --bs-alert-link-color: var(--bs-primary-text-emphasis); } - -.alert-secondary { - --bs-alert-color: var(--bs-secondary-text-emphasis); - --bs-alert-bg: var(--bs-secondary-bg-subtle); - --bs-alert-border-color: var(--bs-secondary-border-subtle); - --bs-alert-link-color: var(--bs-secondary-text-emphasis); } - -.alert-success { - --bs-alert-color: var(--bs-success-text-emphasis); - --bs-alert-bg: var(--bs-success-bg-subtle); - --bs-alert-border-color: var(--bs-success-border-subtle); - --bs-alert-link-color: var(--bs-success-text-emphasis); } - -.alert-info { - --bs-alert-color: var(--bs-info-text-emphasis); - --bs-alert-bg: var(--bs-info-bg-subtle); - --bs-alert-border-color: var(--bs-info-border-subtle); - --bs-alert-link-color: var(--bs-info-text-emphasis); } - -.alert-warning { - --bs-alert-color: var(--bs-warning-text-emphasis); - --bs-alert-bg: var(--bs-warning-bg-subtle); - --bs-alert-border-color: var(--bs-warning-border-subtle); - --bs-alert-link-color: var(--bs-warning-text-emphasis); } - -.alert-danger { - --bs-alert-color: var(--bs-danger-text-emphasis); - --bs-alert-bg: var(--bs-danger-bg-subtle); - --bs-alert-border-color: var(--bs-danger-border-subtle); - --bs-alert-link-color: var(--bs-danger-text-emphasis); } - -.alert-light { - --bs-alert-color: var(--bs-light-text-emphasis); - --bs-alert-bg: var(--bs-light-bg-subtle); - --bs-alert-border-color: var(--bs-light-border-subtle); - --bs-alert-link-color: var(--bs-light-text-emphasis); } - -.alert-dark { - --bs-alert-color: var(--bs-dark-text-emphasis); - --bs-alert-bg: var(--bs-dark-bg-subtle); - --bs-alert-border-color: var(--bs-dark-border-subtle); - --bs-alert-link-color: var(--bs-dark-text-emphasis); } - -@keyframes progress-bar-stripes { - 0% { - background-position-x: var(--bs-progress-height); } } - -.progress, -.progress-stacked { - --bs-progress-height: 1rem; - --bs-progress-font-size: 0.75rem; - --bs-progress-bg: var(--bs-secondary-bg); - --bs-progress-border-radius: var(--bs-border-radius); - --bs-progress-box-shadow: var(--bs-box-shadow-inset); - --bs-progress-bar-color: #fff; - --bs-progress-bar-bg: #3347ff; - --bs-progress-bar-transition: width 0.6s ease; - display: flex; - height: var(--bs-progress-height); - overflow: hidden; - font-size: var(--bs-progress-font-size); - background-color: var(--bs-progress-bg); - border-radius: var(--bs-progress-border-radius); } - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - overflow: hidden; - color: var(--bs-progress-bar-color); - text-align: center; - white-space: nowrap; - background-color: var(--bs-progress-bar-bg); - transition: var(--bs-progress-bar-transition); } - @media (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; } } -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: var(--bs-progress-height) var(--bs-progress-height); } - -.progress-stacked > .progress { - overflow: visible; } - -.progress-stacked > .progress > .progress-bar { - width: 100%; } - -.progress-bar-animated { - animation: 1s linear infinite progress-bar-stripes; } - @media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - animation: none; } } -.list-group { - --bs-list-group-color: var(--bs-body-color); - --bs-list-group-bg: var(--bs-body-bg); - --bs-list-group-border-color: var(--bs-border-color); - --bs-list-group-border-width: var(--bs-border-width); - --bs-list-group-border-radius: var(--bs-border-radius); - --bs-list-group-item-padding-x: 1rem; - --bs-list-group-item-padding-y: 0.5rem; - --bs-list-group-action-color: var(--bs-secondary-color); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-tertiary-bg); - --bs-list-group-action-active-color: var(--bs-body-color); - --bs-list-group-action-active-bg: var(--bs-secondary-bg); - --bs-list-group-disabled-color: var(--bs-secondary-color); - --bs-list-group-disabled-bg: var(--bs-body-bg); - --bs-list-group-active-color: #fff; - --bs-list-group-active-bg: #3347ff; - --bs-list-group-active-border-color: #3347ff; - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - border-radius: var(--bs-list-group-border-radius); } - -.list-group-numbered { - list-style-type: none; - counter-reset: section; } - .list-group-numbered > .list-group-item::before { - content: counters(section, ".") ". "; - counter-increment: section; } - -.list-group-item { - position: relative; - display: block; - padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); - color: var(--bs-list-group-color); - background-color: var(--bs-list-group-bg); - border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); } - .list-group-item:first-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; } - .list-group-item:last-child { - border-bottom-right-radius: inherit; - border-bottom-left-radius: inherit; } - .list-group-item.disabled, .list-group-item:disabled { - color: var(--bs-list-group-disabled-color); - pointer-events: none; - background-color: var(--bs-list-group-disabled-bg); } - .list-group-item.active { - z-index: 2; - color: var(--bs-list-group-active-color); - background-color: var(--bs-list-group-active-bg); - border-color: var(--bs-list-group-active-border-color); } - .list-group-item + .list-group-item { - border-top-width: 0; } - .list-group-item + .list-group-item.active { - margin-top: calc(-1 * var(--bs-list-group-border-width)); - border-top-width: var(--bs-list-group-border-width); } - -.list-group-item-action { - width: 100%; - color: var(--bs-list-group-action-color); - text-align: inherit; } - .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus { - z-index: 1; - color: var(--bs-list-group-action-hover-color); - text-decoration: none; - background-color: var(--bs-list-group-action-hover-bg); } - .list-group-item-action:not(.active):active { - color: var(--bs-list-group-action-active-color); - background-color: var(--bs-list-group-action-active-bg); } - -.list-group-horizontal { - flex-direction: row; } - .list-group-horizontal > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } - -@media (min-width: 576px) { - .list-group-horizontal-sm { - flex-direction: row; } - .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-sm > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-sm > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-sm > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 768px) { - .list-group-horizontal-md { - flex-direction: row; } - .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-md > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-md > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-md > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 992px) { - .list-group-horizontal-lg { - flex-direction: row; } - .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-lg > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-lg > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-lg > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 1200px) { - .list-group-horizontal-xl { - flex-direction: row; } - .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-xl > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-xl > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-xl > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -@media (min-width: 1400px) { - .list-group-horizontal-xxl { - flex-direction: row; } - .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { - border-bottom-left-radius: var(--bs-list-group-border-radius); - border-top-right-radius: 0; } - .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { - border-top-right-radius: var(--bs-list-group-border-radius); - border-bottom-left-radius: 0; } - .list-group-horizontal-xxl > .list-group-item.active { - margin-top: 0; } - .list-group-horizontal-xxl > .list-group-item + .list-group-item { - border-top-width: var(--bs-list-group-border-width); - border-left-width: 0; } - .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { - margin-left: calc(-1 * var(--bs-list-group-border-width)); - border-left-width: var(--bs-list-group-border-width); } } - -.list-group-flush { - border-radius: 0; } - .list-group-flush > .list-group-item { - border-width: 0 0 var(--bs-list-group-border-width); } - .list-group-flush > .list-group-item:last-child { - border-bottom-width: 0; } - -.list-group-item-primary { - --bs-list-group-color: var(--bs-primary-text-emphasis); - --bs-list-group-bg: var(--bs-primary-bg-subtle); - --bs-list-group-border-color: var(--bs-primary-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-primary-border-subtle); - --bs-list-group-active-color: var(--bs-primary-bg-subtle); - --bs-list-group-active-bg: var(--bs-primary-text-emphasis); - --bs-list-group-active-border-color: var(--bs-primary-text-emphasis); } - -.list-group-item-secondary { - --bs-list-group-color: var(--bs-secondary-text-emphasis); - --bs-list-group-bg: var(--bs-secondary-bg-subtle); - --bs-list-group-border-color: var(--bs-secondary-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle); - --bs-list-group-active-color: var(--bs-secondary-bg-subtle); - --bs-list-group-active-bg: var(--bs-secondary-text-emphasis); - --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis); } - -.list-group-item-success { - --bs-list-group-color: var(--bs-success-text-emphasis); - --bs-list-group-bg: var(--bs-success-bg-subtle); - --bs-list-group-border-color: var(--bs-success-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-success-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-success-border-subtle); - --bs-list-group-active-color: var(--bs-success-bg-subtle); - --bs-list-group-active-bg: var(--bs-success-text-emphasis); - --bs-list-group-active-border-color: var(--bs-success-text-emphasis); } - -.list-group-item-info { - --bs-list-group-color: var(--bs-info-text-emphasis); - --bs-list-group-bg: var(--bs-info-bg-subtle); - --bs-list-group-border-color: var(--bs-info-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-info-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-info-border-subtle); - --bs-list-group-active-color: var(--bs-info-bg-subtle); - --bs-list-group-active-bg: var(--bs-info-text-emphasis); - --bs-list-group-active-border-color: var(--bs-info-text-emphasis); } - -.list-group-item-warning { - --bs-list-group-color: var(--bs-warning-text-emphasis); - --bs-list-group-bg: var(--bs-warning-bg-subtle); - --bs-list-group-border-color: var(--bs-warning-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-warning-border-subtle); - --bs-list-group-active-color: var(--bs-warning-bg-subtle); - --bs-list-group-active-bg: var(--bs-warning-text-emphasis); - --bs-list-group-active-border-color: var(--bs-warning-text-emphasis); } - -.list-group-item-danger { - --bs-list-group-color: var(--bs-danger-text-emphasis); - --bs-list-group-bg: var(--bs-danger-bg-subtle); - --bs-list-group-border-color: var(--bs-danger-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-danger-border-subtle); - --bs-list-group-active-color: var(--bs-danger-bg-subtle); - --bs-list-group-active-bg: var(--bs-danger-text-emphasis); - --bs-list-group-active-border-color: var(--bs-danger-text-emphasis); } - -.list-group-item-light { - --bs-list-group-color: var(--bs-light-text-emphasis); - --bs-list-group-bg: var(--bs-light-bg-subtle); - --bs-list-group-border-color: var(--bs-light-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-light-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-light-border-subtle); - --bs-list-group-active-color: var(--bs-light-bg-subtle); - --bs-list-group-active-bg: var(--bs-light-text-emphasis); - --bs-list-group-active-border-color: var(--bs-light-text-emphasis); } - -.list-group-item-dark { - --bs-list-group-color: var(--bs-dark-text-emphasis); - --bs-list-group-bg: var(--bs-dark-bg-subtle); - --bs-list-group-border-color: var(--bs-dark-border-subtle); - --bs-list-group-action-hover-color: var(--bs-emphasis-color); - --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); - --bs-list-group-action-active-color: var(--bs-emphasis-color); - --bs-list-group-action-active-bg: var(--bs-dark-border-subtle); - --bs-list-group-active-color: var(--bs-dark-bg-subtle); - --bs-list-group-active-bg: var(--bs-dark-text-emphasis); - --bs-list-group-active-border-color: var(--bs-dark-text-emphasis); } - -.btn-close { - --bs-btn-close-color: #000; - --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e"); - --bs-btn-close-opacity: 0.5; - --bs-btn-close-hover-opacity: 0.75; - --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(51, 71, 255, 0.25); - --bs-btn-close-focus-opacity: 1; - --bs-btn-close-disabled-opacity: 0.25; - box-sizing: content-box; - width: 1em; - height: 1em; - padding: 0.25em 0.25em; - color: var(--bs-btn-close-color); - background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; - filter: var(--bs-btn-close-filter); - border: 0; - border-radius: 0.375rem; - opacity: var(--bs-btn-close-opacity); } - .btn-close:hover { - color: var(--bs-btn-close-color); - text-decoration: none; - opacity: var(--bs-btn-close-hover-opacity); } - .btn-close:focus { - outline: 0; - box-shadow: var(--bs-btn-close-focus-shadow); - opacity: var(--bs-btn-close-focus-opacity); } - .btn-close:disabled, .btn-close.disabled { - pointer-events: none; - user-select: none; - opacity: var(--bs-btn-close-disabled-opacity); } - -.btn-close-white { - --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%); } - -:root, -[data-bs-theme="light"] { - --bs-btn-close-filter: ; } - -[data-bs-theme="dark"] { - --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%); } - -.toast { - --bs-toast-zindex: 1090; - --bs-toast-padding-x: 0.75rem; - --bs-toast-padding-y: 0.5rem; - --bs-toast-spacing: 3rem; - --bs-toast-max-width: 350px; - --bs-toast-font-size: 0.875rem; - --bs-toast-color: ; - --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); - --bs-toast-border-width: var(--bs-border-width); - --bs-toast-border-color: var(--bs-border-color-translucent); - --bs-toast-border-radius: var(--bs-border-radius); - --bs-toast-box-shadow: var(--bs-box-shadow); - --bs-toast-header-color: var(--bs-secondary-color); - --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); - --bs-toast-header-border-color: var(--bs-border-color-translucent); - width: var(--bs-toast-max-width); - max-width: 100%; - font-size: var(--bs-toast-font-size); - color: var(--bs-toast-color); - pointer-events: auto; - background-color: var(--bs-toast-bg); - background-clip: padding-box; - border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); - box-shadow: var(--bs-toast-box-shadow); - border-radius: var(--bs-toast-border-radius); } - .toast.showing { - opacity: 0; } - .toast:not(.show) { - display: none; } - -.toast-container { - --bs-toast-zindex: 1090; - position: absolute; - z-index: var(--bs-toast-zindex); - width: max-content; - max-width: 100%; - pointer-events: none; } - .toast-container > :not(:last-child) { - margin-bottom: var(--bs-toast-spacing); } - -.toast-header { - display: flex; - align-items: center; - padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); - color: var(--bs-toast-header-color); - background-color: var(--bs-toast-header-bg); - background-clip: padding-box; - border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); - border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); - border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); } - .toast-header .btn-close { - margin-right: calc(-.5 * var(--bs-toast-padding-x)); - margin-left: var(--bs-toast-padding-x); } - -.toast-body { - padding: var(--bs-toast-padding-x); - word-wrap: break-word; } - -.modal { - --bs-modal-zindex: 1055; - --bs-modal-width: 500px; - --bs-modal-padding: 1rem; - --bs-modal-margin: 0.5rem; - --bs-modal-color: var(--bs-body-color); - --bs-modal-bg: var(--bs-body-bg); - --bs-modal-border-color: var(--bs-border-color-translucent); - --bs-modal-border-width: var(--bs-border-width); - --bs-modal-border-radius: var(--bs-border-radius-lg); - --bs-modal-box-shadow: var(--bs-box-shadow-sm); - --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width))); - --bs-modal-header-padding-x: 1rem; - --bs-modal-header-padding-y: 1rem; - --bs-modal-header-padding: 1rem 1rem; - --bs-modal-header-border-color: var(--bs-border-color); - --bs-modal-header-border-width: var(--bs-border-width); - --bs-modal-title-line-height: 1.5; - --bs-modal-footer-gap: 0.5rem; - --bs-modal-footer-bg: ; - --bs-modal-footer-border-color: var(--bs-border-color); - --bs-modal-footer-border-width: var(--bs-border-width); - position: fixed; - top: 0; - left: 0; - z-index: var(--bs-modal-zindex); - display: none; - width: 100%; - height: 100%; - overflow-x: hidden; - overflow-y: auto; - outline: 0; } - -.modal-dialog { - position: relative; - width: auto; - margin: var(--bs-modal-margin); - pointer-events: none; } - .modal.fade .modal-dialog { - transform: translate(0, -50px); - transition: transform 0.3s ease-out; } - @media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; } } - .modal.show .modal-dialog { - transform: none; } - .modal.modal-static .modal-dialog { - transform: scale(1.02); } - -.modal-dialog-scrollable { - height: calc(100% - var(--bs-modal-margin) * 2); } - .modal-dialog-scrollable .modal-content { - max-height: 100%; - overflow: hidden; } - .modal-dialog-scrollable .modal-body { - overflow-y: auto; } - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - var(--bs-modal-margin) * 2); } - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - color: var(--bs-modal-color); - pointer-events: auto; - background-color: var(--bs-modal-bg); - background-clip: padding-box; - border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); - border-radius: var(--bs-modal-border-radius); - outline: 0; } - -.modal-backdrop { - --bs-backdrop-zindex: 1050; - --bs-backdrop-bg: #000; - --bs-backdrop-opacity: 0.5; - position: fixed; - top: 0; - left: 0; - z-index: var(--bs-backdrop-zindex); - width: 100vw; - height: 100vh; - background-color: var(--bs-backdrop-bg); } - .modal-backdrop.fade { - opacity: 0; } - .modal-backdrop.show { - opacity: var(--bs-backdrop-opacity); } - -.modal-header { - display: flex; - flex-shrink: 0; - align-items: center; - padding: var(--bs-modal-header-padding); - border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); - border-top-left-radius: var(--bs-modal-inner-border-radius); - border-top-right-radius: var(--bs-modal-inner-border-radius); } - .modal-header .btn-close { - padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5); - margin-top: calc(-.5 * var(--bs-modal-header-padding-y)); - margin-right: calc(-.5 * var(--bs-modal-header-padding-x)); - margin-bottom: calc(-.5 * var(--bs-modal-header-padding-y)); - margin-left: auto; } - -.modal-title { - margin-bottom: 0; - line-height: var(--bs-modal-title-line-height); } - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: var(--bs-modal-padding); } - -.modal-footer { - display: flex; - flex-shrink: 0; - flex-wrap: wrap; - align-items: center; - justify-content: flex-end; - padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5); - background-color: var(--bs-modal-footer-bg); - border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); - border-bottom-right-radius: var(--bs-modal-inner-border-radius); - border-bottom-left-radius: var(--bs-modal-inner-border-radius); } - .modal-footer > * { - margin: calc(var(--bs-modal-footer-gap) * .5); } - -@media (min-width: 576px) { - .modal { - --bs-modal-margin: 1.75rem; - --bs-modal-box-shadow: var(--bs-box-shadow); } - .modal-dialog { - max-width: var(--bs-modal-width); - margin-right: auto; - margin-left: auto; } - .modal-sm { - --bs-modal-width: 300px; } } - -@media (min-width: 992px) { - .modal-lg, - .modal-xl { - --bs-modal-width: 800px; } } - -@media (min-width: 1200px) { - .modal-xl { - --bs-modal-width: 1140px; } } - -.modal-fullscreen { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen .modal-header, - .modal-fullscreen .modal-footer { - border-radius: 0; } - .modal-fullscreen .modal-body { - overflow-y: auto; } - -@media (max-width: 575.98px) { - .modal-fullscreen-sm-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-sm-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-sm-down .modal-header, - .modal-fullscreen-sm-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-sm-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 767.98px) { - .modal-fullscreen-md-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-md-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-md-down .modal-header, - .modal-fullscreen-md-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-md-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 991.98px) { - .modal-fullscreen-lg-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-lg-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-lg-down .modal-header, - .modal-fullscreen-lg-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-lg-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 1199.98px) { - .modal-fullscreen-xl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-xl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-xl-down .modal-header, - .modal-fullscreen-xl-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-xl-down .modal-body { - overflow-y: auto; } } - -@media (max-width: 1399.98px) { - .modal-fullscreen-xxl-down { - width: 100vw; - max-width: none; - height: 100%; - margin: 0; } - .modal-fullscreen-xxl-down .modal-content { - height: 100%; - border: 0; - border-radius: 0; } - .modal-fullscreen-xxl-down .modal-header, - .modal-fullscreen-xxl-down .modal-footer { - border-radius: 0; } - .modal-fullscreen-xxl-down .modal-body { - overflow-y: auto; } } - -.tooltip { - --bs-tooltip-zindex: 1080; - --bs-tooltip-max-width: 200px; - --bs-tooltip-padding-x: 0.5rem; - --bs-tooltip-padding-y: 0.25rem; - --bs-tooltip-margin: ; - --bs-tooltip-font-size: 0.875rem; - --bs-tooltip-color: var(--bs-body-bg); - --bs-tooltip-bg: var(--bs-emphasis-color); - --bs-tooltip-border-radius: var(--bs-border-radius); - --bs-tooltip-opacity: 0.9; - --bs-tooltip-arrow-width: 0.8rem; - --bs-tooltip-arrow-height: 0.4rem; - z-index: var(--bs-tooltip-zindex); - display: block; - margin: var(--bs-tooltip-margin); - font-family: var(--bs-font-sans-serif); - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--bs-tooltip-font-size); - word-wrap: break-word; - opacity: 0; } - .tooltip.show { - opacity: var(--bs-tooltip-opacity); } - .tooltip .tooltip-arrow { - display: block; - width: var(--bs-tooltip-arrow-width); - height: var(--bs-tooltip-arrow-height); } - .tooltip .tooltip-arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; } - -.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow { - bottom: calc(-1 * var(--bs-tooltip-arrow-height)); } - .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before { - top: -1px; - border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0; - border-top-color: var(--bs-tooltip-bg); } - -/* rtl:begin:ignore */ -.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow { - left: calc(-1 * var(--bs-tooltip-arrow-height)); - width: var(--bs-tooltip-arrow-height); - height: var(--bs-tooltip-arrow-width); } - .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before { - right: -1px; - border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0; - border-right-color: var(--bs-tooltip-bg); } - -/* rtl:end:ignore */ -.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow { - top: calc(-1 * var(--bs-tooltip-arrow-height)); } - .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before { - bottom: -1px; - border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height); - border-bottom-color: var(--bs-tooltip-bg); } - -/* rtl:begin:ignore */ -.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow { - right: calc(-1 * var(--bs-tooltip-arrow-height)); - width: var(--bs-tooltip-arrow-height); - height: var(--bs-tooltip-arrow-width); } - .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before { - left: -1px; - border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height); - border-left-color: var(--bs-tooltip-bg); } - -/* rtl:end:ignore */ -.tooltip-inner { - max-width: var(--bs-tooltip-max-width); - padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); - color: var(--bs-tooltip-color); - text-align: center; - background-color: var(--bs-tooltip-bg); - border-radius: var(--bs-tooltip-border-radius); } - -.popover { - --bs-popover-zindex: 1070; - --bs-popover-max-width: 276px; - --bs-popover-font-size: 0.875rem; - --bs-popover-bg: var(--bs-body-bg); - --bs-popover-border-width: var(--bs-border-width); - --bs-popover-border-color: var(--bs-border-color-translucent); - --bs-popover-border-radius: var(--bs-border-radius-lg); - --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); - --bs-popover-box-shadow: var(--bs-box-shadow); - --bs-popover-header-padding-x: 1rem; - --bs-popover-header-padding-y: 0.5rem; - --bs-popover-header-font-size: 1rem; - --bs-popover-header-color: inherit; - --bs-popover-header-bg: var(--bs-secondary-bg); - --bs-popover-body-padding-x: 1rem; - --bs-popover-body-padding-y: 1rem; - --bs-popover-body-color: var(--bs-body-color); - --bs-popover-arrow-width: 1rem; - --bs-popover-arrow-height: 0.5rem; - --bs-popover-arrow-border: var(--bs-popover-border-color); - z-index: var(--bs-popover-zindex); - display: block; - max-width: var(--bs-popover-max-width); - font-family: var(--bs-font-sans-serif); - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - white-space: normal; - word-spacing: normal; - line-break: auto; - font-size: var(--bs-popover-font-size); - word-wrap: break-word; - background-color: var(--bs-popover-bg); - background-clip: padding-box; - border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); - border-radius: var(--bs-popover-border-radius); } - .popover .popover-arrow { - display: block; - width: var(--bs-popover-arrow-width); - height: var(--bs-popover-arrow-height); } - .popover .popover-arrow::before, .popover .popover-arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; - border-width: 0; } - -.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow { - bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); } - .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { - border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; } - .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before { - bottom: 0; - border-top-color: var(--bs-popover-arrow-border); } - .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { - bottom: var(--bs-popover-border-width); - border-top-color: var(--bs-popover-bg); } - -/* rtl:begin:ignore */ -.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow { - left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); - width: var(--bs-popover-arrow-height); - height: var(--bs-popover-arrow-width); } - .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { - border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0; } - .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before { - left: 0; - border-right-color: var(--bs-popover-arrow-border); } - .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { - left: var(--bs-popover-border-width); - border-right-color: var(--bs-popover-bg); } - -/* rtl:end:ignore */ -.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow { - top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); } - .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { - border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); } - .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before { - top: 0; - border-bottom-color: var(--bs-popover-arrow-border); } - .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { - top: var(--bs-popover-border-width); - border-bottom-color: var(--bs-popover-bg); } - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: var(--bs-popover-arrow-width); - margin-left: calc(-.5 * var(--bs-popover-arrow-width)); - content: ""; - border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); } - -/* rtl:begin:ignore */ -.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow { - right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); - width: var(--bs-popover-arrow-height); - height: var(--bs-popover-arrow-width); } - .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { - border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height); } - .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before { - right: 0; - border-left-color: var(--bs-popover-arrow-border); } - .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { - right: var(--bs-popover-border-width); - border-left-color: var(--bs-popover-bg); } - -/* rtl:end:ignore */ -.popover-header { - padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); - margin-bottom: 0; - font-size: var(--bs-popover-header-font-size); - color: var(--bs-popover-header-color); - background-color: var(--bs-popover-header-bg); - border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); - border-top-left-radius: var(--bs-popover-inner-border-radius); - border-top-right-radius: var(--bs-popover-inner-border-radius); } - .popover-header:empty { - display: none; } - -.popover-body { - padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); - color: var(--bs-popover-body-color); } - -.carousel { - position: relative; } - -.carousel.pointer-event { - touch-action: pan-y; } - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; } - .carousel-inner::after { - display: block; - clear: both; - content: ""; } - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; } } -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; } - -.carousel-item-next:not(.carousel-item-start), -.active.carousel-item-end { - transform: translateX(100%); } - -.carousel-item-prev:not(.carousel-item-end), -.active.carousel-item-start { - transform: translateX(-100%); } - -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; } - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-start, -.carousel-fade .carousel-item-prev.carousel-item-end { - z-index: 1; - opacity: 1; } - -.carousel-fade .active.carousel-item-start, -.carousel-fade .active.carousel-item-end { - z-index: 0; - opacity: 0; - transition: opacity 0s 0.6s; } - @media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-start, - .carousel-fade .active.carousel-item-end { - transition: none; } } -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - width: 15%; - padding: 0; - color: #fff; - text-align: center; - background: none; - filter: var(--bs-carousel-control-icon-filter); - border: 0; - opacity: 0.5; - transition: opacity 0.15s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-control-prev, - .carousel-control-next { - transition: none; } } - .carousel-control-prev:hover, .carousel-control-prev:focus, - .carousel-control-next:hover, - .carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: 0.9; } - -.carousel-control-prev { - left: 0; } - -.carousel-control-next { - right: 0; } - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 2rem; - height: 2rem; - background-repeat: no-repeat; - background-position: 50%; - background-size: 100% 100%; } - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/; } - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/; } - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 2; - display: flex; - justify-content: center; - padding: 0; - margin-right: 15%; - margin-bottom: 1rem; - margin-left: 15%; } - .carousel-indicators [data-bs-target] { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - padding: 0; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: var(--bs-carousel-indicator-active-bg); - background-clip: padding-box; - border: 0; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: 0.5; - transition: opacity 0.6s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-indicators [data-bs-target] { - transition: none; } } - .carousel-indicators .active { - opacity: 1; } - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 1.25rem; - left: 15%; - padding-top: 1.25rem; - padding-bottom: 1.25rem; - color: var(--bs-carousel-caption-color); - text-align: center; } - -.carousel-dark { - --bs-carousel-indicator-active-bg: #000; - --bs-carousel-caption-color: #000; - --bs-carousel-control-icon-filter: invert(1) grayscale(100); } - -:root, -[data-bs-theme="light"] { - --bs-carousel-indicator-active-bg: #fff; - --bs-carousel-caption-color: #fff; - --bs-carousel-control-icon-filter: ; } - -[data-bs-theme="dark"] { - --bs-carousel-indicator-active-bg: #000; - --bs-carousel-caption-color: #000; - --bs-carousel-control-icon-filter: invert(1) grayscale(100); } - -.spinner-grow, -.spinner-border { - display: inline-block; - width: var(--bs-spinner-width); - height: var(--bs-spinner-height); - vertical-align: var(--bs-spinner-vertical-align); - border-radius: 50%; - animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); } - -@keyframes spinner-border { - to { - transform: rotate(360deg) /* rtl:ignore */; } } - -.spinner-border { - --bs-spinner-width: 2rem; - --bs-spinner-height: 2rem; - --bs-spinner-vertical-align: -0.125em; - --bs-spinner-border-width: 0.25em; - --bs-spinner-animation-speed: 0.75s; - --bs-spinner-animation-name: spinner-border; - border: var(--bs-spinner-border-width) solid currentcolor; - border-right-color: transparent; } - -.spinner-border-sm { - --bs-spinner-width: 1rem; - --bs-spinner-height: 1rem; - --bs-spinner-border-width: 0.2em; } - -@keyframes spinner-grow { - 0% { - transform: scale(0); } - 50% { - opacity: 1; - transform: none; } } - -.spinner-grow { - --bs-spinner-width: 2rem; - --bs-spinner-height: 2rem; - --bs-spinner-vertical-align: -0.125em; - --bs-spinner-animation-speed: 0.75s; - --bs-spinner-animation-name: spinner-grow; - background-color: currentcolor; - opacity: 0; } - -.spinner-grow-sm { - --bs-spinner-width: 1rem; - --bs-spinner-height: 1rem; } - -@media (prefers-reduced-motion: reduce) { - .spinner-border, - .spinner-grow { - --bs-spinner-animation-speed: 1.5s; } } - -.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { - --bs-offcanvas-zindex: 1045; - --bs-offcanvas-width: 332px; - --bs-offcanvas-height: 30vh; - --bs-offcanvas-padding-x: 1rem; - --bs-offcanvas-padding-y: 1rem; - --bs-offcanvas-color: var(--bs-body-color); - --bs-offcanvas-bg: var(--bs-body-bg); - --bs-offcanvas-border-width: var(--bs-border-width); - --bs-offcanvas-border-color: var(--bs-border-color-translucent); - --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); - --bs-offcanvas-transition: transform 0.3s ease-in-out; - --bs-offcanvas-title-line-height: 1.5; } - -@media (max-width: 575.98px) { - .offcanvas-sm { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-sm { - transition: none; } } -@media (max-width: 575.98px) { - .offcanvas-sm.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-sm.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-sm.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-sm.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { - transform: none; } - .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { - visibility: visible; } } - -@media (min-width: 576px) { - .offcanvas-sm { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-sm .offcanvas-header { - display: none; } - .offcanvas-sm .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 767.98px) { - .offcanvas-md { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-md { - transition: none; } } -@media (max-width: 767.98px) { - .offcanvas-md.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-md.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-md.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-md.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { - transform: none; } - .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { - visibility: visible; } } - -@media (min-width: 768px) { - .offcanvas-md { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-md .offcanvas-header { - display: none; } - .offcanvas-md .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 991.98px) { - .offcanvas-lg { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-lg { - transition: none; } } -@media (max-width: 991.98px) { - .offcanvas-lg.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-lg.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-lg.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-lg.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { - transform: none; } - .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { - visibility: visible; } } - -@media (min-width: 992px) { - .offcanvas-lg { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-lg .offcanvas-header { - display: none; } - .offcanvas-lg .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 1199.98px) { - .offcanvas-xl { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xl { - transition: none; } } -@media (max-width: 1199.98px) { - .offcanvas-xl.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-xl.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-xl.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-xl.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { - transform: none; } - .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { - visibility: visible; } } - -@media (min-width: 1200px) { - .offcanvas-xl { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-xl .offcanvas-header { - display: none; } - .offcanvas-xl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -@media (max-width: 1399.98px) { - .offcanvas-xxl { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: var(--bs-offcanvas-transition); } } - @media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { - .offcanvas-xxl { - transition: none; } } -@media (max-width: 1399.98px) { - .offcanvas-xxl.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas-xxl.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas-xxl.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas-xxl.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { - transform: none; } - .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { - visibility: visible; } } - -@media (min-width: 1400px) { - .offcanvas-xxl { - --bs-offcanvas-height: auto; - --bs-offcanvas-border-width: 0; - background-color: transparent !important; } - .offcanvas-xxl .offcanvas-header { - display: none; } - .offcanvas-xxl .offcanvas-body { - display: flex; - flex-grow: 0; - padding: 0; - overflow-y: visible; - background-color: transparent !important; } } - -.offcanvas { - position: fixed; - bottom: 0; - z-index: var(--bs-offcanvas-zindex); - display: flex; - flex-direction: column; - max-width: 100%; - color: var(--bs-offcanvas-color); - visibility: hidden; - background-color: var(--bs-offcanvas-bg); - background-clip: padding-box; - outline: 0; - transition: var(--bs-offcanvas-transition); } - @media (prefers-reduced-motion: reduce) { - .offcanvas { - transition: none; } } - .offcanvas.offcanvas-start { - top: 0; - left: 0; - width: var(--bs-offcanvas-width); - border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(-100%); } - .offcanvas.offcanvas-end { - top: 0; - right: 0; - width: var(--bs-offcanvas-width); - border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateX(100%); } - .offcanvas.offcanvas-top { - top: 0; - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(-100%); } - .offcanvas.offcanvas-bottom { - right: 0; - left: 0; - height: var(--bs-offcanvas-height); - max-height: 100%; - border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); - transform: translateY(100%); } - .offcanvas.showing, .offcanvas.show:not(.hiding) { - transform: none; } - .offcanvas.showing, .offcanvas.hiding, .offcanvas.show { - visibility: visible; } - -.offcanvas-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; } - .offcanvas-backdrop.fade { - opacity: 0; } - .offcanvas-backdrop.show { - opacity: 0.5; } - -.offcanvas-header { - display: flex; - align-items: center; - padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); } - .offcanvas-header .btn-close { - padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5); - margin-top: calc(-.5 * var(--bs-offcanvas-padding-y)); - margin-right: calc(-.5 * var(--bs-offcanvas-padding-x)); - margin-bottom: calc(-.5 * var(--bs-offcanvas-padding-y)); - margin-left: auto; } - -.offcanvas-title { - margin-bottom: 0; - line-height: var(--bs-offcanvas-title-line-height); } - -.offcanvas-body { - flex-grow: 1; - padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); - overflow-y: auto; } - -.placeholder { - display: inline-block; - min-height: 1em; - vertical-align: middle; - cursor: wait; - background-color: currentcolor; - opacity: 0.5; } - .placeholder.btn::before, .search-form .placeholder.search-submit::before, .comment-form input.placeholder[type="submit"]::before { - display: inline-block; - content: ""; } - -.placeholder-xs { - min-height: .6em; } - -.placeholder-sm { - min-height: .8em; } - -.placeholder-lg { - min-height: 1.2em; } - -.placeholder-glow .placeholder { - animation: placeholder-glow 2s ease-in-out infinite; } - -@keyframes placeholder-glow { - 50% { - opacity: 0.2; } } - -.placeholder-wave { - mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); - mask-size: 200% 100%; - animation: placeholder-wave 2s linear infinite; } - -@keyframes placeholder-wave { - 100% { - mask-position: -200% 0%; } } - -.align-baseline { - vertical-align: baseline !important; } - -.align-top { - vertical-align: top !important; } - -.align-middle { - vertical-align: middle !important; } - -.align-bottom { - vertical-align: bottom !important; } - -.align-text-bottom { - vertical-align: text-bottom !important; } - -.align-text-top { - vertical-align: text-top !important; } - -.float-start { - float: left !important; } - -.float-end { - float: right !important; } - -.float-none { - float: none !important; } - -.object-fit-contain { - object-fit: contain !important; } - -.object-fit-cover { - object-fit: cover !important; } - -.object-fit-fill { - object-fit: fill !important; } - -.object-fit-scale { - object-fit: scale-down !important; } - -.object-fit-none { - object-fit: none !important; } - -.opacity-0 { - opacity: 0 !important; } - -.opacity-25 { - opacity: 0.25 !important; } - -.opacity-50 { - opacity: 0.5 !important; } - -.opacity-75 { - opacity: 0.75 !important; } - -.opacity-100 { - opacity: 1 !important; } - -.overflow-auto { - overflow: auto !important; } - -.overflow-hidden { - overflow: hidden !important; } - -.overflow-visible { - overflow: visible !important; } - -.overflow-scroll { - overflow: scroll !important; } - -.overflow-x-auto { - overflow-x: auto !important; } - -.overflow-x-hidden { - overflow-x: hidden !important; } - -.overflow-x-visible { - overflow-x: visible !important; } - -.overflow-x-scroll { - overflow-x: scroll !important; } - -.overflow-y-auto { - overflow-y: auto !important; } - -.overflow-y-hidden { - overflow-y: hidden !important; } - -.overflow-y-visible { - overflow-y: visible !important; } - -.overflow-y-scroll { - overflow-y: scroll !important; } - -.d-inline { - display: inline !important; } - -.d-inline-block { - display: inline-block !important; } - -.d-block { - display: block !important; } - -.d-grid { - display: grid !important; } - -.d-inline-grid { - display: inline-grid !important; } - -.d-table { - display: table !important; } - -.d-table-row { - display: table-row !important; } - -.d-table-cell { - display: table-cell !important; } - -.d-flex { - display: flex !important; } - -.d-inline-flex { - display: inline-flex !important; } - -.d-none { - display: none !important; } - -.shadow { - box-shadow: var(--bs-box-shadow) !important; } - -.shadow-sm { - box-shadow: var(--bs-box-shadow-sm) !important; } - -.shadow-lg { - box-shadow: var(--bs-box-shadow-lg) !important; } - -.shadow-none { - box-shadow: none !important; } - -.focus-ring-primary { - --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-secondary { - --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-success { - --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-info { - --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-warning { - --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-danger { - --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-light { - --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity)); } - -.focus-ring-dark { - --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity)); } - -.position-static { - position: static !important; } - -.position-relative { - position: relative !important; } - -.position-absolute { - position: absolute !important; } - -.position-fixed { - position: fixed !important; } - -.position-sticky { - position: sticky !important; } - -.top-0 { - top: 0 !important; } - -.top-50 { - top: 50% !important; } - -.top-100 { - top: 100% !important; } - -.bottom-0 { - bottom: 0 !important; } - -.bottom-50 { - bottom: 50% !important; } - -.bottom-100 { - bottom: 100% !important; } - -.start-0 { - left: 0 !important; } - -.start-50 { - left: 50% !important; } - -.start-100 { - left: 100% !important; } - -.end-0 { - right: 0 !important; } - -.end-50 { - right: 50% !important; } - -.end-100 { - right: 100% !important; } - -.translate-middle { - transform: translate(-50%, -50%) !important; } - -.translate-middle-x { - transform: translateX(-50%) !important; } - -.translate-middle-y { - transform: translateY(-50%) !important; } - -.border { - border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-0 { - border: 0 !important; } - -.border-top { - border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-top-0 { - border-top: 0 !important; } - -.border-end { - border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-end-0 { - border-right: 0 !important; } - -.border-bottom { - border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-bottom-0 { - border-bottom: 0 !important; } - -.border-start { - border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; } - -.border-start-0 { - border-left: 0 !important; } - -.border-primary { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; } - -.border-secondary { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; } - -.border-success { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; } - -.border-info { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; } - -.border-warning { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; } - -.border-danger { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; } - -.border-light { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; } - -.border-dark { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; } - -.border-black { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important; } - -.border-white { - --bs-border-opacity: 1; - border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; } - -.border-primary-subtle { - border-color: var(--bs-primary-border-subtle) !important; } - -.border-secondary-subtle { - border-color: var(--bs-secondary-border-subtle) !important; } - -.border-success-subtle { - border-color: var(--bs-success-border-subtle) !important; } - -.border-info-subtle { - border-color: var(--bs-info-border-subtle) !important; } - -.border-warning-subtle { - border-color: var(--bs-warning-border-subtle) !important; } - -.border-danger-subtle { - border-color: var(--bs-danger-border-subtle) !important; } - -.border-light-subtle { - border-color: var(--bs-light-border-subtle) !important; } - -.border-dark-subtle { - border-color: var(--bs-dark-border-subtle) !important; } - -.border-1 { - border-width: 1px !important; } - -.border-2 { - border-width: 2px !important; } - -.border-3 { - border-width: 3px !important; } - -.border-4 { - border-width: 4px !important; } - -.border-5 { - border-width: 5px !important; } - -.border-opacity-10 { - --bs-border-opacity: 0.1; } - -.border-opacity-25 { - --bs-border-opacity: 0.25; } - -.border-opacity-50 { - --bs-border-opacity: 0.5; } - -.border-opacity-75 { - --bs-border-opacity: 0.75; } - -.border-opacity-100 { - --bs-border-opacity: 1; } - -.w-25 { - width: 25% !important; } - -.w-50 { - width: 50% !important; } - -.w-75 { - width: 75% !important; } - -.w-100 { - width: 100% !important; } - -.w-auto { - width: auto !important; } - -.mw-100 { - max-width: 100% !important; } - -.vw-100 { - width: 100vw !important; } - -.min-vw-100 { - min-width: 100vw !important; } - -.h-25 { - height: 25% !important; } - -.h-50 { - height: 50% !important; } - -.h-75 { - height: 75% !important; } - -.h-100 { - height: 100% !important; } - -.h-auto { - height: auto !important; } - -.mh-100 { - max-height: 100% !important; } - -.vh-100 { - height: 100vh !important; } - -.min-vh-100 { - min-height: 100vh !important; } - -.flex-fill { - flex: 1 1 auto !important; } - -.flex-row { - flex-direction: row !important; } - -.flex-column { - flex-direction: column !important; } - -.flex-row-reverse { - flex-direction: row-reverse !important; } - -.flex-column-reverse { - flex-direction: column-reverse !important; } - -.flex-grow-0 { - flex-grow: 0 !important; } - -.flex-grow-1 { - flex-grow: 1 !important; } - -.flex-shrink-0 { - flex-shrink: 0 !important; } - -.flex-shrink-1 { - flex-shrink: 1 !important; } - -.flex-wrap { - flex-wrap: wrap !important; } - -.flex-nowrap { - flex-wrap: nowrap !important; } - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important; } - -.justify-content-start { - justify-content: flex-start !important; } - -.justify-content-end { - justify-content: flex-end !important; } - -.justify-content-center { - justify-content: center !important; } - -.justify-content-between { - justify-content: space-between !important; } - -.justify-content-around { - justify-content: space-around !important; } - -.justify-content-evenly { - justify-content: space-evenly !important; } - -.align-items-start { - align-items: flex-start !important; } - -.align-items-end { - align-items: flex-end !important; } - -.align-items-center { - align-items: center !important; } - -.align-items-baseline { - align-items: baseline !important; } - -.align-items-stretch { - align-items: stretch !important; } - -.align-content-start { - align-content: flex-start !important; } - -.align-content-end { - align-content: flex-end !important; } - -.align-content-center { - align-content: center !important; } - -.align-content-between { - align-content: space-between !important; } - -.align-content-around { - align-content: space-around !important; } - -.align-content-stretch { - align-content: stretch !important; } - -.align-self-auto { - align-self: auto !important; } - -.align-self-start { - align-self: flex-start !important; } - -.align-self-end { - align-self: flex-end !important; } - -.align-self-center { - align-self: center !important; } - -.align-self-baseline { - align-self: baseline !important; } - -.align-self-stretch { - align-self: stretch !important; } - -.order-first { - order: -1 !important; } - -.order-0 { - order: 0 !important; } - -.order-1 { - order: 1 !important; } - -.order-2 { - order: 2 !important; } - -.order-3 { - order: 3 !important; } - -.order-4 { - order: 4 !important; } - -.order-5 { - order: 5 !important; } - -.order-last { - order: 6 !important; } - -.m-0 { - margin: 0 !important; } - -.m-1 { - margin: 0.25rem !important; } - -.m-2 { - margin: 0.5rem !important; } - -.m-3 { - margin: 1rem !important; } - -.m-4 { - margin: 1.5rem !important; } - -.m-5 { - margin: 3rem !important; } - -.m-auto { - margin: auto !important; } - -.mx-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - -.mx-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - -.mx-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - -.mx-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - -.mx-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - -.mx-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - -.mx-auto { - margin-right: auto !important; - margin-left: auto !important; } - -.my-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - -.my-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - -.my-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - -.my-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - -.my-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - -.my-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - -.my-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - -.mt-0 { - margin-top: 0 !important; } - -.mt-1 { - margin-top: 0.25rem !important; } - -.mt-2 { - margin-top: 0.5rem !important; } - -.mt-3 { - margin-top: 1rem !important; } - -.mt-4 { - margin-top: 1.5rem !important; } - -.mt-5 { - margin-top: 3rem !important; } - -.mt-auto { - margin-top: auto !important; } - -.me-0 { - margin-right: 0 !important; } - -.me-1 { - margin-right: 0.25rem !important; } - -.me-2 { - margin-right: 0.5rem !important; } - -.me-3 { - margin-right: 1rem !important; } - -.me-4 { - margin-right: 1.5rem !important; } - -.me-5 { - margin-right: 3rem !important; } - -.me-auto { - margin-right: auto !important; } - -.mb-0 { - margin-bottom: 0 !important; } - -.mb-1 { - margin-bottom: 0.25rem !important; } - -.mb-2 { - margin-bottom: 0.5rem !important; } - -.mb-3 { - margin-bottom: 1rem !important; } - -.mb-4 { - margin-bottom: 1.5rem !important; } - -.mb-5 { - margin-bottom: 3rem !important; } - -.mb-auto { - margin-bottom: auto !important; } - -.ms-0 { - margin-left: 0 !important; } - -.ms-1 { - margin-left: 0.25rem !important; } - -.ms-2 { - margin-left: 0.5rem !important; } - -.ms-3 { - margin-left: 1rem !important; } - -.ms-4 { - margin-left: 1.5rem !important; } - -.ms-5 { - margin-left: 3rem !important; } - -.ms-auto { - margin-left: auto !important; } - -.m-n1 { - margin: -0.25rem !important; } - -.m-n2 { - margin: -0.5rem !important; } - -.m-n3 { - margin: -1rem !important; } - -.m-n4 { - margin: -1.5rem !important; } - -.m-n5 { - margin: -3rem !important; } - -.mx-n1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; } - -.mx-n2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; } - -.mx-n3 { - margin-right: -1rem !important; - margin-left: -1rem !important; } - -.mx-n4 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; } - -.mx-n5 { - margin-right: -3rem !important; - margin-left: -3rem !important; } - -.my-n1 { - margin-top: -0.25rem !important; - margin-bottom: -0.25rem !important; } - -.my-n2 { - margin-top: -0.5rem !important; - margin-bottom: -0.5rem !important; } - -.my-n3 { - margin-top: -1rem !important; - margin-bottom: -1rem !important; } - -.my-n4 { - margin-top: -1.5rem !important; - margin-bottom: -1.5rem !important; } - -.my-n5 { - margin-top: -3rem !important; - margin-bottom: -3rem !important; } - -.mt-n1 { - margin-top: -0.25rem !important; } - -.mt-n2 { - margin-top: -0.5rem !important; } - -.mt-n3 { - margin-top: -1rem !important; } - -.mt-n4 { - margin-top: -1.5rem !important; } - -.mt-n5 { - margin-top: -3rem !important; } - -.me-n1 { - margin-right: -0.25rem !important; } - -.me-n2 { - margin-right: -0.5rem !important; } - -.me-n3 { - margin-right: -1rem !important; } - -.me-n4 { - margin-right: -1.5rem !important; } - -.me-n5 { - margin-right: -3rem !important; } - -.mb-n1 { - margin-bottom: -0.25rem !important; } - -.mb-n2 { - margin-bottom: -0.5rem !important; } - -.mb-n3 { - margin-bottom: -1rem !important; } - -.mb-n4 { - margin-bottom: -1.5rem !important; } - -.mb-n5 { - margin-bottom: -3rem !important; } - -.ms-n1 { - margin-left: -0.25rem !important; } - -.ms-n2 { - margin-left: -0.5rem !important; } - -.ms-n3 { - margin-left: -1rem !important; } - -.ms-n4 { - margin-left: -1.5rem !important; } - -.ms-n5 { - margin-left: -3rem !important; } - -.p-0 { - padding: 0 !important; } - -.p-1 { - padding: 0.25rem !important; } - -.p-2 { - padding: 0.5rem !important; } - -.p-3 { - padding: 1rem !important; } - -.p-4 { - padding: 1.5rem !important; } - -.p-5 { - padding: 3rem !important; } - -.px-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - -.px-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - -.px-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - -.px-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - -.px-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - -.px-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - -.py-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - -.py-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - -.py-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - -.py-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - -.py-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - -.py-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - -.pt-0 { - padding-top: 0 !important; } - -.pt-1 { - padding-top: 0.25rem !important; } - -.pt-2 { - padding-top: 0.5rem !important; } - -.pt-3 { - padding-top: 1rem !important; } - -.pt-4 { - padding-top: 1.5rem !important; } - -.pt-5 { - padding-top: 3rem !important; } - -.pe-0 { - padding-right: 0 !important; } - -.pe-1 { - padding-right: 0.25rem !important; } - -.pe-2 { - padding-right: 0.5rem !important; } - -.pe-3 { - padding-right: 1rem !important; } - -.pe-4 { - padding-right: 1.5rem !important; } - -.pe-5 { - padding-right: 3rem !important; } - -.pb-0 { - padding-bottom: 0 !important; } - -.pb-1 { - padding-bottom: 0.25rem !important; } - -.pb-2 { - padding-bottom: 0.5rem !important; } - -.pb-3 { - padding-bottom: 1rem !important; } - -.pb-4 { - padding-bottom: 1.5rem !important; } - -.pb-5 { - padding-bottom: 3rem !important; } - -.ps-0 { - padding-left: 0 !important; } - -.ps-1 { - padding-left: 0.25rem !important; } - -.ps-2 { - padding-left: 0.5rem !important; } - -.ps-3 { - padding-left: 1rem !important; } - -.ps-4 { - padding-left: 1.5rem !important; } - -.ps-5 { - padding-left: 3rem !important; } - -.gap-0 { - gap: 0 !important; } - -.gap-1 { - gap: 0.25rem !important; } - -.gap-2 { - gap: 0.5rem !important; } - -.gap-3 { - gap: 1rem !important; } - -.gap-4 { - gap: 1.5rem !important; } - -.gap-5 { - gap: 3rem !important; } - -.row-gap-0 { - row-gap: 0 !important; } - -.row-gap-1 { - row-gap: 0.25rem !important; } - -.row-gap-2 { - row-gap: 0.5rem !important; } - -.row-gap-3 { - row-gap: 1rem !important; } - -.row-gap-4 { - row-gap: 1.5rem !important; } - -.row-gap-5 { - row-gap: 3rem !important; } - -.column-gap-0 { - column-gap: 0 !important; } - -.column-gap-1 { - column-gap: 0.25rem !important; } - -.column-gap-2 { - column-gap: 0.5rem !important; } - -.column-gap-3 { - column-gap: 1rem !important; } - -.column-gap-4 { - column-gap: 1.5rem !important; } - -.column-gap-5 { - column-gap: 3rem !important; } - -.font-monospace { - font-family: var(--bs-font-monospace) !important; } - -.fs-1 { - font-size: calc(1.375rem + 1.5vw) !important; } - -.fs-2 { - font-size: calc(1.325rem + 0.9vw) !important; } - -.fs-3 { - font-size: calc(1.3rem + 0.6vw) !important; } - -.fs-4 { - font-size: calc(1.275rem + 0.3vw) !important; } - -.fs-5 { - font-size: 1.25rem !important; } - -.fs-6 { - font-size: 1rem !important; } - -.fst-italic { - font-style: italic !important; } - -.fst-normal { - font-style: normal !important; } - -.fw-lighter { - font-weight: lighter !important; } - -.fw-light { - font-weight: 300 !important; } - -.fw-normal { - font-weight: 400 !important; } - -.fw-medium { - font-weight: 500 !important; } - -.fw-semibold { - font-weight: 600 !important; } - -.fw-bold { - font-weight: 700 !important; } - -.fw-bolder { - font-weight: bolder !important; } - -.lh-1 { - line-height: 1 !important; } - -.lh-sm { - line-height: 1.25 !important; } - -.lh-base { - line-height: 1.5 !important; } - -.lh-lg { - line-height: 2 !important; } - -.text-start { - text-align: left !important; } - -.text-end { - text-align: right !important; } - -.text-center { - text-align: center !important; } - -.text-decoration-none { - text-decoration: none !important; } - -.text-decoration-underline { - text-decoration: underline !important; } - -.text-decoration-line-through { - text-decoration: line-through !important; } - -.text-lowercase { - text-transform: lowercase !important; } - -.text-uppercase { - text-transform: uppercase !important; } - -.text-capitalize { - text-transform: capitalize !important; } - -.text-wrap { - white-space: normal !important; } - -.text-nowrap { - white-space: nowrap !important; } - -/* rtl:begin:remove */ -.text-break { - word-wrap: break-word !important; - word-break: break-word !important; } - -/* rtl:end:remove */ -.text-primary { - --bs-text-opacity: 1; - color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; } - -.text-secondary { - --bs-text-opacity: 1; - color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; } - -.text-success { - --bs-text-opacity: 1; - color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; } - -.text-info { - --bs-text-opacity: 1; - color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; } - -.text-warning { - --bs-text-opacity: 1; - color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; } - -.text-danger { - --bs-text-opacity: 1; - color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; } - -.text-light { - --bs-text-opacity: 1; - color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; } - -.text-dark { - --bs-text-opacity: 1; - color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; } - -.text-black { - --bs-text-opacity: 1; - color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; } - -.text-white { - --bs-text-opacity: 1; - color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; } - -.text-body { - --bs-text-opacity: 1; - color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; } - -.text-muted { - --bs-text-opacity: 1; - color: var(--bs-secondary-color) !important; } - -.text-black-50 { - --bs-text-opacity: 1; - color: rgba(0, 0, 0, 0.5) !important; } - -.text-white-50 { - --bs-text-opacity: 1; - color: rgba(255, 255, 255, 0.5) !important; } - -.text-body-secondary { - --bs-text-opacity: 1; - color: var(--bs-secondary-color) !important; } - -.text-body-tertiary { - --bs-text-opacity: 1; - color: var(--bs-tertiary-color) !important; } - -.text-body-emphasis { - --bs-text-opacity: 1; - color: var(--bs-emphasis-color) !important; } - -.text-reset { - --bs-text-opacity: 1; - color: inherit !important; } - -.text-opacity-25 { - --bs-text-opacity: 0.25; } - -.text-opacity-50 { - --bs-text-opacity: 0.5; } - -.text-opacity-75 { - --bs-text-opacity: 0.75; } - -.text-opacity-100 { - --bs-text-opacity: 1; } - -.text-primary-emphasis { - color: var(--bs-primary-text-emphasis) !important; } - -.text-secondary-emphasis { - color: var(--bs-secondary-text-emphasis) !important; } - -.text-success-emphasis { - color: var(--bs-success-text-emphasis) !important; } - -.text-info-emphasis { - color: var(--bs-info-text-emphasis) !important; } - -.text-warning-emphasis { - color: var(--bs-warning-text-emphasis) !important; } - -.text-danger-emphasis { - color: var(--bs-danger-text-emphasis) !important; } - -.text-light-emphasis { - color: var(--bs-light-text-emphasis) !important; } - -.text-dark-emphasis { - color: var(--bs-dark-text-emphasis) !important; } - -.link-opacity-10 { - --bs-link-opacity: 0.1; } - -.link-opacity-10-hover:hover { - --bs-link-opacity: 0.1; } - -.link-opacity-25 { - --bs-link-opacity: 0.25; } - -.link-opacity-25-hover:hover { - --bs-link-opacity: 0.25; } - -.link-opacity-50 { - --bs-link-opacity: 0.5; } - -.link-opacity-50-hover:hover { - --bs-link-opacity: 0.5; } - -.link-opacity-75 { - --bs-link-opacity: 0.75; } - -.link-opacity-75-hover:hover { - --bs-link-opacity: 0.75; } - -.link-opacity-100 { - --bs-link-opacity: 1; } - -.link-opacity-100-hover:hover { - --bs-link-opacity: 1; } - -.link-offset-1 { - text-underline-offset: 0.125em !important; } - -.link-offset-1-hover:hover { - text-underline-offset: 0.125em !important; } - -.link-offset-2 { - text-underline-offset: 0.25em !important; } - -.link-offset-2-hover:hover { - text-underline-offset: 0.25em !important; } - -.link-offset-3 { - text-underline-offset: 0.375em !important; } - -.link-offset-3-hover:hover { - text-underline-offset: 0.375em !important; } - -.link-underline-primary { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-secondary { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-success { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-info { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-warning { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-danger { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-light { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline-dark { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; } - -.link-underline { - --bs-link-underline-opacity: 1; - text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; } - -.link-underline-opacity-0 { - --bs-link-underline-opacity: 0; } - -.link-underline-opacity-0-hover:hover { - --bs-link-underline-opacity: 0; } - -.link-underline-opacity-10 { - --bs-link-underline-opacity: 0.1; } - -.link-underline-opacity-10-hover:hover { - --bs-link-underline-opacity: 0.1; } - -.link-underline-opacity-25 { - --bs-link-underline-opacity: 0.25; } - -.link-underline-opacity-25-hover:hover { - --bs-link-underline-opacity: 0.25; } - -.link-underline-opacity-50 { - --bs-link-underline-opacity: 0.5; } - -.link-underline-opacity-50-hover:hover { - --bs-link-underline-opacity: 0.5; } - -.link-underline-opacity-75 { - --bs-link-underline-opacity: 0.75; } - -.link-underline-opacity-75-hover:hover { - --bs-link-underline-opacity: 0.75; } - -.link-underline-opacity-100 { - --bs-link-underline-opacity: 1; } - -.link-underline-opacity-100-hover:hover { - --bs-link-underline-opacity: 1; } - -.bg-primary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; } - -.bg-secondary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; } - -.bg-success { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; } - -.bg-info { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; } - -.bg-warning { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; } - -.bg-danger { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; } - -.bg-light { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; } - -.bg-dark { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; } - -.bg-black { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; } - -.bg-white { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; } - -.bg-body { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-transparent { - --bs-bg-opacity: 1; - background-color: transparent !important; } - -.bg-body-secondary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-body-tertiary { - --bs-bg-opacity: 1; - background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; } - -.bg-opacity-10 { - --bs-bg-opacity: 0.1; } - -.bg-opacity-25 { - --bs-bg-opacity: 0.25; } - -.bg-opacity-50 { - --bs-bg-opacity: 0.5; } - -.bg-opacity-75 { - --bs-bg-opacity: 0.75; } - -.bg-opacity-100 { - --bs-bg-opacity: 1; } - -.bg-primary-subtle { - background-color: var(--bs-primary-bg-subtle) !important; } - -.bg-secondary-subtle { - background-color: var(--bs-secondary-bg-subtle) !important; } - -.bg-success-subtle { - background-color: var(--bs-success-bg-subtle) !important; } - -.bg-info-subtle { - background-color: var(--bs-info-bg-subtle) !important; } - -.bg-warning-subtle { - background-color: var(--bs-warning-bg-subtle) !important; } - -.bg-danger-subtle { - background-color: var(--bs-danger-bg-subtle) !important; } - -.bg-light-subtle { - background-color: var(--bs-light-bg-subtle) !important; } - -.bg-dark-subtle { - background-color: var(--bs-dark-bg-subtle) !important; } - -.bg-gradient { - background-image: var(--bs-gradient) !important; } - -.user-select-all { - user-select: all !important; } - -.user-select-auto { - user-select: auto !important; } - -.user-select-none { - user-select: none !important; } - -.pe-none { - pointer-events: none !important; } - -.pe-auto { - pointer-events: auto !important; } - -.rounded { - border-radius: var(--bs-border-radius) !important; } - -.rounded-0 { - border-radius: 0 !important; } - -.rounded-1 { - border-radius: var(--bs-border-radius-sm) !important; } - -.rounded-2 { - border-radius: var(--bs-border-radius) !important; } - -.rounded-3 { - border-radius: var(--bs-border-radius-lg) !important; } - -.rounded-4 { - border-radius: var(--bs-border-radius-xl) !important; } - -.rounded-5 { - border-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-circle { - border-radius: 50% !important; } - -.rounded-pill { - border-radius: var(--bs-border-radius-pill) !important; } - -.rounded-top { - border-top-left-radius: var(--bs-border-radius) !important; - border-top-right-radius: var(--bs-border-radius) !important; } - -.rounded-top-0 { - border-top-left-radius: 0 !important; - border-top-right-radius: 0 !important; } - -.rounded-top-1 { - border-top-left-radius: var(--bs-border-radius-sm) !important; - border-top-right-radius: var(--bs-border-radius-sm) !important; } - -.rounded-top-2 { - border-top-left-radius: var(--bs-border-radius) !important; - border-top-right-radius: var(--bs-border-radius) !important; } - -.rounded-top-3 { - border-top-left-radius: var(--bs-border-radius-lg) !important; - border-top-right-radius: var(--bs-border-radius-lg) !important; } - -.rounded-top-4 { - border-top-left-radius: var(--bs-border-radius-xl) !important; - border-top-right-radius: var(--bs-border-radius-xl) !important; } - -.rounded-top-5 { - border-top-left-radius: var(--bs-border-radius-xxl) !important; - border-top-right-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-top-circle { - border-top-left-radius: 50% !important; - border-top-right-radius: 50% !important; } - -.rounded-top-pill { - border-top-left-radius: var(--bs-border-radius-pill) !important; - border-top-right-radius: var(--bs-border-radius-pill) !important; } - -.rounded-end { - border-top-right-radius: var(--bs-border-radius) !important; - border-bottom-right-radius: var(--bs-border-radius) !important; } - -.rounded-end-0 { - border-top-right-radius: 0 !important; - border-bottom-right-radius: 0 !important; } - -.rounded-end-1 { - border-top-right-radius: var(--bs-border-radius-sm) !important; - border-bottom-right-radius: var(--bs-border-radius-sm) !important; } - -.rounded-end-2 { - border-top-right-radius: var(--bs-border-radius) !important; - border-bottom-right-radius: var(--bs-border-radius) !important; } - -.rounded-end-3 { - border-top-right-radius: var(--bs-border-radius-lg) !important; - border-bottom-right-radius: var(--bs-border-radius-lg) !important; } - -.rounded-end-4 { - border-top-right-radius: var(--bs-border-radius-xl) !important; - border-bottom-right-radius: var(--bs-border-radius-xl) !important; } - -.rounded-end-5 { - border-top-right-radius: var(--bs-border-radius-xxl) !important; - border-bottom-right-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-end-circle { - border-top-right-radius: 50% !important; - border-bottom-right-radius: 50% !important; } - -.rounded-end-pill { - border-top-right-radius: var(--bs-border-radius-pill) !important; - border-bottom-right-radius: var(--bs-border-radius-pill) !important; } - -.rounded-bottom { - border-bottom-right-radius: var(--bs-border-radius) !important; - border-bottom-left-radius: var(--bs-border-radius) !important; } - -.rounded-bottom-0 { - border-bottom-right-radius: 0 !important; - border-bottom-left-radius: 0 !important; } - -.rounded-bottom-1 { - border-bottom-right-radius: var(--bs-border-radius-sm) !important; - border-bottom-left-radius: var(--bs-border-radius-sm) !important; } - -.rounded-bottom-2 { - border-bottom-right-radius: var(--bs-border-radius) !important; - border-bottom-left-radius: var(--bs-border-radius) !important; } - -.rounded-bottom-3 { - border-bottom-right-radius: var(--bs-border-radius-lg) !important; - border-bottom-left-radius: var(--bs-border-radius-lg) !important; } - -.rounded-bottom-4 { - border-bottom-right-radius: var(--bs-border-radius-xl) !important; - border-bottom-left-radius: var(--bs-border-radius-xl) !important; } - -.rounded-bottom-5 { - border-bottom-right-radius: var(--bs-border-radius-xxl) !important; - border-bottom-left-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-bottom-circle { - border-bottom-right-radius: 50% !important; - border-bottom-left-radius: 50% !important; } - -.rounded-bottom-pill { - border-bottom-right-radius: var(--bs-border-radius-pill) !important; - border-bottom-left-radius: var(--bs-border-radius-pill) !important; } - -.rounded-start { - border-bottom-left-radius: var(--bs-border-radius) !important; - border-top-left-radius: var(--bs-border-radius) !important; } - -.rounded-start-0 { - border-bottom-left-radius: 0 !important; - border-top-left-radius: 0 !important; } - -.rounded-start-1 { - border-bottom-left-radius: var(--bs-border-radius-sm) !important; - border-top-left-radius: var(--bs-border-radius-sm) !important; } - -.rounded-start-2 { - border-bottom-left-radius: var(--bs-border-radius) !important; - border-top-left-radius: var(--bs-border-radius) !important; } - -.rounded-start-3 { - border-bottom-left-radius: var(--bs-border-radius-lg) !important; - border-top-left-radius: var(--bs-border-radius-lg) !important; } - -.rounded-start-4 { - border-bottom-left-radius: var(--bs-border-radius-xl) !important; - border-top-left-radius: var(--bs-border-radius-xl) !important; } - -.rounded-start-5 { - border-bottom-left-radius: var(--bs-border-radius-xxl) !important; - border-top-left-radius: var(--bs-border-radius-xxl) !important; } - -.rounded-start-circle { - border-bottom-left-radius: 50% !important; - border-top-left-radius: 50% !important; } - -.rounded-start-pill { - border-bottom-left-radius: var(--bs-border-radius-pill) !important; - border-top-left-radius: var(--bs-border-radius-pill) !important; } - -.visible { - visibility: visible !important; } - -.invisible { - visibility: hidden !important; } - -.z-n1 { - z-index: -1 !important; } - -.z-0 { - z-index: 0 !important; } - -.z-1 { - z-index: 1 !important; } - -.z-2 { - z-index: 2 !important; } - -.z-3 { - z-index: 3 !important; } - -@media (min-width: 576px) { - .float-sm-start { - float: left !important; } - .float-sm-end { - float: right !important; } - .float-sm-none { - float: none !important; } - .object-fit-sm-contain { - object-fit: contain !important; } - .object-fit-sm-cover { - object-fit: cover !important; } - .object-fit-sm-fill { - object-fit: fill !important; } - .object-fit-sm-scale { - object-fit: scale-down !important; } - .object-fit-sm-none { - object-fit: none !important; } - .d-sm-inline { - display: inline !important; } - .d-sm-inline-block { - display: inline-block !important; } - .d-sm-block { - display: block !important; } - .d-sm-grid { - display: grid !important; } - .d-sm-inline-grid { - display: inline-grid !important; } - .d-sm-table { - display: table !important; } - .d-sm-table-row { - display: table-row !important; } - .d-sm-table-cell { - display: table-cell !important; } - .d-sm-flex { - display: flex !important; } - .d-sm-inline-flex { - display: inline-flex !important; } - .d-sm-none { - display: none !important; } - .flex-sm-fill { - flex: 1 1 auto !important; } - .flex-sm-row { - flex-direction: row !important; } - .flex-sm-column { - flex-direction: column !important; } - .flex-sm-row-reverse { - flex-direction: row-reverse !important; } - .flex-sm-column-reverse { - flex-direction: column-reverse !important; } - .flex-sm-grow-0 { - flex-grow: 0 !important; } - .flex-sm-grow-1 { - flex-grow: 1 !important; } - .flex-sm-shrink-0 { - flex-shrink: 0 !important; } - .flex-sm-shrink-1 { - flex-shrink: 1 !important; } - .flex-sm-wrap { - flex-wrap: wrap !important; } - .flex-sm-nowrap { - flex-wrap: nowrap !important; } - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-sm-start { - justify-content: flex-start !important; } - .justify-content-sm-end { - justify-content: flex-end !important; } - .justify-content-sm-center { - justify-content: center !important; } - .justify-content-sm-between { - justify-content: space-between !important; } - .justify-content-sm-around { - justify-content: space-around !important; } - .justify-content-sm-evenly { - justify-content: space-evenly !important; } - .align-items-sm-start { - align-items: flex-start !important; } - .align-items-sm-end { - align-items: flex-end !important; } - .align-items-sm-center { - align-items: center !important; } - .align-items-sm-baseline { - align-items: baseline !important; } - .align-items-sm-stretch { - align-items: stretch !important; } - .align-content-sm-start { - align-content: flex-start !important; } - .align-content-sm-end { - align-content: flex-end !important; } - .align-content-sm-center { - align-content: center !important; } - .align-content-sm-between { - align-content: space-between !important; } - .align-content-sm-around { - align-content: space-around !important; } - .align-content-sm-stretch { - align-content: stretch !important; } - .align-self-sm-auto { - align-self: auto !important; } - .align-self-sm-start { - align-self: flex-start !important; } - .align-self-sm-end { - align-self: flex-end !important; } - .align-self-sm-center { - align-self: center !important; } - .align-self-sm-baseline { - align-self: baseline !important; } - .align-self-sm-stretch { - align-self: stretch !important; } - .order-sm-first { - order: -1 !important; } - .order-sm-0 { - order: 0 !important; } - .order-sm-1 { - order: 1 !important; } - .order-sm-2 { - order: 2 !important; } - .order-sm-3 { - order: 3 !important; } - .order-sm-4 { - order: 4 !important; } - .order-sm-5 { - order: 5 !important; } - .order-sm-last { - order: 6 !important; } - .m-sm-0 { - margin: 0 !important; } - .m-sm-1 { - margin: 0.25rem !important; } - .m-sm-2 { - margin: 0.5rem !important; } - .m-sm-3 { - margin: 1rem !important; } - .m-sm-4 { - margin: 1.5rem !important; } - .m-sm-5 { - margin: 3rem !important; } - .m-sm-auto { - margin: auto !important; } - .mx-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-sm-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-sm-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-sm-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-sm-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-sm-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-sm-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-sm-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-sm-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-sm-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-sm-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-sm-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-sm-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-sm-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-sm-0 { - margin-top: 0 !important; } - .mt-sm-1 { - margin-top: 0.25rem !important; } - .mt-sm-2 { - margin-top: 0.5rem !important; } - .mt-sm-3 { - margin-top: 1rem !important; } - .mt-sm-4 { - margin-top: 1.5rem !important; } - .mt-sm-5 { - margin-top: 3rem !important; } - .mt-sm-auto { - margin-top: auto !important; } - .me-sm-0 { - margin-right: 0 !important; } - .me-sm-1 { - margin-right: 0.25rem !important; } - .me-sm-2 { - margin-right: 0.5rem !important; } - .me-sm-3 { - margin-right: 1rem !important; } - .me-sm-4 { - margin-right: 1.5rem !important; } - .me-sm-5 { - margin-right: 3rem !important; } - .me-sm-auto { - margin-right: auto !important; } - .mb-sm-0 { - margin-bottom: 0 !important; } - .mb-sm-1 { - margin-bottom: 0.25rem !important; } - .mb-sm-2 { - margin-bottom: 0.5rem !important; } - .mb-sm-3 { - margin-bottom: 1rem !important; } - .mb-sm-4 { - margin-bottom: 1.5rem !important; } - .mb-sm-5 { - margin-bottom: 3rem !important; } - .mb-sm-auto { - margin-bottom: auto !important; } - .ms-sm-0 { - margin-left: 0 !important; } - .ms-sm-1 { - margin-left: 0.25rem !important; } - .ms-sm-2 { - margin-left: 0.5rem !important; } - .ms-sm-3 { - margin-left: 1rem !important; } - .ms-sm-4 { - margin-left: 1.5rem !important; } - .ms-sm-5 { - margin-left: 3rem !important; } - .ms-sm-auto { - margin-left: auto !important; } - .m-sm-n1 { - margin: -0.25rem !important; } - .m-sm-n2 { - margin: -0.5rem !important; } - .m-sm-n3 { - margin: -1rem !important; } - .m-sm-n4 { - margin: -1.5rem !important; } - .m-sm-n5 { - margin: -3rem !important; } - .mx-sm-n1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; } - .mx-sm-n2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; } - .mx-sm-n3 { - margin-right: -1rem !important; - margin-left: -1rem !important; } - .mx-sm-n4 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; } - .mx-sm-n5 { - margin-right: -3rem !important; - margin-left: -3rem !important; } - .my-sm-n1 { - margin-top: -0.25rem !important; - margin-bottom: -0.25rem !important; } - .my-sm-n2 { - margin-top: -0.5rem !important; - margin-bottom: -0.5rem !important; } - .my-sm-n3 { - margin-top: -1rem !important; - margin-bottom: -1rem !important; } - .my-sm-n4 { - margin-top: -1.5rem !important; - margin-bottom: -1.5rem !important; } - .my-sm-n5 { - margin-top: -3rem !important; - margin-bottom: -3rem !important; } - .mt-sm-n1 { - margin-top: -0.25rem !important; } - .mt-sm-n2 { - margin-top: -0.5rem !important; } - .mt-sm-n3 { - margin-top: -1rem !important; } - .mt-sm-n4 { - margin-top: -1.5rem !important; } - .mt-sm-n5 { - margin-top: -3rem !important; } - .me-sm-n1 { - margin-right: -0.25rem !important; } - .me-sm-n2 { - margin-right: -0.5rem !important; } - .me-sm-n3 { - margin-right: -1rem !important; } - .me-sm-n4 { - margin-right: -1.5rem !important; } - .me-sm-n5 { - margin-right: -3rem !important; } - .mb-sm-n1 { - margin-bottom: -0.25rem !important; } - .mb-sm-n2 { - margin-bottom: -0.5rem !important; } - .mb-sm-n3 { - margin-bottom: -1rem !important; } - .mb-sm-n4 { - margin-bottom: -1.5rem !important; } - .mb-sm-n5 { - margin-bottom: -3rem !important; } - .ms-sm-n1 { - margin-left: -0.25rem !important; } - .ms-sm-n2 { - margin-left: -0.5rem !important; } - .ms-sm-n3 { - margin-left: -1rem !important; } - .ms-sm-n4 { - margin-left: -1.5rem !important; } - .ms-sm-n5 { - margin-left: -3rem !important; } - .p-sm-0 { - padding: 0 !important; } - .p-sm-1 { - padding: 0.25rem !important; } - .p-sm-2 { - padding: 0.5rem !important; } - .p-sm-3 { - padding: 1rem !important; } - .p-sm-4 { - padding: 1.5rem !important; } - .p-sm-5 { - padding: 3rem !important; } - .px-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-sm-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-sm-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-sm-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-sm-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-sm-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-sm-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-sm-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-sm-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-sm-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-sm-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-sm-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-sm-0 { - padding-top: 0 !important; } - .pt-sm-1 { - padding-top: 0.25rem !important; } - .pt-sm-2 { - padding-top: 0.5rem !important; } - .pt-sm-3 { - padding-top: 1rem !important; } - .pt-sm-4 { - padding-top: 1.5rem !important; } - .pt-sm-5 { - padding-top: 3rem !important; } - .pe-sm-0 { - padding-right: 0 !important; } - .pe-sm-1 { - padding-right: 0.25rem !important; } - .pe-sm-2 { - padding-right: 0.5rem !important; } - .pe-sm-3 { - padding-right: 1rem !important; } - .pe-sm-4 { - padding-right: 1.5rem !important; } - .pe-sm-5 { - padding-right: 3rem !important; } - .pb-sm-0 { - padding-bottom: 0 !important; } - .pb-sm-1 { - padding-bottom: 0.25rem !important; } - .pb-sm-2 { - padding-bottom: 0.5rem !important; } - .pb-sm-3 { - padding-bottom: 1rem !important; } - .pb-sm-4 { - padding-bottom: 1.5rem !important; } - .pb-sm-5 { - padding-bottom: 3rem !important; } - .ps-sm-0 { - padding-left: 0 !important; } - .ps-sm-1 { - padding-left: 0.25rem !important; } - .ps-sm-2 { - padding-left: 0.5rem !important; } - .ps-sm-3 { - padding-left: 1rem !important; } - .ps-sm-4 { - padding-left: 1.5rem !important; } - .ps-sm-5 { - padding-left: 3rem !important; } - .gap-sm-0 { - gap: 0 !important; } - .gap-sm-1 { - gap: 0.25rem !important; } - .gap-sm-2 { - gap: 0.5rem !important; } - .gap-sm-3 { - gap: 1rem !important; } - .gap-sm-4 { - gap: 1.5rem !important; } - .gap-sm-5 { - gap: 3rem !important; } - .row-gap-sm-0 { - row-gap: 0 !important; } - .row-gap-sm-1 { - row-gap: 0.25rem !important; } - .row-gap-sm-2 { - row-gap: 0.5rem !important; } - .row-gap-sm-3 { - row-gap: 1rem !important; } - .row-gap-sm-4 { - row-gap: 1.5rem !important; } - .row-gap-sm-5 { - row-gap: 3rem !important; } - .column-gap-sm-0 { - column-gap: 0 !important; } - .column-gap-sm-1 { - column-gap: 0.25rem !important; } - .column-gap-sm-2 { - column-gap: 0.5rem !important; } - .column-gap-sm-3 { - column-gap: 1rem !important; } - .column-gap-sm-4 { - column-gap: 1.5rem !important; } - .column-gap-sm-5 { - column-gap: 3rem !important; } - .text-sm-start { - text-align: left !important; } - .text-sm-end { - text-align: right !important; } - .text-sm-center { - text-align: center !important; } } - -@media (min-width: 768px) { - .float-md-start { - float: left !important; } - .float-md-end { - float: right !important; } - .float-md-none { - float: none !important; } - .object-fit-md-contain { - object-fit: contain !important; } - .object-fit-md-cover { - object-fit: cover !important; } - .object-fit-md-fill { - object-fit: fill !important; } - .object-fit-md-scale { - object-fit: scale-down !important; } - .object-fit-md-none { - object-fit: none !important; } - .d-md-inline { - display: inline !important; } - .d-md-inline-block { - display: inline-block !important; } - .d-md-block { - display: block !important; } - .d-md-grid { - display: grid !important; } - .d-md-inline-grid { - display: inline-grid !important; } - .d-md-table { - display: table !important; } - .d-md-table-row { - display: table-row !important; } - .d-md-table-cell { - display: table-cell !important; } - .d-md-flex { - display: flex !important; } - .d-md-inline-flex { - display: inline-flex !important; } - .d-md-none { - display: none !important; } - .flex-md-fill { - flex: 1 1 auto !important; } - .flex-md-row { - flex-direction: row !important; } - .flex-md-column { - flex-direction: column !important; } - .flex-md-row-reverse { - flex-direction: row-reverse !important; } - .flex-md-column-reverse { - flex-direction: column-reverse !important; } - .flex-md-grow-0 { - flex-grow: 0 !important; } - .flex-md-grow-1 { - flex-grow: 1 !important; } - .flex-md-shrink-0 { - flex-shrink: 0 !important; } - .flex-md-shrink-1 { - flex-shrink: 1 !important; } - .flex-md-wrap { - flex-wrap: wrap !important; } - .flex-md-nowrap { - flex-wrap: nowrap !important; } - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-md-start { - justify-content: flex-start !important; } - .justify-content-md-end { - justify-content: flex-end !important; } - .justify-content-md-center { - justify-content: center !important; } - .justify-content-md-between { - justify-content: space-between !important; } - .justify-content-md-around { - justify-content: space-around !important; } - .justify-content-md-evenly { - justify-content: space-evenly !important; } - .align-items-md-start { - align-items: flex-start !important; } - .align-items-md-end { - align-items: flex-end !important; } - .align-items-md-center { - align-items: center !important; } - .align-items-md-baseline { - align-items: baseline !important; } - .align-items-md-stretch { - align-items: stretch !important; } - .align-content-md-start { - align-content: flex-start !important; } - .align-content-md-end { - align-content: flex-end !important; } - .align-content-md-center { - align-content: center !important; } - .align-content-md-between { - align-content: space-between !important; } - .align-content-md-around { - align-content: space-around !important; } - .align-content-md-stretch { - align-content: stretch !important; } - .align-self-md-auto { - align-self: auto !important; } - .align-self-md-start { - align-self: flex-start !important; } - .align-self-md-end { - align-self: flex-end !important; } - .align-self-md-center { - align-self: center !important; } - .align-self-md-baseline { - align-self: baseline !important; } - .align-self-md-stretch { - align-self: stretch !important; } - .order-md-first { - order: -1 !important; } - .order-md-0 { - order: 0 !important; } - .order-md-1 { - order: 1 !important; } - .order-md-2 { - order: 2 !important; } - .order-md-3 { - order: 3 !important; } - .order-md-4 { - order: 4 !important; } - .order-md-5 { - order: 5 !important; } - .order-md-last { - order: 6 !important; } - .m-md-0 { - margin: 0 !important; } - .m-md-1 { - margin: 0.25rem !important; } - .m-md-2 { - margin: 0.5rem !important; } - .m-md-3 { - margin: 1rem !important; } - .m-md-4 { - margin: 1.5rem !important; } - .m-md-5 { - margin: 3rem !important; } - .m-md-auto { - margin: auto !important; } - .mx-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-md-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-md-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-md-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-md-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-md-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-md-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-md-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-md-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-md-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-md-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-md-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-md-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-md-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-md-0 { - margin-top: 0 !important; } - .mt-md-1 { - margin-top: 0.25rem !important; } - .mt-md-2 { - margin-top: 0.5rem !important; } - .mt-md-3 { - margin-top: 1rem !important; } - .mt-md-4 { - margin-top: 1.5rem !important; } - .mt-md-5 { - margin-top: 3rem !important; } - .mt-md-auto { - margin-top: auto !important; } - .me-md-0 { - margin-right: 0 !important; } - .me-md-1 { - margin-right: 0.25rem !important; } - .me-md-2 { - margin-right: 0.5rem !important; } - .me-md-3 { - margin-right: 1rem !important; } - .me-md-4 { - margin-right: 1.5rem !important; } - .me-md-5 { - margin-right: 3rem !important; } - .me-md-auto { - margin-right: auto !important; } - .mb-md-0 { - margin-bottom: 0 !important; } - .mb-md-1 { - margin-bottom: 0.25rem !important; } - .mb-md-2 { - margin-bottom: 0.5rem !important; } - .mb-md-3 { - margin-bottom: 1rem !important; } - .mb-md-4 { - margin-bottom: 1.5rem !important; } - .mb-md-5 { - margin-bottom: 3rem !important; } - .mb-md-auto { - margin-bottom: auto !important; } - .ms-md-0 { - margin-left: 0 !important; } - .ms-md-1 { - margin-left: 0.25rem !important; } - .ms-md-2 { - margin-left: 0.5rem !important; } - .ms-md-3 { - margin-left: 1rem !important; } - .ms-md-4 { - margin-left: 1.5rem !important; } - .ms-md-5 { - margin-left: 3rem !important; } - .ms-md-auto { - margin-left: auto !important; } - .m-md-n1 { - margin: -0.25rem !important; } - .m-md-n2 { - margin: -0.5rem !important; } - .m-md-n3 { - margin: -1rem !important; } - .m-md-n4 { - margin: -1.5rem !important; } - .m-md-n5 { - margin: -3rem !important; } - .mx-md-n1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; } - .mx-md-n2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; } - .mx-md-n3 { - margin-right: -1rem !important; - margin-left: -1rem !important; } - .mx-md-n4 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; } - .mx-md-n5 { - margin-right: -3rem !important; - margin-left: -3rem !important; } - .my-md-n1 { - margin-top: -0.25rem !important; - margin-bottom: -0.25rem !important; } - .my-md-n2 { - margin-top: -0.5rem !important; - margin-bottom: -0.5rem !important; } - .my-md-n3 { - margin-top: -1rem !important; - margin-bottom: -1rem !important; } - .my-md-n4 { - margin-top: -1.5rem !important; - margin-bottom: -1.5rem !important; } - .my-md-n5 { - margin-top: -3rem !important; - margin-bottom: -3rem !important; } - .mt-md-n1 { - margin-top: -0.25rem !important; } - .mt-md-n2 { - margin-top: -0.5rem !important; } - .mt-md-n3 { - margin-top: -1rem !important; } - .mt-md-n4 { - margin-top: -1.5rem !important; } - .mt-md-n5 { - margin-top: -3rem !important; } - .me-md-n1 { - margin-right: -0.25rem !important; } - .me-md-n2 { - margin-right: -0.5rem !important; } - .me-md-n3 { - margin-right: -1rem !important; } - .me-md-n4 { - margin-right: -1.5rem !important; } - .me-md-n5 { - margin-right: -3rem !important; } - .mb-md-n1 { - margin-bottom: -0.25rem !important; } - .mb-md-n2 { - margin-bottom: -0.5rem !important; } - .mb-md-n3 { - margin-bottom: -1rem !important; } - .mb-md-n4 { - margin-bottom: -1.5rem !important; } - .mb-md-n5 { - margin-bottom: -3rem !important; } - .ms-md-n1 { - margin-left: -0.25rem !important; } - .ms-md-n2 { - margin-left: -0.5rem !important; } - .ms-md-n3 { - margin-left: -1rem !important; } - .ms-md-n4 { - margin-left: -1.5rem !important; } - .ms-md-n5 { - margin-left: -3rem !important; } - .p-md-0 { - padding: 0 !important; } - .p-md-1 { - padding: 0.25rem !important; } - .p-md-2 { - padding: 0.5rem !important; } - .p-md-3 { - padding: 1rem !important; } - .p-md-4 { - padding: 1.5rem !important; } - .p-md-5 { - padding: 3rem !important; } - .px-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-md-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-md-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-md-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-md-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-md-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-md-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-md-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-md-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-md-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-md-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-md-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-md-0 { - padding-top: 0 !important; } - .pt-md-1 { - padding-top: 0.25rem !important; } - .pt-md-2 { - padding-top: 0.5rem !important; } - .pt-md-3 { - padding-top: 1rem !important; } - .pt-md-4 { - padding-top: 1.5rem !important; } - .pt-md-5 { - padding-top: 3rem !important; } - .pe-md-0 { - padding-right: 0 !important; } - .pe-md-1 { - padding-right: 0.25rem !important; } - .pe-md-2 { - padding-right: 0.5rem !important; } - .pe-md-3 { - padding-right: 1rem !important; } - .pe-md-4 { - padding-right: 1.5rem !important; } - .pe-md-5 { - padding-right: 3rem !important; } - .pb-md-0 { - padding-bottom: 0 !important; } - .pb-md-1 { - padding-bottom: 0.25rem !important; } - .pb-md-2 { - padding-bottom: 0.5rem !important; } - .pb-md-3 { - padding-bottom: 1rem !important; } - .pb-md-4 { - padding-bottom: 1.5rem !important; } - .pb-md-5 { - padding-bottom: 3rem !important; } - .ps-md-0 { - padding-left: 0 !important; } - .ps-md-1 { - padding-left: 0.25rem !important; } - .ps-md-2 { - padding-left: 0.5rem !important; } - .ps-md-3 { - padding-left: 1rem !important; } - .ps-md-4 { - padding-left: 1.5rem !important; } - .ps-md-5 { - padding-left: 3rem !important; } - .gap-md-0 { - gap: 0 !important; } - .gap-md-1 { - gap: 0.25rem !important; } - .gap-md-2 { - gap: 0.5rem !important; } - .gap-md-3 { - gap: 1rem !important; } - .gap-md-4 { - gap: 1.5rem !important; } - .gap-md-5 { - gap: 3rem !important; } - .row-gap-md-0 { - row-gap: 0 !important; } - .row-gap-md-1 { - row-gap: 0.25rem !important; } - .row-gap-md-2 { - row-gap: 0.5rem !important; } - .row-gap-md-3 { - row-gap: 1rem !important; } - .row-gap-md-4 { - row-gap: 1.5rem !important; } - .row-gap-md-5 { - row-gap: 3rem !important; } - .column-gap-md-0 { - column-gap: 0 !important; } - .column-gap-md-1 { - column-gap: 0.25rem !important; } - .column-gap-md-2 { - column-gap: 0.5rem !important; } - .column-gap-md-3 { - column-gap: 1rem !important; } - .column-gap-md-4 { - column-gap: 1.5rem !important; } - .column-gap-md-5 { - column-gap: 3rem !important; } - .text-md-start { - text-align: left !important; } - .text-md-end { - text-align: right !important; } - .text-md-center { - text-align: center !important; } } - -@media (min-width: 992px) { - .float-lg-start { - float: left !important; } - .float-lg-end { - float: right !important; } - .float-lg-none { - float: none !important; } - .object-fit-lg-contain { - object-fit: contain !important; } - .object-fit-lg-cover { - object-fit: cover !important; } - .object-fit-lg-fill { - object-fit: fill !important; } - .object-fit-lg-scale { - object-fit: scale-down !important; } - .object-fit-lg-none { - object-fit: none !important; } - .d-lg-inline { - display: inline !important; } - .d-lg-inline-block { - display: inline-block !important; } - .d-lg-block { - display: block !important; } - .d-lg-grid { - display: grid !important; } - .d-lg-inline-grid { - display: inline-grid !important; } - .d-lg-table { - display: table !important; } - .d-lg-table-row { - display: table-row !important; } - .d-lg-table-cell { - display: table-cell !important; } - .d-lg-flex { - display: flex !important; } - .d-lg-inline-flex { - display: inline-flex !important; } - .d-lg-none { - display: none !important; } - .flex-lg-fill { - flex: 1 1 auto !important; } - .flex-lg-row { - flex-direction: row !important; } - .flex-lg-column { - flex-direction: column !important; } - .flex-lg-row-reverse { - flex-direction: row-reverse !important; } - .flex-lg-column-reverse { - flex-direction: column-reverse !important; } - .flex-lg-grow-0 { - flex-grow: 0 !important; } - .flex-lg-grow-1 { - flex-grow: 1 !important; } - .flex-lg-shrink-0 { - flex-shrink: 0 !important; } - .flex-lg-shrink-1 { - flex-shrink: 1 !important; } - .flex-lg-wrap { - flex-wrap: wrap !important; } - .flex-lg-nowrap { - flex-wrap: nowrap !important; } - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-lg-start { - justify-content: flex-start !important; } - .justify-content-lg-end { - justify-content: flex-end !important; } - .justify-content-lg-center { - justify-content: center !important; } - .justify-content-lg-between { - justify-content: space-between !important; } - .justify-content-lg-around { - justify-content: space-around !important; } - .justify-content-lg-evenly { - justify-content: space-evenly !important; } - .align-items-lg-start { - align-items: flex-start !important; } - .align-items-lg-end { - align-items: flex-end !important; } - .align-items-lg-center { - align-items: center !important; } - .align-items-lg-baseline { - align-items: baseline !important; } - .align-items-lg-stretch { - align-items: stretch !important; } - .align-content-lg-start { - align-content: flex-start !important; } - .align-content-lg-end { - align-content: flex-end !important; } - .align-content-lg-center { - align-content: center !important; } - .align-content-lg-between { - align-content: space-between !important; } - .align-content-lg-around { - align-content: space-around !important; } - .align-content-lg-stretch { - align-content: stretch !important; } - .align-self-lg-auto { - align-self: auto !important; } - .align-self-lg-start { - align-self: flex-start !important; } - .align-self-lg-end { - align-self: flex-end !important; } - .align-self-lg-center { - align-self: center !important; } - .align-self-lg-baseline { - align-self: baseline !important; } - .align-self-lg-stretch { - align-self: stretch !important; } - .order-lg-first { - order: -1 !important; } - .order-lg-0 { - order: 0 !important; } - .order-lg-1 { - order: 1 !important; } - .order-lg-2 { - order: 2 !important; } - .order-lg-3 { - order: 3 !important; } - .order-lg-4 { - order: 4 !important; } - .order-lg-5 { - order: 5 !important; } - .order-lg-last { - order: 6 !important; } - .m-lg-0 { - margin: 0 !important; } - .m-lg-1 { - margin: 0.25rem !important; } - .m-lg-2 { - margin: 0.5rem !important; } - .m-lg-3 { - margin: 1rem !important; } - .m-lg-4 { - margin: 1.5rem !important; } - .m-lg-5 { - margin: 3rem !important; } - .m-lg-auto { - margin: auto !important; } - .mx-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-lg-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-lg-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-lg-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-lg-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-lg-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-lg-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-lg-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-lg-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-lg-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-lg-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-lg-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-lg-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-lg-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-lg-0 { - margin-top: 0 !important; } - .mt-lg-1 { - margin-top: 0.25rem !important; } - .mt-lg-2 { - margin-top: 0.5rem !important; } - .mt-lg-3 { - margin-top: 1rem !important; } - .mt-lg-4 { - margin-top: 1.5rem !important; } - .mt-lg-5 { - margin-top: 3rem !important; } - .mt-lg-auto { - margin-top: auto !important; } - .me-lg-0 { - margin-right: 0 !important; } - .me-lg-1 { - margin-right: 0.25rem !important; } - .me-lg-2 { - margin-right: 0.5rem !important; } - .me-lg-3 { - margin-right: 1rem !important; } - .me-lg-4 { - margin-right: 1.5rem !important; } - .me-lg-5 { - margin-right: 3rem !important; } - .me-lg-auto { - margin-right: auto !important; } - .mb-lg-0 { - margin-bottom: 0 !important; } - .mb-lg-1 { - margin-bottom: 0.25rem !important; } - .mb-lg-2 { - margin-bottom: 0.5rem !important; } - .mb-lg-3 { - margin-bottom: 1rem !important; } - .mb-lg-4 { - margin-bottom: 1.5rem !important; } - .mb-lg-5 { - margin-bottom: 3rem !important; } - .mb-lg-auto { - margin-bottom: auto !important; } - .ms-lg-0 { - margin-left: 0 !important; } - .ms-lg-1 { - margin-left: 0.25rem !important; } - .ms-lg-2 { - margin-left: 0.5rem !important; } - .ms-lg-3 { - margin-left: 1rem !important; } - .ms-lg-4 { - margin-left: 1.5rem !important; } - .ms-lg-5 { - margin-left: 3rem !important; } - .ms-lg-auto { - margin-left: auto !important; } - .m-lg-n1 { - margin: -0.25rem !important; } - .m-lg-n2 { - margin: -0.5rem !important; } - .m-lg-n3 { - margin: -1rem !important; } - .m-lg-n4 { - margin: -1.5rem !important; } - .m-lg-n5 { - margin: -3rem !important; } - .mx-lg-n1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; } - .mx-lg-n2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; } - .mx-lg-n3 { - margin-right: -1rem !important; - margin-left: -1rem !important; } - .mx-lg-n4 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; } - .mx-lg-n5 { - margin-right: -3rem !important; - margin-left: -3rem !important; } - .my-lg-n1 { - margin-top: -0.25rem !important; - margin-bottom: -0.25rem !important; } - .my-lg-n2 { - margin-top: -0.5rem !important; - margin-bottom: -0.5rem !important; } - .my-lg-n3 { - margin-top: -1rem !important; - margin-bottom: -1rem !important; } - .my-lg-n4 { - margin-top: -1.5rem !important; - margin-bottom: -1.5rem !important; } - .my-lg-n5 { - margin-top: -3rem !important; - margin-bottom: -3rem !important; } - .mt-lg-n1 { - margin-top: -0.25rem !important; } - .mt-lg-n2 { - margin-top: -0.5rem !important; } - .mt-lg-n3 { - margin-top: -1rem !important; } - .mt-lg-n4 { - margin-top: -1.5rem !important; } - .mt-lg-n5 { - margin-top: -3rem !important; } - .me-lg-n1 { - margin-right: -0.25rem !important; } - .me-lg-n2 { - margin-right: -0.5rem !important; } - .me-lg-n3 { - margin-right: -1rem !important; } - .me-lg-n4 { - margin-right: -1.5rem !important; } - .me-lg-n5 { - margin-right: -3rem !important; } - .mb-lg-n1 { - margin-bottom: -0.25rem !important; } - .mb-lg-n2 { - margin-bottom: -0.5rem !important; } - .mb-lg-n3 { - margin-bottom: -1rem !important; } - .mb-lg-n4 { - margin-bottom: -1.5rem !important; } - .mb-lg-n5 { - margin-bottom: -3rem !important; } - .ms-lg-n1 { - margin-left: -0.25rem !important; } - .ms-lg-n2 { - margin-left: -0.5rem !important; } - .ms-lg-n3 { - margin-left: -1rem !important; } - .ms-lg-n4 { - margin-left: -1.5rem !important; } - .ms-lg-n5 { - margin-left: -3rem !important; } - .p-lg-0 { - padding: 0 !important; } - .p-lg-1 { - padding: 0.25rem !important; } - .p-lg-2 { - padding: 0.5rem !important; } - .p-lg-3 { - padding: 1rem !important; } - .p-lg-4 { - padding: 1.5rem !important; } - .p-lg-5 { - padding: 3rem !important; } - .px-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-lg-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-lg-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-lg-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-lg-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-lg-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-lg-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-lg-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-lg-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-lg-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-lg-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-lg-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-lg-0 { - padding-top: 0 !important; } - .pt-lg-1 { - padding-top: 0.25rem !important; } - .pt-lg-2 { - padding-top: 0.5rem !important; } - .pt-lg-3 { - padding-top: 1rem !important; } - .pt-lg-4 { - padding-top: 1.5rem !important; } - .pt-lg-5 { - padding-top: 3rem !important; } - .pe-lg-0 { - padding-right: 0 !important; } - .pe-lg-1 { - padding-right: 0.25rem !important; } - .pe-lg-2 { - padding-right: 0.5rem !important; } - .pe-lg-3 { - padding-right: 1rem !important; } - .pe-lg-4 { - padding-right: 1.5rem !important; } - .pe-lg-5 { - padding-right: 3rem !important; } - .pb-lg-0 { - padding-bottom: 0 !important; } - .pb-lg-1 { - padding-bottom: 0.25rem !important; } - .pb-lg-2 { - padding-bottom: 0.5rem !important; } - .pb-lg-3 { - padding-bottom: 1rem !important; } - .pb-lg-4 { - padding-bottom: 1.5rem !important; } - .pb-lg-5 { - padding-bottom: 3rem !important; } - .ps-lg-0 { - padding-left: 0 !important; } - .ps-lg-1 { - padding-left: 0.25rem !important; } - .ps-lg-2 { - padding-left: 0.5rem !important; } - .ps-lg-3 { - padding-left: 1rem !important; } - .ps-lg-4 { - padding-left: 1.5rem !important; } - .ps-lg-5 { - padding-left: 3rem !important; } - .gap-lg-0 { - gap: 0 !important; } - .gap-lg-1 { - gap: 0.25rem !important; } - .gap-lg-2 { - gap: 0.5rem !important; } - .gap-lg-3 { - gap: 1rem !important; } - .gap-lg-4 { - gap: 1.5rem !important; } - .gap-lg-5 { - gap: 3rem !important; } - .row-gap-lg-0 { - row-gap: 0 !important; } - .row-gap-lg-1 { - row-gap: 0.25rem !important; } - .row-gap-lg-2 { - row-gap: 0.5rem !important; } - .row-gap-lg-3 { - row-gap: 1rem !important; } - .row-gap-lg-4 { - row-gap: 1.5rem !important; } - .row-gap-lg-5 { - row-gap: 3rem !important; } - .column-gap-lg-0 { - column-gap: 0 !important; } - .column-gap-lg-1 { - column-gap: 0.25rem !important; } - .column-gap-lg-2 { - column-gap: 0.5rem !important; } - .column-gap-lg-3 { - column-gap: 1rem !important; } - .column-gap-lg-4 { - column-gap: 1.5rem !important; } - .column-gap-lg-5 { - column-gap: 3rem !important; } - .text-lg-start { - text-align: left !important; } - .text-lg-end { - text-align: right !important; } - .text-lg-center { - text-align: center !important; } } - -@media (min-width: 1200px) { - .float-xl-start { - float: left !important; } - .float-xl-end { - float: right !important; } - .float-xl-none { - float: none !important; } - .object-fit-xl-contain { - object-fit: contain !important; } - .object-fit-xl-cover { - object-fit: cover !important; } - .object-fit-xl-fill { - object-fit: fill !important; } - .object-fit-xl-scale { - object-fit: scale-down !important; } - .object-fit-xl-none { - object-fit: none !important; } - .d-xl-inline { - display: inline !important; } - .d-xl-inline-block { - display: inline-block !important; } - .d-xl-block { - display: block !important; } - .d-xl-grid { - display: grid !important; } - .d-xl-inline-grid { - display: inline-grid !important; } - .d-xl-table { - display: table !important; } - .d-xl-table-row { - display: table-row !important; } - .d-xl-table-cell { - display: table-cell !important; } - .d-xl-flex { - display: flex !important; } - .d-xl-inline-flex { - display: inline-flex !important; } - .d-xl-none { - display: none !important; } - .flex-xl-fill { - flex: 1 1 auto !important; } - .flex-xl-row { - flex-direction: row !important; } - .flex-xl-column { - flex-direction: column !important; } - .flex-xl-row-reverse { - flex-direction: row-reverse !important; } - .flex-xl-column-reverse { - flex-direction: column-reverse !important; } - .flex-xl-grow-0 { - flex-grow: 0 !important; } - .flex-xl-grow-1 { - flex-grow: 1 !important; } - .flex-xl-shrink-0 { - flex-shrink: 0 !important; } - .flex-xl-shrink-1 { - flex-shrink: 1 !important; } - .flex-xl-wrap { - flex-wrap: wrap !important; } - .flex-xl-nowrap { - flex-wrap: nowrap !important; } - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-xl-start { - justify-content: flex-start !important; } - .justify-content-xl-end { - justify-content: flex-end !important; } - .justify-content-xl-center { - justify-content: center !important; } - .justify-content-xl-between { - justify-content: space-between !important; } - .justify-content-xl-around { - justify-content: space-around !important; } - .justify-content-xl-evenly { - justify-content: space-evenly !important; } - .align-items-xl-start { - align-items: flex-start !important; } - .align-items-xl-end { - align-items: flex-end !important; } - .align-items-xl-center { - align-items: center !important; } - .align-items-xl-baseline { - align-items: baseline !important; } - .align-items-xl-stretch { - align-items: stretch !important; } - .align-content-xl-start { - align-content: flex-start !important; } - .align-content-xl-end { - align-content: flex-end !important; } - .align-content-xl-center { - align-content: center !important; } - .align-content-xl-between { - align-content: space-between !important; } - .align-content-xl-around { - align-content: space-around !important; } - .align-content-xl-stretch { - align-content: stretch !important; } - .align-self-xl-auto { - align-self: auto !important; } - .align-self-xl-start { - align-self: flex-start !important; } - .align-self-xl-end { - align-self: flex-end !important; } - .align-self-xl-center { - align-self: center !important; } - .align-self-xl-baseline { - align-self: baseline !important; } - .align-self-xl-stretch { - align-self: stretch !important; } - .order-xl-first { - order: -1 !important; } - .order-xl-0 { - order: 0 !important; } - .order-xl-1 { - order: 1 !important; } - .order-xl-2 { - order: 2 !important; } - .order-xl-3 { - order: 3 !important; } - .order-xl-4 { - order: 4 !important; } - .order-xl-5 { - order: 5 !important; } - .order-xl-last { - order: 6 !important; } - .m-xl-0 { - margin: 0 !important; } - .m-xl-1 { - margin: 0.25rem !important; } - .m-xl-2 { - margin: 0.5rem !important; } - .m-xl-3 { - margin: 1rem !important; } - .m-xl-4 { - margin: 1.5rem !important; } - .m-xl-5 { - margin: 3rem !important; } - .m-xl-auto { - margin: auto !important; } - .mx-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-xl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-xl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-xl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-xl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-xl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-xl-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-xl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-xl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-xl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-xl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-xl-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-xl-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-xl-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-xl-0 { - margin-top: 0 !important; } - .mt-xl-1 { - margin-top: 0.25rem !important; } - .mt-xl-2 { - margin-top: 0.5rem !important; } - .mt-xl-3 { - margin-top: 1rem !important; } - .mt-xl-4 { - margin-top: 1.5rem !important; } - .mt-xl-5 { - margin-top: 3rem !important; } - .mt-xl-auto { - margin-top: auto !important; } - .me-xl-0 { - margin-right: 0 !important; } - .me-xl-1 { - margin-right: 0.25rem !important; } - .me-xl-2 { - margin-right: 0.5rem !important; } - .me-xl-3 { - margin-right: 1rem !important; } - .me-xl-4 { - margin-right: 1.5rem !important; } - .me-xl-5 { - margin-right: 3rem !important; } - .me-xl-auto { - margin-right: auto !important; } - .mb-xl-0 { - margin-bottom: 0 !important; } - .mb-xl-1 { - margin-bottom: 0.25rem !important; } - .mb-xl-2 { - margin-bottom: 0.5rem !important; } - .mb-xl-3 { - margin-bottom: 1rem !important; } - .mb-xl-4 { - margin-bottom: 1.5rem !important; } - .mb-xl-5 { - margin-bottom: 3rem !important; } - .mb-xl-auto { - margin-bottom: auto !important; } - .ms-xl-0 { - margin-left: 0 !important; } - .ms-xl-1 { - margin-left: 0.25rem !important; } - .ms-xl-2 { - margin-left: 0.5rem !important; } - .ms-xl-3 { - margin-left: 1rem !important; } - .ms-xl-4 { - margin-left: 1.5rem !important; } - .ms-xl-5 { - margin-left: 3rem !important; } - .ms-xl-auto { - margin-left: auto !important; } - .m-xl-n1 { - margin: -0.25rem !important; } - .m-xl-n2 { - margin: -0.5rem !important; } - .m-xl-n3 { - margin: -1rem !important; } - .m-xl-n4 { - margin: -1.5rem !important; } - .m-xl-n5 { - margin: -3rem !important; } - .mx-xl-n1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; } - .mx-xl-n2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; } - .mx-xl-n3 { - margin-right: -1rem !important; - margin-left: -1rem !important; } - .mx-xl-n4 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; } - .mx-xl-n5 { - margin-right: -3rem !important; - margin-left: -3rem !important; } - .my-xl-n1 { - margin-top: -0.25rem !important; - margin-bottom: -0.25rem !important; } - .my-xl-n2 { - margin-top: -0.5rem !important; - margin-bottom: -0.5rem !important; } - .my-xl-n3 { - margin-top: -1rem !important; - margin-bottom: -1rem !important; } - .my-xl-n4 { - margin-top: -1.5rem !important; - margin-bottom: -1.5rem !important; } - .my-xl-n5 { - margin-top: -3rem !important; - margin-bottom: -3rem !important; } - .mt-xl-n1 { - margin-top: -0.25rem !important; } - .mt-xl-n2 { - margin-top: -0.5rem !important; } - .mt-xl-n3 { - margin-top: -1rem !important; } - .mt-xl-n4 { - margin-top: -1.5rem !important; } - .mt-xl-n5 { - margin-top: -3rem !important; } - .me-xl-n1 { - margin-right: -0.25rem !important; } - .me-xl-n2 { - margin-right: -0.5rem !important; } - .me-xl-n3 { - margin-right: -1rem !important; } - .me-xl-n4 { - margin-right: -1.5rem !important; } - .me-xl-n5 { - margin-right: -3rem !important; } - .mb-xl-n1 { - margin-bottom: -0.25rem !important; } - .mb-xl-n2 { - margin-bottom: -0.5rem !important; } - .mb-xl-n3 { - margin-bottom: -1rem !important; } - .mb-xl-n4 { - margin-bottom: -1.5rem !important; } - .mb-xl-n5 { - margin-bottom: -3rem !important; } - .ms-xl-n1 { - margin-left: -0.25rem !important; } - .ms-xl-n2 { - margin-left: -0.5rem !important; } - .ms-xl-n3 { - margin-left: -1rem !important; } - .ms-xl-n4 { - margin-left: -1.5rem !important; } - .ms-xl-n5 { - margin-left: -3rem !important; } - .p-xl-0 { - padding: 0 !important; } - .p-xl-1 { - padding: 0.25rem !important; } - .p-xl-2 { - padding: 0.5rem !important; } - .p-xl-3 { - padding: 1rem !important; } - .p-xl-4 { - padding: 1.5rem !important; } - .p-xl-5 { - padding: 3rem !important; } - .px-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-xl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-xl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-xl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-xl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-xl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-xl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-xl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-xl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-xl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-xl-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-xl-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-xl-0 { - padding-top: 0 !important; } - .pt-xl-1 { - padding-top: 0.25rem !important; } - .pt-xl-2 { - padding-top: 0.5rem !important; } - .pt-xl-3 { - padding-top: 1rem !important; } - .pt-xl-4 { - padding-top: 1.5rem !important; } - .pt-xl-5 { - padding-top: 3rem !important; } - .pe-xl-0 { - padding-right: 0 !important; } - .pe-xl-1 { - padding-right: 0.25rem !important; } - .pe-xl-2 { - padding-right: 0.5rem !important; } - .pe-xl-3 { - padding-right: 1rem !important; } - .pe-xl-4 { - padding-right: 1.5rem !important; } - .pe-xl-5 { - padding-right: 3rem !important; } - .pb-xl-0 { - padding-bottom: 0 !important; } - .pb-xl-1 { - padding-bottom: 0.25rem !important; } - .pb-xl-2 { - padding-bottom: 0.5rem !important; } - .pb-xl-3 { - padding-bottom: 1rem !important; } - .pb-xl-4 { - padding-bottom: 1.5rem !important; } - .pb-xl-5 { - padding-bottom: 3rem !important; } - .ps-xl-0 { - padding-left: 0 !important; } - .ps-xl-1 { - padding-left: 0.25rem !important; } - .ps-xl-2 { - padding-left: 0.5rem !important; } - .ps-xl-3 { - padding-left: 1rem !important; } - .ps-xl-4 { - padding-left: 1.5rem !important; } - .ps-xl-5 { - padding-left: 3rem !important; } - .gap-xl-0 { - gap: 0 !important; } - .gap-xl-1 { - gap: 0.25rem !important; } - .gap-xl-2 { - gap: 0.5rem !important; } - .gap-xl-3 { - gap: 1rem !important; } - .gap-xl-4 { - gap: 1.5rem !important; } - .gap-xl-5 { - gap: 3rem !important; } - .row-gap-xl-0 { - row-gap: 0 !important; } - .row-gap-xl-1 { - row-gap: 0.25rem !important; } - .row-gap-xl-2 { - row-gap: 0.5rem !important; } - .row-gap-xl-3 { - row-gap: 1rem !important; } - .row-gap-xl-4 { - row-gap: 1.5rem !important; } - .row-gap-xl-5 { - row-gap: 3rem !important; } - .column-gap-xl-0 { - column-gap: 0 !important; } - .column-gap-xl-1 { - column-gap: 0.25rem !important; } - .column-gap-xl-2 { - column-gap: 0.5rem !important; } - .column-gap-xl-3 { - column-gap: 1rem !important; } - .column-gap-xl-4 { - column-gap: 1.5rem !important; } - .column-gap-xl-5 { - column-gap: 3rem !important; } - .text-xl-start { - text-align: left !important; } - .text-xl-end { - text-align: right !important; } - .text-xl-center { - text-align: center !important; } } - -@media (min-width: 1400px) { - .float-xxl-start { - float: left !important; } - .float-xxl-end { - float: right !important; } - .float-xxl-none { - float: none !important; } - .object-fit-xxl-contain { - object-fit: contain !important; } - .object-fit-xxl-cover { - object-fit: cover !important; } - .object-fit-xxl-fill { - object-fit: fill !important; } - .object-fit-xxl-scale { - object-fit: scale-down !important; } - .object-fit-xxl-none { - object-fit: none !important; } - .d-xxl-inline { - display: inline !important; } - .d-xxl-inline-block { - display: inline-block !important; } - .d-xxl-block { - display: block !important; } - .d-xxl-grid { - display: grid !important; } - .d-xxl-inline-grid { - display: inline-grid !important; } - .d-xxl-table { - display: table !important; } - .d-xxl-table-row { - display: table-row !important; } - .d-xxl-table-cell { - display: table-cell !important; } - .d-xxl-flex { - display: flex !important; } - .d-xxl-inline-flex { - display: inline-flex !important; } - .d-xxl-none { - display: none !important; } - .flex-xxl-fill { - flex: 1 1 auto !important; } - .flex-xxl-row { - flex-direction: row !important; } - .flex-xxl-column { - flex-direction: column !important; } - .flex-xxl-row-reverse { - flex-direction: row-reverse !important; } - .flex-xxl-column-reverse { - flex-direction: column-reverse !important; } - .flex-xxl-grow-0 { - flex-grow: 0 !important; } - .flex-xxl-grow-1 { - flex-grow: 1 !important; } - .flex-xxl-shrink-0 { - flex-shrink: 0 !important; } - .flex-xxl-shrink-1 { - flex-shrink: 1 !important; } - .flex-xxl-wrap { - flex-wrap: wrap !important; } - .flex-xxl-nowrap { - flex-wrap: nowrap !important; } - .flex-xxl-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .justify-content-xxl-start { - justify-content: flex-start !important; } - .justify-content-xxl-end { - justify-content: flex-end !important; } - .justify-content-xxl-center { - justify-content: center !important; } - .justify-content-xxl-between { - justify-content: space-between !important; } - .justify-content-xxl-around { - justify-content: space-around !important; } - .justify-content-xxl-evenly { - justify-content: space-evenly !important; } - .align-items-xxl-start { - align-items: flex-start !important; } - .align-items-xxl-end { - align-items: flex-end !important; } - .align-items-xxl-center { - align-items: center !important; } - .align-items-xxl-baseline { - align-items: baseline !important; } - .align-items-xxl-stretch { - align-items: stretch !important; } - .align-content-xxl-start { - align-content: flex-start !important; } - .align-content-xxl-end { - align-content: flex-end !important; } - .align-content-xxl-center { - align-content: center !important; } - .align-content-xxl-between { - align-content: space-between !important; } - .align-content-xxl-around { - align-content: space-around !important; } - .align-content-xxl-stretch { - align-content: stretch !important; } - .align-self-xxl-auto { - align-self: auto !important; } - .align-self-xxl-start { - align-self: flex-start !important; } - .align-self-xxl-end { - align-self: flex-end !important; } - .align-self-xxl-center { - align-self: center !important; } - .align-self-xxl-baseline { - align-self: baseline !important; } - .align-self-xxl-stretch { - align-self: stretch !important; } - .order-xxl-first { - order: -1 !important; } - .order-xxl-0 { - order: 0 !important; } - .order-xxl-1 { - order: 1 !important; } - .order-xxl-2 { - order: 2 !important; } - .order-xxl-3 { - order: 3 !important; } - .order-xxl-4 { - order: 4 !important; } - .order-xxl-5 { - order: 5 !important; } - .order-xxl-last { - order: 6 !important; } - .m-xxl-0 { - margin: 0 !important; } - .m-xxl-1 { - margin: 0.25rem !important; } - .m-xxl-2 { - margin: 0.5rem !important; } - .m-xxl-3 { - margin: 1rem !important; } - .m-xxl-4 { - margin: 1.5rem !important; } - .m-xxl-5 { - margin: 3rem !important; } - .m-xxl-auto { - margin: auto !important; } - .mx-xxl-0 { - margin-right: 0 !important; - margin-left: 0 !important; } - .mx-xxl-1 { - margin-right: 0.25rem !important; - margin-left: 0.25rem !important; } - .mx-xxl-2 { - margin-right: 0.5rem !important; - margin-left: 0.5rem !important; } - .mx-xxl-3 { - margin-right: 1rem !important; - margin-left: 1rem !important; } - .mx-xxl-4 { - margin-right: 1.5rem !important; - margin-left: 1.5rem !important; } - .mx-xxl-5 { - margin-right: 3rem !important; - margin-left: 3rem !important; } - .mx-xxl-auto { - margin-right: auto !important; - margin-left: auto !important; } - .my-xxl-0 { - margin-top: 0 !important; - margin-bottom: 0 !important; } - .my-xxl-1 { - margin-top: 0.25rem !important; - margin-bottom: 0.25rem !important; } - .my-xxl-2 { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; } - .my-xxl-3 { - margin-top: 1rem !important; - margin-bottom: 1rem !important; } - .my-xxl-4 { - margin-top: 1.5rem !important; - margin-bottom: 1.5rem !important; } - .my-xxl-5 { - margin-top: 3rem !important; - margin-bottom: 3rem !important; } - .my-xxl-auto { - margin-top: auto !important; - margin-bottom: auto !important; } - .mt-xxl-0 { - margin-top: 0 !important; } - .mt-xxl-1 { - margin-top: 0.25rem !important; } - .mt-xxl-2 { - margin-top: 0.5rem !important; } - .mt-xxl-3 { - margin-top: 1rem !important; } - .mt-xxl-4 { - margin-top: 1.5rem !important; } - .mt-xxl-5 { - margin-top: 3rem !important; } - .mt-xxl-auto { - margin-top: auto !important; } - .me-xxl-0 { - margin-right: 0 !important; } - .me-xxl-1 { - margin-right: 0.25rem !important; } - .me-xxl-2 { - margin-right: 0.5rem !important; } - .me-xxl-3 { - margin-right: 1rem !important; } - .me-xxl-4 { - margin-right: 1.5rem !important; } - .me-xxl-5 { - margin-right: 3rem !important; } - .me-xxl-auto { - margin-right: auto !important; } - .mb-xxl-0 { - margin-bottom: 0 !important; } - .mb-xxl-1 { - margin-bottom: 0.25rem !important; } - .mb-xxl-2 { - margin-bottom: 0.5rem !important; } - .mb-xxl-3 { - margin-bottom: 1rem !important; } - .mb-xxl-4 { - margin-bottom: 1.5rem !important; } - .mb-xxl-5 { - margin-bottom: 3rem !important; } - .mb-xxl-auto { - margin-bottom: auto !important; } - .ms-xxl-0 { - margin-left: 0 !important; } - .ms-xxl-1 { - margin-left: 0.25rem !important; } - .ms-xxl-2 { - margin-left: 0.5rem !important; } - .ms-xxl-3 { - margin-left: 1rem !important; } - .ms-xxl-4 { - margin-left: 1.5rem !important; } - .ms-xxl-5 { - margin-left: 3rem !important; } - .ms-xxl-auto { - margin-left: auto !important; } - .m-xxl-n1 { - margin: -0.25rem !important; } - .m-xxl-n2 { - margin: -0.5rem !important; } - .m-xxl-n3 { - margin: -1rem !important; } - .m-xxl-n4 { - margin: -1.5rem !important; } - .m-xxl-n5 { - margin: -3rem !important; } - .mx-xxl-n1 { - margin-right: -0.25rem !important; - margin-left: -0.25rem !important; } - .mx-xxl-n2 { - margin-right: -0.5rem !important; - margin-left: -0.5rem !important; } - .mx-xxl-n3 { - margin-right: -1rem !important; - margin-left: -1rem !important; } - .mx-xxl-n4 { - margin-right: -1.5rem !important; - margin-left: -1.5rem !important; } - .mx-xxl-n5 { - margin-right: -3rem !important; - margin-left: -3rem !important; } - .my-xxl-n1 { - margin-top: -0.25rem !important; - margin-bottom: -0.25rem !important; } - .my-xxl-n2 { - margin-top: -0.5rem !important; - margin-bottom: -0.5rem !important; } - .my-xxl-n3 { - margin-top: -1rem !important; - margin-bottom: -1rem !important; } - .my-xxl-n4 { - margin-top: -1.5rem !important; - margin-bottom: -1.5rem !important; } - .my-xxl-n5 { - margin-top: -3rem !important; - margin-bottom: -3rem !important; } - .mt-xxl-n1 { - margin-top: -0.25rem !important; } - .mt-xxl-n2 { - margin-top: -0.5rem !important; } - .mt-xxl-n3 { - margin-top: -1rem !important; } - .mt-xxl-n4 { - margin-top: -1.5rem !important; } - .mt-xxl-n5 { - margin-top: -3rem !important; } - .me-xxl-n1 { - margin-right: -0.25rem !important; } - .me-xxl-n2 { - margin-right: -0.5rem !important; } - .me-xxl-n3 { - margin-right: -1rem !important; } - .me-xxl-n4 { - margin-right: -1.5rem !important; } - .me-xxl-n5 { - margin-right: -3rem !important; } - .mb-xxl-n1 { - margin-bottom: -0.25rem !important; } - .mb-xxl-n2 { - margin-bottom: -0.5rem !important; } - .mb-xxl-n3 { - margin-bottom: -1rem !important; } - .mb-xxl-n4 { - margin-bottom: -1.5rem !important; } - .mb-xxl-n5 { - margin-bottom: -3rem !important; } - .ms-xxl-n1 { - margin-left: -0.25rem !important; } - .ms-xxl-n2 { - margin-left: -0.5rem !important; } - .ms-xxl-n3 { - margin-left: -1rem !important; } - .ms-xxl-n4 { - margin-left: -1.5rem !important; } - .ms-xxl-n5 { - margin-left: -3rem !important; } - .p-xxl-0 { - padding: 0 !important; } - .p-xxl-1 { - padding: 0.25rem !important; } - .p-xxl-2 { - padding: 0.5rem !important; } - .p-xxl-3 { - padding: 1rem !important; } - .p-xxl-4 { - padding: 1.5rem !important; } - .p-xxl-5 { - padding: 3rem !important; } - .px-xxl-0 { - padding-right: 0 !important; - padding-left: 0 !important; } - .px-xxl-1 { - padding-right: 0.25rem !important; - padding-left: 0.25rem !important; } - .px-xxl-2 { - padding-right: 0.5rem !important; - padding-left: 0.5rem !important; } - .px-xxl-3 { - padding-right: 1rem !important; - padding-left: 1rem !important; } - .px-xxl-4 { - padding-right: 1.5rem !important; - padding-left: 1.5rem !important; } - .px-xxl-5 { - padding-right: 3rem !important; - padding-left: 3rem !important; } - .py-xxl-0 { - padding-top: 0 !important; - padding-bottom: 0 !important; } - .py-xxl-1 { - padding-top: 0.25rem !important; - padding-bottom: 0.25rem !important; } - .py-xxl-2 { - padding-top: 0.5rem !important; - padding-bottom: 0.5rem !important; } - .py-xxl-3 { - padding-top: 1rem !important; - padding-bottom: 1rem !important; } - .py-xxl-4 { - padding-top: 1.5rem !important; - padding-bottom: 1.5rem !important; } - .py-xxl-5 { - padding-top: 3rem !important; - padding-bottom: 3rem !important; } - .pt-xxl-0 { - padding-top: 0 !important; } - .pt-xxl-1 { - padding-top: 0.25rem !important; } - .pt-xxl-2 { - padding-top: 0.5rem !important; } - .pt-xxl-3 { - padding-top: 1rem !important; } - .pt-xxl-4 { - padding-top: 1.5rem !important; } - .pt-xxl-5 { - padding-top: 3rem !important; } - .pe-xxl-0 { - padding-right: 0 !important; } - .pe-xxl-1 { - padding-right: 0.25rem !important; } - .pe-xxl-2 { - padding-right: 0.5rem !important; } - .pe-xxl-3 { - padding-right: 1rem !important; } - .pe-xxl-4 { - padding-right: 1.5rem !important; } - .pe-xxl-5 { - padding-right: 3rem !important; } - .pb-xxl-0 { - padding-bottom: 0 !important; } - .pb-xxl-1 { - padding-bottom: 0.25rem !important; } - .pb-xxl-2 { - padding-bottom: 0.5rem !important; } - .pb-xxl-3 { - padding-bottom: 1rem !important; } - .pb-xxl-4 { - padding-bottom: 1.5rem !important; } - .pb-xxl-5 { - padding-bottom: 3rem !important; } - .ps-xxl-0 { - padding-left: 0 !important; } - .ps-xxl-1 { - padding-left: 0.25rem !important; } - .ps-xxl-2 { - padding-left: 0.5rem !important; } - .ps-xxl-3 { - padding-left: 1rem !important; } - .ps-xxl-4 { - padding-left: 1.5rem !important; } - .ps-xxl-5 { - padding-left: 3rem !important; } - .gap-xxl-0 { - gap: 0 !important; } - .gap-xxl-1 { - gap: 0.25rem !important; } - .gap-xxl-2 { - gap: 0.5rem !important; } - .gap-xxl-3 { - gap: 1rem !important; } - .gap-xxl-4 { - gap: 1.5rem !important; } - .gap-xxl-5 { - gap: 3rem !important; } - .row-gap-xxl-0 { - row-gap: 0 !important; } - .row-gap-xxl-1 { - row-gap: 0.25rem !important; } - .row-gap-xxl-2 { - row-gap: 0.5rem !important; } - .row-gap-xxl-3 { - row-gap: 1rem !important; } - .row-gap-xxl-4 { - row-gap: 1.5rem !important; } - .row-gap-xxl-5 { - row-gap: 3rem !important; } - .column-gap-xxl-0 { - column-gap: 0 !important; } - .column-gap-xxl-1 { - column-gap: 0.25rem !important; } - .column-gap-xxl-2 { - column-gap: 0.5rem !important; } - .column-gap-xxl-3 { - column-gap: 1rem !important; } - .column-gap-xxl-4 { - column-gap: 1.5rem !important; } - .column-gap-xxl-5 { - column-gap: 3rem !important; } - .text-xxl-start { - text-align: left !important; } - .text-xxl-end { - text-align: right !important; } - .text-xxl-center { - text-align: center !important; } } - -@media (min-width: 1200px) { - .fs-1 { - font-size: 2.5rem !important; } - .fs-2 { - font-size: 2rem !important; } - .fs-3 { - font-size: 1.75rem !important; } - .fs-4 { - font-size: 1.5rem !important; } } - -@media print { - .d-print-inline { - display: inline !important; } - .d-print-inline-block { - display: inline-block !important; } - .d-print-block { - display: block !important; } - .d-print-grid { - display: grid !important; } - .d-print-inline-grid { - display: inline-grid !important; } - .d-print-table { - display: table !important; } - .d-print-table-row { - display: table-row !important; } - .d-print-table-cell { - display: table-cell !important; } - .d-print-flex { - display: flex !important; } - .d-print-inline-flex { - display: inline-flex !important; } - .d-print-none { - display: none !important; } } - -/* jost-regular - latin */ -@font-face { - font-family: Jost; - font-style: normal; - font-weight: 400; - font-display: swap; - src: local("Jost Regular Regular"), local("Jost-Regular"), local("Jost* Book"), local("Jost-Book"), url("fonts/vendor/jost/jost-v4-latin-regular.woff2") format("woff2"), url("fonts/vendor/jost/jost-v4-latin-regular.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } - -/* jost-500 - latin */ -@font-face { - font-family: Jost; - font-style: normal; - font-weight: 500; - font-display: swap; - src: local("Jost Regular Medium"), local("JostRoman-Medium"), local("Jost* Medium"), local("Jost-Medium"), url("fonts/vendor/jost/jost-v4-latin-500.woff2") format("woff2"), url("fonts/vendor/jost/jost-v4-latin-500.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } - -/* jost-700 - latin */ -@font-face { - font-family: Jost; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local("Jost Regular Bold"), local("JostRoman-Bold"), local("Jost* Bold"), local("Jost-Bold"), url("fonts/vendor/jost/jost-v4-latin-700.woff2") format("woff2"), url("fonts/vendor/jost/jost-v4-latin-700.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } - -/* jost-italic - latin */ -@font-face { - font-family: Jost; - font-style: italic; - font-weight: 400; - font-display: swap; - src: local("Jost Italic Italic"), local("Jost-Italic"), local("Jost* BookItalic"), local("Jost-BookItalic"), url("fonts/vendor/jost/jost-v4-latin-italic.woff2") format("woff2"), url("fonts/vendor/jost/jost-v4-latin-italic.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } - -/* jost-500italic - latin */ -@font-face { - font-family: Jost; - font-style: italic; - font-weight: 500; - font-display: swap; - src: local("Jost Italic Medium Italic"), local("JostItalic-Medium"), local("Jost* Medium Italic"), local("Jost-MediumItalic"), url("fonts/vendor/jost/jost-v4-latin-500italic.woff2") format("woff2"), url("fonts/vendor/jost/jost-v4-latin-500italic.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } - -/* jost-700italic - latin */ -@font-face { - font-family: Jost; - font-style: italic; - font-weight: 700; - font-display: swap; - src: local("Jost Italic Bold Italic"), local("JostItalic-Bold"), local("Jost* Bold Italic"), local("Jost-BoldItalic"), url("fonts/vendor/jost/jost-v4-latin-700italic.woff2") format("woff2"), url("fonts/vendor/jost/jost-v4-latin-700italic.woff") format("woff"); - /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } - -/* Show the sun icon if the bs theme is dark */ -html[data-bs-theme="dark"] .icon-tabler-sun { - display: block; } - -html[data-bs-theme="dark"] .icon-tabler-moon { - display: none; } - -/* Show the moon icon if the bs theme is light */ -html[data-bs-theme="light"] .icon-tabler-sun { - display: none; } - -html[data-bs-theme="light"] .icon-tabler-moon { - display: block; } - -/* -.section:not(body.section) { - padding-top: 5rem; - padding-bottom: 5rem; -} - -.section-lg { - padding-top: 7rem; - padding-bottom: 7rem; -} -*/ -/* -.highlight .chroma { - padding: 1rem; - border-radius: var(--bs-border-radius); -} -*/ -.privacy .content, -.terms .content, -.about .content, -.contributors .content, -.blog .content, -.page .content, -.error404 .content, -.docs.list .content, -.tutorial.list .content, -.showcase.list .content, -.categories.list .content, -.tags.list .content, -.list.section .content { - padding-top: 1rem; - padding-bottom: 3rem; } - -.content img { - max-width: 100%; } - -h6, -.h6, -h5, -.h5, -h4, -.h4, -h3, -.h3, -h2, -.h2, -h1, -.h1 { - margin-top: 2rem; - margin-bottom: 1rem; } - -/* -body.docs, -body.blog { - padding-top: 0; - padding-bottom: 0; -} -*/ -@media (min-width: 768px) { - body { - font-size: 1.125rem; - /* - padding-top: 4rem !important; - */ } - h1, - h2, - h3, - h4, - h5, - h6, - .h1, - .h2, - .h3, - .h4, - .h5, - .h6 { - margin-bottom: 1.125rem; } } - -.home h1, .home .h1 { - /* font-size: calc(1.375rem + 1.5vw); */ - font-size: calc(1.875rem + 1.5vw); - margin-top: -1rem; } - -a:hover, -a:focus { - text-decoration: underline; } - -.docs-navigation .card { - transition: transform 0.3s; } - -.docs-navigation .card:hover { - transform: scale(1.025); } - -a.btn:hover, .search-form a.search-submit:hover, -a.btn:focus, -.search-form a.search-submit:focus { - text-decoration: none; } - -.section { - padding-top: 5rem; - padding-bottom: 5rem; } - -body.section { - padding-top: 0; - padding-bottom: 0; } - -.section-md { - padding-top: 3rem; - padding-bottom: 3rem; } - -.section-sm { - padding-top: 1rem; - padding-bottom: 1rem; } - -/* -.section svg { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-top; -} -*/ -/* -body { - padding-top: 3.5625rem; -} -*/ -.docs-sidebar { - order: 2; } - -@media (min-width: 992px) { - .docs-sidebar { - order: 0; - border-right: 1px solid #e9ecef; } - @supports (position: -webkit-sticky) or (position: sticky) { - .docs-sidebar { - position: -webkit-sticky; - position: sticky; - top: 4.25rem; - z-index: 1000; - height: calc(100vh - 4.25rem); } - .docs-sidebar-offset { - top: 4.5rem; - height: calc(100vh - 4.5rem); } - .docs-sidebar-top { - position: static; } } } - -@media (min-width: 1200px) { - .docs-sidebar { - flex: 0 1 320px; } } - -.docs-links { - padding-bottom: 5rem; } - -@media (min-width: 992px) { - @supports (position: -webkit-sticky) or (position: sticky) { - .docs-links { - max-height: calc(100vh - 4rem); - overflow-y: scroll; } } } - -@media (min-width: 992px) { - .docs-links { - display: block; - width: auto; - margin-right: -1.5rem; - padding-bottom: 4rem; } } - -.docs-toc { - order: 2; } - -@supports (position: -webkit-sticky) or (position: sticky) { - .docs-toc { - position: -webkit-sticky; - position: sticky; - top: 4.25rem; - height: calc(100vh - 4.25rem); - overflow-y: auto; } - .docs-toc-offset { - top: 4.5rem; - height: calc(100vh - 4.5rem); } - .docs-toc-top { - position: static; } } - -.docs-content { - padding-bottom: 3rem; - order: 1; } - -.docs-navigation { - border-top: 1px solid #e9ecef; - margin-top: 2rem; - margin-bottom: 0; - padding-top: 2rem; } - -.docs-navigation a { - font-size: 0.9rem; } - -@media (min-width: 992px) { - .docs-navigation { - margin-bottom: -1rem; } - .docs-navigation a { - font-size: 1rem; } } - -.docs-navigation a:hover, -.docs-navigation a:focus { - text-decoration: none; } - -.navbar a:hover, -.navbar a:focus { - text-decoration: none; } - -#TableOfContents ul, -#toc ul { - padding-left: 0; - list-style: none; } - -#toc a.active { - color: #3347ff; - font-weight: 500; } - -.section-features { - padding-top: 2rem; } - -.bg-dots { - background-image: radial-gradient(#dee2e6 15%, transparent 15%); - background-position: 0 0; - background-size: 1rem 1rem; - -webkit-mask: linear-gradient(to top, #fff, transparent); - mask: linear-gradient(to top, #fff, transparent); - width: 100%; - height: 11rem; - margin-top: -10rem; - z-index: -1; } - -.bg-dots-md { - margin-top: -11rem; } - -.bg-dots-lg { - margin-top: -12rem; } - -.gradient-text { - background-color: #3347ff; - background-image: linear-gradient(90deg, #3347ff, #b3c7ff 50%, var(--sl-color-blue)); - background-size: 100%; - background-repeat: repeat; - -webkit-background-clip: text; - -moz-background-clip: text; - -webkit-text-fill-color: transparent; - -moz-text-fill-color: transparent; } - -.katex { - font-size: 1.125rem; } - -.card-bar { - border-top: 4px solid; - border-image-source: linear-gradient(90deg, #3347ff, #b3c7ff 50%, var(--sl-color-blue)); - border-image-slice: 1; } - -.modal-backdrop { - background-color: #fff; } - -.modal-backdrop.show { - opacity: 0.7; } - -@media (min-width: 768px) { - .modal-backdrop.show { - opacity: 0; } } - -sup[id] { - scroll-margin-top: 4.5rem; } - -div.footnotes { - font-size: 0.875rem; } - -a.footnote-backref { - text-decoration: none; } - -li input[type="checkbox"] { - margin: 0.25rem; - border: 1px solid #ced4da; } - -li input[type="checkbox"]:disabled { - pointer-events: none; - filter: none; - opacity: 1; } - -li input[type="checkbox"]:checked { - background-color: #5d2f86; - border-color: #5d2f86; } - -[data-bs-theme="dark"] li input[type="checkbox"] { - border: 1px solid #6c757d; } - -[data-bs-theme="dark"] li input[type="checkbox"]:checked { - background-color: #b3c7ff; - border-color: #b3c7ff; - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231d2d35' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); } - -.content .svg-inline { - margin-bottom: 1.5rem; } - -.content .svg-inline:not(.svg-inline-custom) { - height: 1.875rem; - width: 1.875rem; - stroke-width: 1.5; } - -/* -.content .alert .icon { - stroke-width: 1; - margin-bottom: 0; - margin-right: 0.5rem; -} -*/ -.logo-netlify-large-fullcolor-darkmode { - display: none; } - -[data-bs-theme="dark"] .logo-netlify-large-fullcolor-lightmode { - display: none; } - -[data-bs-theme="dark"] .logo-netlify-large-fullcolor-darkmode { - display: block; } - -.svg-lightmode { - display: block; } - -.svg-darkmode { - display: none; } - -.svg-monochrome path { - fill: #1d2d35; } - -[data-bs-theme="dark"] .svg-lightmode { - display: none; } - -[data-bs-theme="dark"] .svg-darkmode { - display: block; } - -[data-bs-theme="dark"] .netlify-logo path, -[data-bs-theme="dark"] .netlify-monogram path { - fill: #fff; } - -[data-bs-theme="dark"] .svg-monochrome path { - fill: var(--sl-color-gray-1); } - -hr { - border-color: #808080; } - -[data-bs-theme="dark"] hr { - border-color: var(--sl-color-gray-3); } - -.container-fw { - min-width: 0; } - -.card-nav { - column-gap: 1rem; } - -.card-nav .card { - margin: 0.5rem 0; } - -.card-nav .card:hover { - border: 1px solid #d9d9d9; - background-color: var(--sl-color-gray-7); } - -[data-bs-theme="dark"] .card-nav .card { - border: 1px solid #353841; } - -[data-bs-theme="dark"] .card-nav .card:hover { - border: 1px solid #888c96; - background-color: var(--sl-color-gray-6); } - -.highlight > .chroma { - border: 1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); } - -/* Background */ -.bg { - background-color: var(--sl-color-gray-7); } - -/* PreWrapper */ -.chroma { - background-color: var(--sl-color-gray-7); } - -/* Other */ -/* Error */ -.chroma .err { - color: inherit; } - -/* CodeLine */ -/* LineLink */ -.chroma .lnlinks { - outline: none; - text-decoration: none; - color: inherit; } - -/* LineTableTD */ -.chroma .lntd { - vertical-align: top; - padding: 0; - margin: 0; - border: 0; } - -/* LineTable */ -.chroma .lntable { - border-spacing: 0; - padding: 0; - margin: 0; - border: 0; } - -/* LineHighlight */ -.chroma .hl { - background-color: #0000001a; } - -.chroma .hl { - border-inline-start: 0.15rem solid #00000055; - margin-left: -1rem; - margin-right: -1rem; - padding-left: 1rem; - padding-right: 1rem; } - .chroma .hl .ln { - margin-left: -0.15rem; } - -/* LineNumbersTable */ -.chroma .lnt { - white-space: pre; - -webkit-user-select: none; - user-select: none; - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #7f7f7f; } - -/* LineNumbers */ -.chroma .ln { - white-space: pre; - -webkit-user-select: none; - user-select: none; - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #7f7f7f; } - -/* Line */ -.chroma .line { - display: flex; } - -/* Keyword */ -.chroma .k { - color: #000000; - font-weight: bold; } - -/* KeywordConstant */ -.chroma .kc { - color: #000000; - font-weight: bold; } - -/* KeywordDeclaration */ -.chroma .kd { - color: #000000; - font-weight: bold; } - -/* KeywordNamespace */ -.chroma .kn { - color: #000000; - font-weight: bold; } - -/* KeywordPseudo */ -.chroma .kp { - color: #000000; - font-weight: bold; } - -/* KeywordReserved */ -.chroma .kr { - color: #000000; - font-weight: bold; } - -/* KeywordType */ -.chroma .kt { - color: #445588; - font-weight: bold; } - -/* Name */ -/* NameAttribute */ -.chroma .na { - color: #008080; } - -/* NameBuiltin */ -.chroma .nb { - color: #0086b3; } - -/* NameBuiltinPseudo */ -.chroma .bp { - color: #999999; } - -/* NameClass */ -.chroma .nc { - color: #445588; - font-weight: bold; } - -/* NameConstant */ -.chroma .no { - color: #008080; } - -/* NameDecorator */ -.chroma .nd { - color: #3c5d5d; - font-weight: bold; } - -/* NameEntity */ -.chroma .ni { - color: #800080; } - -/* NameException */ -.chroma .ne { - color: #990000; - font-weight: bold; } - -/* NameFunction */ -.chroma .nf { - color: #990000; - font-weight: bold; } - -/* NameFunctionMagic */ -/* NameLabel */ -.chroma .nl { - color: #990000; - font-weight: bold; } - -/* NameNamespace */ -.chroma .nn { - color: #555555; } - -/* NameOther */ -/* NameProperty */ -/* NameTag */ -.chroma .nt { - color: #000080; } - -/* NameVariable */ -.chroma .nv { - color: #008080; } - -/* NameVariableClass */ -.chroma .vc { - color: #008080; } - -/* NameVariableGlobal */ -.chroma .vg { - color: #008080; } - -/* NameVariableInstance */ -.chroma .vi { - color: #008080; } - -/* NameVariableMagic */ -/* Literal */ -/* LiteralDate */ -/* LiteralString */ -.chroma .s { - color: #dd1144; } - -/* LiteralStringAffix */ -.chroma .sa { - color: #dd1144; } - -/* LiteralStringBacktick */ -.chroma .sb { - color: #dd1144; } - -/* LiteralStringChar */ -.chroma .sc { - color: #dd1144; } - -/* LiteralStringDelimiter */ -.chroma .dl { - color: #dd1144; } - -/* LiteralStringDoc */ -.chroma .sd { - color: #dd1144; } - -/* LiteralStringDouble */ -.chroma .s2 { - color: #dd1144; } - -/* LiteralStringEscape */ -.chroma .se { - color: #dd1144; } - -/* LiteralStringHeredoc */ -.chroma .sh { - color: #dd1144; } - -/* LiteralStringInterpol */ -.chroma .si { - color: #dd1144; } - -/* LiteralStringOther */ -.chroma .sx { - color: #dd1144; } - -/* LiteralStringRegex */ -.chroma .sr { - color: #009926; } - -/* LiteralStringSingle */ -.chroma .s1 { - color: #dd1144; } - -/* LiteralStringSymbol */ -.chroma .ss { - color: #990073; } - -/* LiteralNumber */ -.chroma .m { - color: #009999; } - -/* LiteralNumberBin */ -.chroma .mb { - color: #009999; } - -/* LiteralNumberFloat */ -.chroma .mf { - color: #009999; } - -/* LiteralNumberHex */ -.chroma .mh { - color: #009999; } - -/* LiteralNumberInteger */ -.chroma .mi { - color: #009999; } - -/* LiteralNumberIntegerLong */ -.chroma .il { - color: #009999; } - -/* LiteralNumberOct */ -.chroma .mo { - color: #009999; } - -/* Operator */ -.chroma .o { - color: #000000; - font-weight: bold; } - -/* OperatorWord */ -.chroma .ow { - color: #000000; - font-weight: bold; } - -/* Punctuation */ -/* Comment */ -.chroma .c { - color: #999988; - font-style: italic; } - -/* CommentHashbang */ -.chroma .ch { - color: #999988; - font-style: italic; } - -/* CommentMultiline */ -.chroma .cm { - color: #999988; - font-style: italic; } - -/* CommentSingle */ -.chroma .c1 { - color: #999988; - font-style: italic; } - -/* CommentSpecial */ -.chroma .cs { - color: #999999; - font-weight: bold; - font-style: italic; } - -/* CommentPreproc */ -.chroma .cp { - color: #999999; - font-weight: bold; - font-style: italic; } - -/* CommentPreprocFile */ -.chroma .cpf { - color: #999999; - font-weight: bold; - font-style: italic; } - -/* Generic */ -/* GenericDeleted */ -.chroma .gd { - color: #000000; - background-color: #ffdddd; } - -/* GenericEmph */ -.chroma .ge { - color: inherit; - font-style: italic; } - -/* GenericError */ -.chroma .gr { - color: #aa0000; } - -/* GenericHeading */ -.chroma .gh { - color: #999999; } - -/* GenericInserted */ -.chroma .gi { - color: #000000; - background-color: #ddffdd; } - -/* GenericOutput */ -.chroma .go { - color: #888888; } - -/* GenericPrompt */ -.chroma .gp { - color: #555555; } - -/* GenericStrong */ -.chroma .gs { - font-weight: bold; } - -/* GenericSubheading */ -.chroma .gu { - color: #aaaaaa; } - -/* GenericTraceback */ -.chroma .gt { - color: #aa0000; } - -/* GenericUnderline */ -.chroma .gl { - text-decoration: underline; } - -/* TextWhitespace */ -.chroma .w { - color: #bbbbbb; } - -[data-bs-theme="dark"] { - /* Background */ - /* PreWrapper */ - /* Other */ - /* Error */ - /* CodeLine */ - /* LineLink */ - /* LineTableTD */ - /* LineTable */ - /* LineHighlight */ - /* LineNumbersTable */ - /* LineNumbers */ - /* Line */ - /* Keyword */ - /* KeywordConstant */ - /* KeywordDeclaration */ - /* KeywordNamespace */ - /* KeywordPseudo */ - /* KeywordReserved */ - /* KeywordType */ - /* Name */ - /* NameAttribute */ - /* NameBuiltin */ - /* NameBuiltinPseudo */ - /* NameClass */ - /* NameConstant */ - /* NameDecorator */ - /* NameEntity */ - /* NameException */ - /* NameFunction */ - /* NameFunctionMagic */ - /* NameLabel */ - /* NameNamespace */ - /* NameOther */ - /* NameProperty */ - /* NameTag */ - /* NameVariable */ - /* NameVariableClass */ - /* NameVariableGlobal */ - /* NameVariableInstance */ - /* NameVariableMagic */ - /* Literal */ - /* LiteralDate */ - /* LiteralString */ - /* LiteralStringAffix */ - /* LiteralStringBacktick */ - /* LiteralStringChar */ - /* LiteralStringDelimiter */ - /* LiteralStringDoc */ - /* LiteralStringDouble */ - /* LiteralStringEscape */ - /* LiteralStringHeredoc */ - /* LiteralStringInterpol */ - /* LiteralStringOther */ - /* LiteralStringRegex */ - /* LiteralStringSingle */ - /* LiteralStringSymbol */ - /* LiteralNumber */ - /* LiteralNumberBin */ - /* LiteralNumberFloat */ - /* LiteralNumberHex */ - /* LiteralNumberInteger */ - /* LiteralNumberIntegerLong */ - /* LiteralNumberOct */ - /* Operator */ - /* OperatorWord */ - /* Punctuation */ - /* Comment */ - /* CommentHashbang */ - /* CommentMultiline */ - /* CommentSingle */ - /* CommentSpecial */ - /* CommentPreproc */ - /* CommentPreprocFile */ - /* Generic */ - /* GenericDeleted */ - /* GenericEmph */ - /* GenericError */ - /* GenericHeading */ - /* GenericInserted */ - /* GenericOutput */ - /* GenericPrompt */ - /* GenericStrong */ - /* GenericSubheading */ - /* GenericTraceback */ - /* GenericUnderline */ - /* TextWhitespace */ } - [data-bs-theme="dark"] .highlight > .chroma { - border: 1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); } - [data-bs-theme="dark"] .bg { - color: #c9d1d9; - background-color: var(--sl-color-gray-6); } - [data-bs-theme="dark"] .chroma { - color: #c9d1d9; - background-color: var(--sl-color-gray-6); } - [data-bs-theme="dark"] .chroma .err { - color: inherit; } - [data-bs-theme="dark"] .chroma .lnlinks { - outline: none; - text-decoration: none; - color: inherit; } - [data-bs-theme="dark"] .chroma .lntd { - vertical-align: top; - padding: 0; - margin: 0; - border: 0; } - [data-bs-theme="dark"] .chroma .lntable { - border-spacing: 0; - padding: 0; - margin: 0; - border: 0; } - [data-bs-theme="dark"] .chroma .hl { - background-color: #ffffff17; } - [data-bs-theme="dark"] .chroma .hl { - border-inline-start: 0.15rem solid #ffffff40; - margin-left: -1rem; - margin-right: -1rem; - padding-left: 1rem; - padding-right: 1rem; } - [data-bs-theme="dark"] .chroma .hl .ln { - margin-left: -0.15rem; } - [data-bs-theme="dark"] .chroma .lnt { - white-space: pre; - -webkit-user-select: none; - user-select: none; - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #64686c; } - [data-bs-theme="dark"] .chroma .ln { - white-space: pre; - -webkit-user-select: none; - user-select: none; - margin-right: 0.4em; - padding: 0 0.4em 0 0.4em; - color: #6e7681; } - [data-bs-theme="dark"] .chroma .line { - display: flex; } - [data-bs-theme="dark"] .chroma .k { - color: #ff7b72; } - [data-bs-theme="dark"] .chroma .kc { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .kd { - color: #ff7b72; } - [data-bs-theme="dark"] .chroma .kn { - color: #ff7b72; } - [data-bs-theme="dark"] .chroma .kp { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .kr { - color: #ff7b72; } - [data-bs-theme="dark"] .chroma .kt { - color: #ff7b72; } - [data-bs-theme="dark"] .chroma .na { - color: #d2a8ff; } - [data-bs-theme="dark"] .chroma .nc { - color: #f0883e; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .no { - color: #79c0ff; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .nd { - color: #d2a8ff; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .ni { - color: #ffa657; } - [data-bs-theme="dark"] .chroma .ne { - color: #f0883e; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .nf { - color: #d2a8ff; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .nl { - color: #79c0ff; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .nn { - color: #ff7b72; } - [data-bs-theme="dark"] .chroma .py { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .nt { - color: #7ee787; } - [data-bs-theme="dark"] .chroma .nv { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .l { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .ld { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .s { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .sa { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .sb { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .sc { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .dl { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .sd { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .s2 { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .se { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .sh { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .si { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .sx { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .sr { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .s1 { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .ss { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .m { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .mb { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .mf { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .mh { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .mi { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .il { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .mo { - color: #a5d6ff; } - [data-bs-theme="dark"] .chroma .o { - color: inherit; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .ow { - color: #ff7b72; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .c { - color: #8b949e; - font-style: italic; } - [data-bs-theme="dark"] .chroma .ch { - color: #8b949e; - font-style: italic; } - [data-bs-theme="dark"] .chroma .cm { - color: #8b949e; - font-style: italic; } - [data-bs-theme="dark"] .chroma .c1 { - color: #8b949e; - font-style: italic; } - [data-bs-theme="dark"] .chroma .cs { - color: #8b949e; - font-weight: bold; - font-style: italic; } - [data-bs-theme="dark"] .chroma .cp { - color: #8b949e; - font-weight: bold; - font-style: italic; } - [data-bs-theme="dark"] .chroma .cpf { - color: #8b949e; - font-weight: bold; - font-style: italic; } - [data-bs-theme="dark"] .chroma .gd { - color: #ffa198; - background-color: #490202; } - [data-bs-theme="dark"] .chroma .ge { - font-style: italic; } - [data-bs-theme="dark"] .chroma .gr { - color: #ffa198; } - [data-bs-theme="dark"] .chroma .gh { - color: #79c0ff; - font-weight: bold; } - [data-bs-theme="dark"] .chroma .gi { - color: #56d364; - background-color: #0f5323; } - [data-bs-theme="dark"] .chroma .go { - color: #8b949e; } - [data-bs-theme="dark"] .chroma .gp { - color: #8b949e; } - [data-bs-theme="dark"] .chroma .gs { - font-weight: bold; } - [data-bs-theme="dark"] .chroma .gu { - color: #79c0ff; } - [data-bs-theme="dark"] .chroma .gt { - color: #ff7b72; } - [data-bs-theme="dark"] .chroma .gl { - text-decoration: underline; } - [data-bs-theme="dark"] .chroma .w { - color: #6e7681; } - -/** Theme styles */ -[data-bs-theme="dark"] { - /* -.dropdown-menu { - @extend .dropdown-menu-dark; -} -*/ - /* -.navbar-light .navbar-brand { - color: $navbar-dark-color !important; -} -*/ - /* -.navbar-form::after { - color: $gray-600; - border: 1px solid $gray-800; -} -*/ - /* -pre code::-webkit-scrollbar-thumb { - background: $gray-400; -} - -code:not(.hljs) { - background: $body-overlay-dark; - color: $body-color-dark; -} - -pre code:hover { - scrollbar-width: thin; - scrollbar-color: $border-dark transparent; -} - -pre code::-webkit-scrollbar-thumb:hover { - background: $gray-500; -} -*/ - /* -.dropdown-toggle:focus, -.doks-sidebar-toggle:focus { - box-shadow: 0 0 0 0.2rem $focus-color-dark; -} -*/ - /* -@include media-breakpoint-up(md) { - .alert-dismissible .btn-close { - background-size: 1.25rem; - } -} -*/ - /* -.btn-close:focus { - box-shadow: 0 0 0 0.2rem $focus-color-dark; -} -*/ } - [data-bs-theme="dark"] h1, [data-bs-theme="dark"] .h1, - [data-bs-theme="dark"] h2, - [data-bs-theme="dark"] .h2, - [data-bs-theme="dark"] h3, - [data-bs-theme="dark"] .h3, - [data-bs-theme="dark"] h4, - [data-bs-theme="dark"] .h4 { - color: white; } - [data-bs-theme="dark"] body { - background: #17181c; - color: #c1c3c8; } - [data-bs-theme="dark"] a { - color: #b3c7ff; } - [data-bs-theme="dark"] .callout a { - color: inherit; } - [data-bs-theme="dark"] a.text- { - color: #c1c3c8 !important; } - [data-bs-theme="dark"] .btn-primary { - --bs-btn-color: #000; - --bs-btn-bg: #b3c7ff; - --bs-btn-border-color: #b3c7ff; - --bs-btn-hover-color: #000; - --bs-btn-hover-bg: #becfff; - --bs-btn-hover-border-color: #bacdff; - --bs-btn-focus-shadow-rgb: 152, 169, 217; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #c2d2ff; - --bs-btn-active-border-color: #bacdff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; - --bs-btn-disabled-bg: #b3c7ff; - --bs-btn-disabled-border-color: #b3c7ff; - color: #17181c; } - [data-bs-theme="dark"] .btn-outline-primary { - --bs-btn-color: #b3c7ff; - --bs-btn-border-color: #b3c7ff; - --bs-btn-hover-color: #b3c7ff; - --bs-btn-hover-bg: #b3c7ff; - --bs-btn-hover-border-color: #b3c7ff; - --bs-btn-focus-shadow-rgb: 178.5, 198.9, 255; - --bs-btn-active-color: #000; - --bs-btn-active-bg: #b3c7ff; - --bs-btn-active-border-color: #b3c7ff; - --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #b3c7ff; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #b3c7ff; - --bs-gradient: none; - color: #b3c7ff; } - [data-bs-theme="dark"] .btn-outline-primary:hover { - color: #17181c; } - [data-bs-theme="dark"] .btn-doks-light { - color: #c1c3c8; } - [data-bs-theme="dark"] .show > .btn-doks-light, - [data-bs-theme="dark"] .btn-doks-light:hover, - [data-bs-theme="dark"] .btn-doks-light:active { - color: #b3c7ff; } - [data-bs-theme="dark"] .btn-menu svg { - color: #c1c3c8; } - [data-bs-theme="dark"] .doks-sidebar-toggle { - color: #c1c3c8; } - [data-bs-theme="dark"] .btn-menu:hover, - [data-bs-theme="dark"] .btn-doks-light:hover, - [data-bs-theme="dark"] .doks-sidebar-toggle:hover { - background: transparent; } - [data-bs-theme="dark"] .navbar, - [data-bs-theme="dark"] .doks-subnavbar { - background-color: rgba(23, 24, 28, 0.95); - border-bottom: 1px solid #23262f; } - [data-bs-theme="dark"] body.home .navbar { - border-bottom: 0; } - [data-bs-theme="dark"] .offcanvas-header { - border-bottom: 1px solid #343a40; } - [data-bs-theme="dark"] .offcanvas .nav-link, [data-bs-theme="dark"] .offcanvas .banner .nav a, .banner .nav [data-bs-theme="dark"] .offcanvas a { - color: #c1c3c8; } - [data-bs-theme="dark"] .offcanvas .nav-link:hover, [data-bs-theme="dark"] .offcanvas .banner .nav a:hover, .banner .nav [data-bs-theme="dark"] .offcanvas a:hover, - [data-bs-theme="dark"] .offcanvas .nav-link:focus, - [data-bs-theme="dark"] .offcanvas .banner .nav a:focus, - .banner .nav [data-bs-theme="dark"] .offcanvas a:focus { - color: #b3c7ff; } - [data-bs-theme="dark"] .offcanvas .nav-link.active, [data-bs-theme="dark"] .offcanvas .banner .nav a.active, .banner .nav [data-bs-theme="dark"] .offcanvas a.active { - color: #b3c7ff; } - [data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link, [data-bs-theme="dark"] .navbar-light .navbar-nav .banner .nav a, .banner .nav [data-bs-theme="dark"] .navbar-light .navbar-nav a { - color: #c1c3c8; } - [data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link:hover, [data-bs-theme="dark"] .navbar-light .navbar-nav .banner .nav a:hover, .banner .nav [data-bs-theme="dark"] .navbar-light .navbar-nav a:hover, - [data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link:focus, - [data-bs-theme="dark"] .navbar-light .navbar-nav .banner .nav a:focus, - .banner .nav [data-bs-theme="dark"] .navbar-light .navbar-nav a:focus { - color: #b3c7ff; } - [data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link.disabled, [data-bs-theme="dark"] .navbar-light .navbar-nav .banner .nav a.disabled, .banner .nav [data-bs-theme="dark"] .navbar-light .navbar-nav a.disabled { - color: rgba(255, 255, 255, 0.25); } - [data-bs-theme="dark"] .navbar-light .navbar-nav .show > .nav-link, [data-bs-theme="dark"] .navbar-light .navbar-nav .banner .nav .show > a, .banner .nav [data-bs-theme="dark"] .navbar-light .navbar-nav .show > a, - [data-bs-theme="dark"] .navbar-light .navbar-nav .active > .nav-link, - [data-bs-theme="dark"] .navbar-light .navbar-nav .banner .nav .active > a, - .banner .nav [data-bs-theme="dark"] .navbar-light .navbar-nav .active > a, - [data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link.show, - [data-bs-theme="dark"] .navbar-light .navbar-nav .banner .nav a.show, - .banner .nav [data-bs-theme="dark"] .navbar-light .navbar-nav a.show, - [data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link.active, - [data-bs-theme="dark"] .navbar-light .navbar-nav .banner .nav a.active, - .banner .nav [data-bs-theme="dark"] .navbar-light .navbar-nav a.active { - color: #b3c7ff; } - [data-bs-theme="dark"] .navbar-light .navbar-text { - color: #c1c3c8; } - [data-bs-theme="dark"] .alert-primary a { - color: #17181c; } - [data-bs-theme="dark"] .alert-doks { - background: #23262f; - color: #c1c3c8; } - [data-bs-theme="dark"] .alert-doks a { - color: #b3c7ff; } - [data-bs-theme="dark"] .page-links a { - color: #c1c3c8; } - [data-bs-theme="dark"] .btn-toggle-nav a { - color: #c1c3c8; } - [data-bs-theme="dark"] .showcase-meta a { - color: #c1c3c8; } - [data-bs-theme="dark"] .showcase-meta a:hover, - [data-bs-theme="dark"] .showcase-meta a:focus { - color: #b3c7ff; } - [data-bs-theme="dark"] .docs-link:hover, - [data-bs-theme="dark"] .docs-link.active, - [data-bs-theme="dark"] .page-links a:hover { - text-decoration: none; - color: #b3c7ff; } - [data-bs-theme="dark"] .btn-toggle { - color: #c1c3c8; - background-color: transparent; - border: 0; } - [data-bs-theme="dark"] .btn-toggle:hover, - [data-bs-theme="dark"] .btn-toggle:focus { - color: #c1c3c8; } - [data-bs-theme="dark"] .btn-toggle::before { - width: 1.25em; - line-height: 0; - content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28222, 226, 230, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e"); - transition: transform 0.35s ease; - transform-origin: 0.5em 50%; - margin-bottom: 0.125rem; } - [data-bs-theme="dark"] .btn-toggle[aria-expanded="true"] { - color: #c1c3c8; } - [data-bs-theme="dark"] .btn-toggle[aria-expanded="true"]::before { - transform: rotate(90deg); } - [data-bs-theme="dark"] .btn-toggle-nav a:hover, - [data-bs-theme="dark"] .btn-toggle-nav a:focus { - color: #b3c7ff; } - [data-bs-theme="dark"] .btn-toggle-nav a.active { - color: #b3c7ff; } - [data-bs-theme="dark"] .navbar-light .navbar-text a { - color: #b3c7ff; } - [data-bs-theme="dark"] .docs-links h3.sidebar-link a, [data-bs-theme="dark"] .docs-links .sidebar-link.h3 a, - [data-bs-theme="dark"] .page-links h3.sidebar-link a, - [data-bs-theme="dark"] .page-links .sidebar-link.h3 a { - color: #c1c3c8; } - [data-bs-theme="dark"] .navbar-light .navbar-text a:hover, - [data-bs-theme="dark"] .navbar-light .navbar-text a:focus { - color: #b3c7ff; } - [data-bs-theme="dark"] .navbar .btn-link { - color: #c1c3c8; } - [data-bs-theme="dark"] .content .btn-link { - color: #b3c7ff; } - [data-bs-theme="dark"] .content .btn-link:hover { - color: #b3c7ff; } - [data-bs-theme="dark"] .content img[src^="https://latex.codecogs.com/svg.latex"] { - filter: invert(1); } - [data-bs-theme="dark"] .navbar .btn-link:hover { - color: #b3c7ff; } - [data-bs-theme="dark"] .navbar .btn-link:active { - color: #b3c7ff; } - [data-bs-theme="dark"] .form-control.is-search, [data-bs-theme="dark"] .search-form .is-search.search-field, .search-form [data-bs-theme="dark"] .is-search.search-field, [data-bs-theme="dark"] .comment-form input.is-search[type="text"], .comment-form [data-bs-theme="dark"] input.is-search[type="text"], - [data-bs-theme="dark"] .comment-form input.is-search[type="email"], - .comment-form [data-bs-theme="dark"] input.is-search[type="email"], - [data-bs-theme="dark"] .comment-form input.is-search[type="url"], - .comment-form [data-bs-theme="dark"] input.is-search[type="url"], - [data-bs-theme="dark"] .comment-form textarea.is-search, - .comment-form [data-bs-theme="dark"] textarea.is-search { - background: #23262f; - border: 1px solid transparent; - color: #dee2e6; - /* - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); - */ } - [data-bs-theme="dark"] .form-control.is-search:focus, [data-bs-theme="dark"] .search-form .is-search.search-field:focus, .search-form [data-bs-theme="dark"] .is-search.search-field:focus, [data-bs-theme="dark"] .comment-form input.is-search[type="text"]:focus, .comment-form [data-bs-theme="dark"] input.is-search[type="text"]:focus, - [data-bs-theme="dark"] .comment-form input.is-search[type="email"]:focus, - .comment-form [data-bs-theme="dark"] input.is-search[type="email"]:focus, - [data-bs-theme="dark"] .comment-form input.is-search[type="url"]:focus, - .comment-form [data-bs-theme="dark"] input.is-search[type="url"]:focus, - [data-bs-theme="dark"] .comment-form textarea.is-search:focus, - .comment-form [data-bs-theme="dark"] textarea.is-search:focus { - border: 1px solid #b3c7ff; } - [data-bs-theme="dark"] .doks-search::after { - color: #dee2e6; - border: 1px solid #495057; } - [data-bs-theme="dark"] .text-dark { - color: #c1c3c8 !important; } - [data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .search-form .search-field, .search-form [data-bs-theme="dark"] .search-field, [data-bs-theme="dark"] .comment-form input[type="text"], .comment-form [data-bs-theme="dark"] input[type="text"], - [data-bs-theme="dark"] .comment-form input[type="email"], - .comment-form [data-bs-theme="dark"] input[type="email"], - [data-bs-theme="dark"] .comment-form input[type="url"], - .comment-form [data-bs-theme="dark"] input[type="url"], - [data-bs-theme="dark"] .comment-form textarea, - .comment-form [data-bs-theme="dark"] textarea { - color: #dee2e6; } - [data-bs-theme="dark"] .form-control::placeholder, [data-bs-theme="dark"] .search-form .search-field::placeholder, .search-form [data-bs-theme="dark"] .search-field::placeholder, [data-bs-theme="dark"] .comment-form input[type="text"]::placeholder, .comment-form [data-bs-theme="dark"] input[type="text"]::placeholder, - [data-bs-theme="dark"] .comment-form input[type="email"]::placeholder, - .comment-form [data-bs-theme="dark"] input[type="email"]::placeholder, - [data-bs-theme="dark"] .comment-form input[type="url"]::placeholder, - .comment-form [data-bs-theme="dark"] input[type="url"]::placeholder, - [data-bs-theme="dark"] .comment-form textarea::placeholder, - .comment-form [data-bs-theme="dark"] textarea::placeholder { - color: #ced4da; - opacity: 1; } - [data-bs-theme="dark"] .border-top { - border-top: 1px solid #23262f !important; } - @media (min-width: 992px) { - [data-bs-theme="dark"] .docs-sidebar { - order: 0; - border-right: 1px solid #23262f; } } - [data-bs-theme="dark"] .docs-navigation { - border-top: 1px solid #23262f; } - [data-bs-theme="dark"] blockquote { - border-left: 3px solid #23262f; } - [data-bs-theme="dark"] .footer { - border-top: 1px solid #23262f; } - [data-bs-theme="dark"] .docs-links, - [data-bs-theme="dark"] .docs-toc { - scrollbar-width: thin; - scrollbar-color: #17181c #17181c; } - [data-bs-theme="dark"] .docs-links::-webkit-scrollbar, - [data-bs-theme="dark"] .docs-toc::-webkit-scrollbar { - width: 5px; } - [data-bs-theme="dark"] .docs-links::-webkit-scrollbar-track, - [data-bs-theme="dark"] .docs-toc::-webkit-scrollbar-track { - background: #17181c; } - [data-bs-theme="dark"] .docs-links::-webkit-scrollbar-thumb, - [data-bs-theme="dark"] .docs-toc::-webkit-scrollbar-thumb { - background: #17181c; } - [data-bs-theme="dark"] .docs-links:hover, - [data-bs-theme="dark"] .docs-toc:hover { - scrollbar-width: thin; - scrollbar-color: #23262f #17181c; } - [data-bs-theme="dark"] .docs-links:hover::-webkit-scrollbar-thumb, - [data-bs-theme="dark"] .docs-toc:hover::-webkit-scrollbar-thumb { - background: #23262f; } - [data-bs-theme="dark"] .docs-links::-webkit-scrollbar-thumb:hover, - [data-bs-theme="dark"] .docs-toc::-webkit-scrollbar-thumb:hover { - background: #23262f; } - [data-bs-theme="dark"] .docs-links h3:not(:first-child), [data-bs-theme="dark"] .docs-links .h3:not(:first-child) { - border-top: 1px solid #23262f; } - [data-bs-theme="dark"] a.docs-link { - color: #c1c3c8; } - [data-bs-theme="dark"] .page-links li:not(:first-child) { - border-top: 1px dashed #23262f; } - [data-bs-theme="dark"] .card { - background: #17181c; - border: 1px solid #23262f; } - [data-bs-theme="dark"] .card.bg-light { - background: #23262f !important; } - [data-bs-theme="dark"] .navbar .menu-icon .navicon { - background: #c1c3c8; } - [data-bs-theme="dark"] .navbar .menu-icon .navicon::before, - [data-bs-theme="dark"] .navbar .menu-icon .navicon::after { - background: #c1c3c8; } - [data-bs-theme="dark"] .logo-light { - display: none !important; } - [data-bs-theme="dark"] .logo-dark { - display: inline-block !important; } - [data-bs-theme="dark"] .bg-light { - background: #141518 !important; } - [data-bs-theme="dark"] .bg-dots { - background-image: radial-gradient(#414349 15%, transparent 15%); } - [data-bs-theme="dark"] .text-muted { - color: #adafb6 !important; } - [data-bs-theme="dark"] .alert-primary { - background: #b3c7ff; - color: #17181c; } - [data-bs-theme="dark"] .figure-caption { - color: #c1c3c8; } - [data-bs-theme="dark"] .copy-status::after { - content: "Copy"; - display: block; - color: #c1c3c8; } - [data-bs-theme="dark"] .copy-status:hover::after { - content: "Copy"; - display: block; - color: #b3c7ff; } - [data-bs-theme="dark"] .copy-status:focus::after, - [data-bs-theme="dark"] .copy-status:active::after { - content: "Copied"; - display: block; - color: #b3c7ff; } - [data-bs-theme="dark"] .offcanvas { - background-color: #17181c; } - [data-bs-theme="dark"] .alert-dismissible .btn-close { - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNkZWUyZTYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLXgiPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+PC9zdmc+"); - background-size: 1.5rem; } - [data-bs-theme="dark"] .dropdown-item { - color: #17181c; } - [data-bs-theme="dark"] hr.text-black-50 { - color: #6c757d !important; } - [data-bs-theme="dark"] .email-form .form-control, [data-bs-theme="dark"] .email-form .search-form .search-field, .search-form [data-bs-theme="dark"] .email-form .search-field, [data-bs-theme="dark"] .email-form .comment-form input[type="text"], .comment-form [data-bs-theme="dark"] .email-form input[type="text"], - [data-bs-theme="dark"] .email-form .comment-form input[type="email"], - .comment-form [data-bs-theme="dark"] .email-form input[type="email"], - [data-bs-theme="dark"] .email-form .comment-form input[type="url"], - .comment-form [data-bs-theme="dark"] .email-form input[type="url"], - [data-bs-theme="dark"] .email-form .comment-form textarea, - .comment-form [data-bs-theme="dark"] .email-form textarea { - background: #23262f; - border: 1px solid transparent; } - [data-bs-theme="dark"] .email-form .form-control:focus, [data-bs-theme="dark"] .email-form .search-form .search-field:focus, .search-form [data-bs-theme="dark"] .email-form .search-field:focus, [data-bs-theme="dark"] .email-form .comment-form input[type="text"]:focus, .comment-form [data-bs-theme="dark"] .email-form input[type="text"]:focus, - [data-bs-theme="dark"] .email-form .comment-form input[type="email"]:focus, - .comment-form [data-bs-theme="dark"] .email-form input[type="email"]:focus, - [data-bs-theme="dark"] .email-form .comment-form input[type="url"]:focus, - .comment-form [data-bs-theme="dark"] .email-form input[type="url"]:focus, - [data-bs-theme="dark"] .email-form .comment-form textarea:focus, - .comment-form [data-bs-theme="dark"] .email-form textarea:focus { - border: 1px solid #b3c7ff; } - [data-bs-theme="dark"] .page-link { - color: #b3c7ff; - background-color: transparent; - border: var(--bs-border-width) solid #23262f; } - [data-bs-theme="dark"] .page-link:hover { - color: #17181c; - background-color: #c1c3c8; - border-color: #c1c3c8; } - [data-bs-theme="dark"] .page-link:focus { - color: #17181c; - background-color: #c1c3c8; } - [data-bs-theme="dark"] .page-item.active .page-link { - color: #17181c; - background-color: #b3c7ff; - border-color: #b3c7ff; } - [data-bs-theme="dark"] .page-item.disabled .page-link { - color: var(--bs-secondary-color); - background-color: #23262f; - border-color: #23262f; } - [data-bs-theme="dark"] .dropdown-menu { - background: #23262f; } - [data-bs-theme="dark"] .dropdown-menu .dropdown-item { - color: #c1c3c8; } - [data-bs-theme="dark"] .dropdown-menu .dropdown-item.untranslated { - color: #6c757d; - text-decoration: line-through; } - [data-bs-theme="dark"] .dropdown-menu .dropdown-item.untranslated:focus-visible, [data-bs-theme="dark"] .dropdown-menu .dropdown-item.untranslated:hover { - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-home' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='%23b3c7ff' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M5 12l-2 0l9 -9l9 9l-2 0' /%3E%3Cpath d='M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7' /%3E%3Cpath d='M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6' /%3E%3C/svg%3E"); - background-repeat: no-repeat; - background-position: right 1rem top 0.6rem; - background-size: 0.9rem 0.9rem; - text-decoration: unset; } - [data-bs-theme="dark"] .dropdown-menu .dropdown-item:hover { - color: #b3c7ff; - background: #17181c; } - [data-bs-theme="dark"] .dropdown-menu .dropdown-item.active, - [data-bs-theme="dark"] .dropdown-menu .dropdown-item:focus { - color: #b3c7ff; - background: #17181c; } - [data-bs-theme="dark"] .navbar .dropdown-item.current, - [data-bs-theme="dark"] .doks-subnavbar .dropdown-item.current { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23dee2e6' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right 1rem top 0.6rem; - background-size: 0.75rem 0.75rem; } - [data-bs-theme="dark"] details { - border: 1px solid #23262f; } - [data-bs-theme="dark"] summary:hover { - background: #23262f; } - [data-bs-theme="dark"] details[open] > summary { - border-bottom: 1px solid #23262f; } - [data-bs-theme="dark"] details summary::after { - content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28222, 226, 230, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e"); } - [data-bs-theme="dark"] #toc a.active { - color: #b3c7ff; } - [data-bs-theme="dark"] .btn-light { - color: #b3c7ff; - background: #23262f; - border: 1px solid #23262f; } - [data-bs-theme="dark"] table th { - color: white; } - [data-bs-theme="dark"] .table-dark, [data-bs-theme="dark"] table, - [data-bs-theme="dark"] [data-bs-theme="dark"] table { - --bs-table-color: inherit; - --bs-table-bg: $body-bg-dark; - background: #17181c; - border-color: #23262f; } - -.alert { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 0.875rem; } - -.alert-icon { - margin-right: 0.75rem; } - -.docs main .alert { - margin: 2rem -1.5rem; } - -.alert .alert-link { - text-decoration: underline; } - -.alert-doks { - background: #fbf7f0; - color: #1d2d35; } - -/* -.alert-light { - color: #215888; - background: linear-gradient(-45deg, rgb(212, 245, 255), rgb(234, 250, 255), rgb(234, 250, 255), #d3f6ef); -} - -.alert-light .alert-link { - color: #215888; -} -*/ -.alert-white { - background-color: rgba(255, 255, 255, 0.95); } - -.alert-primary { - color: #fff; - background-color: #3347ff; } - -.alert a { - text-decoration: underline; } - -.alert-primary .alert-link { - color: #fff; } - -/* -.alert-primary { - color: #084298; - background-color: #cfe2ff; - border-color: #b6d4fe; -} - -.alert-primary .alert-link { - color: #06357a; -} -*/ -.alert-secondary { - color: #41464b; - background-color: #e2e3e5; - border-color: #d3d6d8; } - -.alert-secondary .alert-link { - color: #34383c; } - -.alert-success { - color: #0f5132; - background-color: #d1e7dd; - border-color: #badbcc; } - -.alert-success .alert-link { - color: #0c4128; } - -.alert-info { - color: #055160; - background-color: #cff4fc; - border-color: #b6effb; } - -.alert-info .alert-link { - color: #04414d; } - -.alert-warning { - color: #664d03; - background-color: #fff3cd; - border-color: #ffecb5; } - -.alert-warning .alert-link { - color: #523e02; } - -.alert-danger { - color: #842029; - background-color: #f8d7da; - border-color: #f5c2c7; } - -.alert-danger .alert-link { - color: #6a1a21; } - -.alert-light { - color: #636464; - background-color: #fefefe; - border-color: #fdfdfe; } - -.alert-light .alert-link { - color: #4f5050; } - -.alert-dark { - color: #141619; - background-color: #d3d3d4; - border-color: #bcbebf; } - -.alert-dark .alert-link { - color: #101214; } - -.alert .alert-link:hover, -.alert .alert-link:focus { - text-decoration: none; } - -.alert-text { - margin-right: -3rem; - font-size: 1rem; } - -.alert-dismissible .btn-close { - position: absolute; - top: 50%; - transform: translateY(-50%); - right: 1rem; - z-index: 2; - padding: 0.5rem; - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); - background-size: 1.5rem; - filter: invert(1) grayscale(100%) brightness(200%); } - -.btn-close:focus, -.btn-close:active { - outline: none; - box-shadow: none; } - -@media (min-width: 768px) { - .alert-dismissible .btn-close { - background-size: 1.5rem; } } - -[data-global-alert="closed"] #announcement { - display: none; } - -.alert code { - background: #f6ecdc; - color: #1d2d35; - padding: 0.25rem 0.5rem; } - -.navbar .btn-link { - color: rgba(var(--bs-emphasis-color-rgb), 0.65); - padding: 0.4375rem 0; } - -#mode { - padding: 0.5rem; } - -.btn-link:focus { - outline: 0; - box-shadow: none; } - -#navigation { - margin-left: 1.25rem; } - -@media (min-width: 992px) { - #mode { - margin-left: 0.5rem; - margin-right: 0.25rem; } - .navbar .btn-link { - padding: 0.5625em 0.25rem 0.5rem 0.125rem; } } - -.navbar .btn-link:hover { - color: rgba(var(--bs-emphasis-color-rgb), 0.8); } - -.navbar .btn-link:active { - color: rgba(var(--bs-emphasis-color-rgb), 1); } - -body .toggle-dark { - display: block; } - -body .toggle-light { - display: none; } - -[data-dark-mode] body .toggle-light { - display: block; } - -[data-dark-mode] body .toggle-dark { - display: none; } - -.collapsible-sidebar { - margin: 2.125rem 0; } - -.btn-toggle { - display: inline-flex; - align-items: center; - padding: 0.25rem 0.5rem 0.25rem 0; - font-weight: 700; - font-size: 1rem; - text-transform: uppercase; - color: #1d2d35; - background-color: transparent; - border: 0; } - -.btn-toggle:hover, -.btn-toggle:focus { - color: #1d2d35; - background-color: transparent; - outline: 0; - box-shadow: none; } - -.btn-toggle::before { - width: 1.25em; - line-height: 0; - content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%2829, 45, 53, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e"); - transition: transform 0.35s ease; - transform-origin: 0.5em 50%; - margin-bottom: 0.125rem; } - -.btn-toggle[aria-expanded="true"] { - color: #1d2d35; } - -.btn-toggle[aria-expanded="true"]::before { - transform: rotate(90deg); } - -.btn-toggle-nav a { - display: inline-flex; - padding: 0.1875rem 0.5rem; - margin-top: 0.125rem; - margin-left: 1.25rem; - text-decoration: none; } - -.btn-toggle-nav a:hover, -.btn-toggle-nav a:focus { - background-color: transparent; - color: #3347ff; } - -.btn-toggle-nav a.active { - color: #3347ff; } - -@media (max-width: 991.98px) { - .dropdown-menu { - width: 100%; - position: static; } } - -/* -@include media-breakpoint-up(lg) { - .dropdown-menu { - width: auto; - } -} -*/ -.btn-dropdown { - border: 0; } - -@media (max-width: 991.98px) { - .btn-dropdown { - width: 100%; - text-align: left; - padding-left: 0; - padding-right: 0; } } - -.navbar .dropdown-item.current { - font-weight: 600; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right 1rem top 0.6rem; - background-size: 0.75rem 0.75rem; } - @media (max-width: 991.98px) { - .navbar .dropdown-item.current { - background-position: right 0.375rem top 0.6rem; } } -.btn-close { - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); - background-size: 1.5rem; } - -.offcanvas-header .btn-close { - margin-right: 0 !important; } - -.dropdown-toggle::after { - display: none; } - -.dropdown-caret { - margin-left: -0.1875rem; } - -.dropdown-menu .dropdown-item.untranslated { - color: #6c757d; - text-decoration: line-through; } - .dropdown-menu .dropdown-item.untranslated:focus-visible, .dropdown-menu .dropdown-item.untranslated:hover { - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-home' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='%233347ff' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M5 12l-2 0l9 -9l9 9l-2 0' /%3E%3Cpath d='M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7' /%3E%3Cpath d='M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6' /%3E%3C/svg%3E"); - background-repeat: no-repeat; - background-position: right 1rem top 0.6rem; - background-size: 0.9rem 0.9rem; - text-decoration: unset; } - -.dropdown-menu .dropdown-item:hover { - color: #3347ff; } - -.dropdown-menu span.dropdown-item.current:hover { - color: unset; } - -.clipboard { - position: relative; - float: right; } - -.btn-clipboard { - transition: opacity 0.25s ease-in-out; - opacity: 0; - position: absolute; - right: 0.5rem; - top: 0.5rem; - line-height: 1; - padding: 0.3125rem 0.3125rem 0.1875rem; - background-color: transparent; - border-color: transparent; } - @media (max-width: 767.98px) { - .btn-clipboard { - position: absolute; - right: -0.5rem; - top: 0.5rem; } } -.btn-clipboard::after { - width: 22px; - height: 22px; - display: inline-block; - content: ""; - -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%; - mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%; - -webkit-mask-size: cover; - mask-size: cover; - background-color: #495057; } - -.btn-clipboard:hover { - border-color: transparent; } - -.btn-clipboard:hover::after { - width: 22px; - height: 22px; - display: inline-block; - content: ""; - -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%; - mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%; - -webkit-mask-size: cover; - mask-size: cover; - background-color: #212529; } - -.btn-clipboard:focus, -.btn-clipboard:active { - border-color: transparent !important; } - -.btn-clipboard:focus::after, -.btn-clipboard:active::after { - width: 22px; - height: 22px; - display: inline-block; - content: ""; - -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%; - mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%; - -webkit-mask-size: cover; - mask-size: cover; - background-color: #212529; } - -[data-bs-theme="dark"] .btn-clipboard { - background-color: transparent; - border-color: transparent; } - -[data-bs-theme="dark"] .btn-clipboard::after { - background-color: #ced4da; } - -[data-bs-theme="dark"] .btn-clipboard:hover { - border-color: transparent; } - -[data-bs-theme="dark"] .btn-clipboard:hover::after { - background-color: #e9ecef; } - -[data-bs-theme="dark"] .btn-clipboard:focus, -[data-bs-theme="dark"] .btn-clipboard:active { - border-color: transparent; } - -[data-bs-theme="dark"] .btn-clipboard:focus::after, -[data-bs-theme="dark"] .btn-clipboard:active::after { - background-color: #e9ecef; } - -.highlight { - position: relative; } - -@media (min-width: 768px) { - .highlight:hover .btn-clipboard { - opacity: 1; } } - -#toTop { - opacity: 0; - transition: opacity 0.3s ease-in-out; } - -#toTop.fade { - opacity: 1; } - -.btn-cta { - padding-left: 2rem; - padding-right: 2rem; } - -.callout { - --bs-link-color-rgb: var(--callout-link); - --bs-code-color: var(--callout-code-color); - color: var(--callout-color, inherit); - background-color: var(--callout-bg, var(--bs-gray-100)); - border-left: 0.25rem solid var(--callout-border, var(--bs-gray-300)); - border-radius: 0; - /* - code { - background: transparent; - color: inherit; - } - */ } - .callout a { - text-decoration: underline; } - .callout .highlight { - background-color: rgba(0, 0, 0, 0.05); } - .callout .callout-icon.svg-inline { - flex-shrink: 0; - height: calc(1.5 * 1.125rem); } - .callout .callout-title { - font-weight: 700; } - -.callout-content { - min-width: 0; } - -.callout.callout-note { - border-color: var(--sl-color-blue); - background-color: var(--sl-color-blue-high); - /* - code:not(:where(.not-content *)) { - background: tint-color($info, 80%); - } - */ } - .callout.callout-note .callout-icon, - .callout.callout-note .callout-title, - .callout.callout-note .callout-body a { - color: var(--sl-color-blue-low); } - .callout.callout-note .callout-body, - .callout.callout-note .callout-body a:hover, - .callout.callout-note .callout-body a:active { - color: var(--sl-color-white); } - -.callout.callout-tip { - border-color: var(--sl-color-purple); - background-color: var(--sl-color-purple-high); - /* - code:not(:where(.not-content *)) { - background: tint-color($purple, 80%); - } - */ } - .callout.callout-tip .callout-icon, - .callout.callout-tip .callout-title, - .callout.callout-tip .callout-body a { - color: var(--sl-color-purple-low); } - .callout.callout-tip .callout-body, - .callout.callout-tip .callout-body a:hover, - .callout.callout-tip .callout-body a:active { - color: var(--sl-color-white); } - -.callout.callout-caution { - border-color: var(--sl-color-orange); - background-color: var(--sl-color-orange-high); - /* - code:not(:where(.not-content *)) { - background: tint-color($yellow, 80%); - } - */ } - .callout.callout-caution .callout-icon, - .callout.callout-caution .callout-title, - .callout.callout-caution .callout-body a { - color: var(--sl-color-orange-low); } - .callout.callout-caution .callout-body, - .callout.callout-caution .callout-body a:hover, - .callout.callout-caution .callout-body a:active { - color: var(--sl-color-white); } - -.callout.callout-danger { - border-color: var(--sl-color-red); - background-color: var(--sl-color-red-high); - /* - code:not(:where(.not-content *)) { - background: tint-color($red, 80%); - } - */ } - .callout.callout-danger .callout-icon, - .callout.callout-danger .callout-title, - .callout.callout-danger .callout-body a { - color: var(--sl-color-red-low); } - .callout.callout-danger .callout-body, - .callout.callout-danger .callout-body a:hover, - .callout.callout-danger .callout-body a:active { - color: var(--sl-color-white); } - -/* -.callout.callout-light code { - background: var(--sl-color-gray-1); -} -*/ -[data-bs-theme="dark"] .callout { - color: var(--sl-color-gray-1); } - -[data-bs-theme="dark"] .callout.callout-note { - border-color: var(--sl-color-blue); - background-color: var(--sl-color-blue-low); } - [data-bs-theme="dark"] .callout.callout-note .callout-icon, - [data-bs-theme="dark"] .callout.callout-note .callout-title, - [data-bs-theme="dark"] .callout.callout-note .callout-body a { - color: var(--sl-color-blue-high); } - [data-bs-theme="dark"] .callout.callout-note .callout-body, - [data-bs-theme="dark"] .callout.callout-note .callout-body a:hover, - [data-bs-theme="dark"] .callout.callout-note .callout-body a:active { - color: var(--sl-color-white); } - [data-bs-theme="dark"] .callout.callout-note code:not(:where(.not-content *)) { - color: var(--ec-codeFg); } - -[data-bs-theme="dark"] .callout.callout-tip { - border-color: var(--sl-color-purple); - background-color: var(--sl-color-purple-low); } - [data-bs-theme="dark"] .callout.callout-tip .callout-icon, - [data-bs-theme="dark"] .callout.callout-tip .callout-title, - [data-bs-theme="dark"] .callout.callout-tip .callout-body a { - color: var(--sl-color-purple-high); } - [data-bs-theme="dark"] .callout.callout-tip .callout-body, - [data-bs-theme="dark"] .callout.callout-tip .callout-body a:hover, - [data-bs-theme="dark"] .callout.callout-tip .callout-body a:active { - color: var(--sl-color-white); } - [data-bs-theme="dark"] .callout.callout-tip code:not(:where(.not-content *)) { - color: var(--ec-codeFg); } - -[data-bs-theme="dark"] .callout.callout-caution { - border-color: var(--sl-color-orange); - background-color: var(--sl-color-orange-low); } - [data-bs-theme="dark"] .callout.callout-caution .callout-icon, - [data-bs-theme="dark"] .callout.callout-caution .callout-title, - [data-bs-theme="dark"] .callout.callout-caution .callout-body a { - color: var(--sl-color-orange-high); } - [data-bs-theme="dark"] .callout.callout-caution .callout-body, - [data-bs-theme="dark"] .callout.callout-caution .callout-body a:hover, - [data-bs-theme="dark"] .callout.callout-caution .callout-body a:active { - color: var(--sl-color-white); } - [data-bs-theme="dark"] .callout.callout-caution code:not(:where(.not-content *)) { - color: var(--ec-codeFg); } - -[data-bs-theme="dark"] .callout.callout-danger { - border-color: var(--sl-color-red); - background-color: var(--sl-color-red-low); } - [data-bs-theme="dark"] .callout.callout-danger .callout-icon, - [data-bs-theme="dark"] .callout.callout-danger .callout-title, - [data-bs-theme="dark"] .callout.callout-danger .callout-body a { - color: var(--sl-color-red-high); } - [data-bs-theme="dark"] .callout.callout-danger .callout-body, - [data-bs-theme="dark"] .callout.callout-danger .callout-body a:hover, - [data-bs-theme="dark"] .callout.callout-danger .callout-body a:active { - color: var(--sl-color-white); } - [data-bs-theme="dark"] .callout.callout-danger code:not(:where(.not-content *)) { - color: var(--ec-codeFg); } - -.expressive-code { - font-family: var(--ec-uiFontFml); - font-size: var(--ec-uiFontSize); - line-height: var(--ec-uiLineHt); - text-size-adjust: none; - -webkit-text-size-adjust: none; - margin: 1.5rem 0; } - -.expressive-code *:not(path) { - all: revert; - box-sizing: border-box; } - -.expressive-code pre { - display: flex; - margin: 0; - padding: 0; - border: var(--ec-brdWd) solid var(--ec-brdCol); - border-radius: calc(var(--ec-brdRad) + var(--ec-brdWd)); - background: var(--ec-codeBg); } - -.expressive-code pre:focus-visible { - outline: 3px solid var(--ec-focusBrd); - outline-offset: -3px; } - -.expressive-code pre > code { - all: unset; - display: block; - flex: 1 0 100%; - padding: var(--ec-codePadBlk) 0; - color: var(--ec-codeFg); - font-family: var(--ec-codeFontFml); - font-size: var(--ec-codeFontSize); - line-height: var(--ec-codeLineHt); } - -.expressive-code pre { - overflow-x: auto; } - -.expressive-code pre::-webkit-scrollbar, -.expressive-code pre::-webkit-scrollbar-track { - background-color: inherit; - border-radius: calc(var(--ec-brdRad) + var(--ec-brdWd)); - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.expressive-code pre::-webkit-scrollbar-thumb { - background-color: var(--ec-sbThumbCol); - border: 4px solid transparent; - background-clip: content-box; - border-radius: 10px; } - -.expressive-code pre::-webkit-scrollbar-thumb:hover { - background-color: var(--ec-sbThumbHoverCol); } - -.expressive-code .ec-line { - padding-inline: var(--ec-codePadInl); - padding-inline-end: calc(2rem + var(--ec-codePadInl)); - direction: ltr; - unicode-bidi: isolate; } - -.expressive-code .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; } - -.expressive-code .ec-line.mark { - --tmLineBgCol: var(--ec-tm-markBg); - --tmLineBrdCol: var(--ec-tm-markBrdCol); } - -.expressive-code .ec-line.ins { - --tmLineBgCol: var(--ec-tm-insBg); - --tmLineBrdCol: var(--ec-tm-insBrdCol); } - -.expressive-code .ec-line.ins::before { - content: var(--ec-tm-insDiffIndContent); - color: var(--ec-tm-insDiffIndCol); } - -.expressive-code .ec-line.del { - --tmLineBgCol: var(--ec-tm-delBg); - --tmLineBrdCol: var(--ec-tm-delBrdCol); } - -.expressive-code .ec-line.del::before { - content: var(--ec-tm-delDiffIndContent); - color: var(--ec-tm-delDiffIndCol); } - -.expressive-code .ec-line.mark, -.expressive-code .ec-line.ins, -.expressive-code .ec-line.del { - position: relative; - background: var(--tmLineBgCol); - min-width: calc(100% - var(--ec-tm-lineMarkerAccentMarg)); - margin-inline-start: var(--ec-tm-lineMarkerAccentMarg); - border-inline-start: var(--ec-tm-lineMarkerAccentWd) solid var(--tmLineBrdCol); - padding-inline-start: calc(var(--ec-codePadInl) - var(--ec-tm-lineMarkerAccentMarg) - var(--ec-tm-lineMarkerAccentWd)) !important; } - -.expressive-code .ec-line.mark::before, -.expressive-code .ec-line.ins::before, -.expressive-code .ec-line.del::before { - position: absolute; - left: var(--ec-tm-lineDiffIndMargLeft); } - -.expressive-code .ec-line mark, .expressive-code .ec-line .mark { - --tmInlineBgCol: var(--ec-tm-markBg); - --tmInlineBrdCol: var(--ec-tm-markBrdCol); } - -.expressive-code .ec-line ins { - --tmInlineBgCol: var(--ec-tm-insBg); - --tmInlineBrdCol: var(--ec-tm-insBrdCol); } - -.expressive-code .ec-line del { - --tmInlineBgCol: var(--ec-tm-delBg); - --tmInlineBrdCol: var(--ec-tm-delBrdCol); } - -.expressive-code .ec-line mark, .expressive-code .ec-line .mark, -.expressive-code .ec-line ins, -.expressive-code .ec-line del { - all: unset; - display: inline-block; - position: relative; - --tmBrdL: var(--ec-tm-inlMarkerBrdWd); - --tmBrdR: var(--ec-tm-inlMarkerBrdWd); - --tmRadL: var(--ec-tm-inlMarkerBrdRad); - --tmRadR: var(--ec-tm-inlMarkerBrdRad); - margin-inline: 0.025rem; - padding-inline: var(--ec-tm-inlMarkerPad); - border-radius: var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL); - background: var(--tmInlineBgCol); - background-clip: padding-box; } - -.expressive-code .ec-line mark.open-start, .expressive-code .ec-line .open-start.mark, -.expressive-code .ec-line ins.open-start, -.expressive-code .ec-line del.open-start { - margin-inline-start: 0; - padding-inline-start: 0; - --tmBrdL: 0px; - --tmRadL: 0; } - -.expressive-code .ec-line mark.open-end, .expressive-code .ec-line .open-end.mark, -.expressive-code .ec-line ins.open-end, -.expressive-code .ec-line del.open-end { - margin-inline-end: 0; - padding-inline-end: 0; - --tmBrdR: 0px; - --tmRadR: 0; } - -.expressive-code .ec-line mark::before, .expressive-code .ec-line .mark::before, -.expressive-code .ec-line ins::before, -.expressive-code .ec-line del::before { - content: ""; - position: absolute; - pointer-events: none; - display: inline-block; - inset: 0; - border-radius: var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL); - border: var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol); - border-inline-width: var(--tmBrdL) var(--tmBrdR); } - -.expressive-code .frame { - all: unset; - position: relative; - display: block; - --header-border-radius: calc(var(--ec-brdRad) + var(--ec-brdWd)); - --tab-border-radius: calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd)); - --button-spacing: 0.4rem; - --code-background: var(--ec-frm-edBg); - border-radius: var(--header-border-radius); - box-shadow: var(--ec-frm-frameBoxShdCssVal); } - -.expressive-code .frame .header { - display: none; - z-index: 1; - position: relative; - border-radius: var(--header-border-radius) var(--header-border-radius) 0 0; } - -.expressive-code .frame.has-title pre, -.expressive-code .frame.has-title code, -.expressive-code .frame.is-terminal pre, -.expressive-code .frame.is-terminal code { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.expressive-code .frame .title:empty:before { - content: "\a0"; } - -.expressive-code .frame.has-title:not(.is-terminal) { - --button-spacing: calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt))); } - -.expressive-code .frame.has-title:not(.is-terminal) .title { - position: relative; - color: var(--ec-frm-edActTabFg); - background: var(--ec-frm-edActTabBg); - background-clip: padding-box; - margin-block-start: var(--ec-frm-edTabsMargBlkStart); - padding: calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl); - border: var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol); - border-radius: var(--tab-border-radius) var(--tab-border-radius) 0 0; - border-bottom: none; - overflow: hidden; } - -.expressive-code .frame.has-title:not(.is-terminal) .title::after { - content: ""; - position: absolute; - pointer-events: none; - inset: 0; - border-top: var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol); - border-bottom: var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol); } - -.expressive-code .frame.has-title:not(.is-terminal) .header { - display: flex; - background: linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)), linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg)); - background-repeat: no-repeat; - padding-inline-start: var(--ec-frm-edTabsMargInlStart); } - -.expressive-code .frame.has-title:not(.is-terminal) .header::before { - content: ""; - position: absolute; - pointer-events: none; - inset: 0; - border: var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol); - border-radius: inherit; - border-bottom: none; } - -.expressive-code .frame.is-terminal { - --button-spacing: calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk)); - --code-background: var(--ec-frm-trmBg); } - -.expressive-code .frame.is-terminal .header { - display: flex; - align-items: center; - justify-content: center; - padding-block: var(--ec-uiPadBlk); - padding-block-end: calc(var(--ec-uiPadBlk) + var(--ec-brdWd)); - position: relative; - font-weight: 500; - letter-spacing: 0.025ch; - color: var(--ec-frm-trmTtbFg); - background: var(--ec-frm-trmTtbBg); - border: var(--ec-brdWd) solid var(--ec-brdCol); - border-bottom: none; } - -.expressive-code .frame.is-terminal .header::before { - content: ""; - position: absolute; - pointer-events: none; - left: var(--ec-uiPadInl); - width: 2.1rem; - height: 0.56rem; - line-height: 0; - background-color: var(--ec-frm-trmTtbDotsFg); - opacity: var(--ec-frm-trmTtbDotsOpa); - -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E"); - -webkit-mask-repeat: no-repeat; - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E"); - mask-repeat: no-repeat; } - -.expressive-code .frame.is-terminal .header::after { - content: ""; - position: absolute; - pointer-events: none; - inset: 0; - border-bottom: var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol); } - -.expressive-code .frame pre { - background: var(--code-background); } - -.expressive-code .copy { - display: flex; - gap: 0.25rem; - flex-direction: row; - position: absolute; - inset-block-start: calc(var(--ec-brdWd) + var(--button-spacing)); - inset-inline-end: calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2); - direction: ltr; - unicode-bidi: isolate; } - -.expressive-code .copy button { - position: relative; - align-self: flex-end; - margin: 0; - padding: 0; - border: none; - border-radius: 0.2rem; - z-index: 1; - cursor: pointer; - transition-property: opacity, background, border-color; - transition-duration: 0.2s; - transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); - width: 2.5rem; - height: 2.5rem; - background: var(--code-background); - opacity: 0.75; } - -.expressive-code .copy button div { - position: absolute; - inset: 0; - border-radius: inherit; - background: var(--ec-frm-inlBtnBg); - opacity: var(--ec-frm-inlBtnBgIdleOpa); - transition-property: inherit; - transition-duration: inherit; - transition-timing-function: inherit; } - -.expressive-code .copy button::before { - content: ""; - position: absolute; - pointer-events: none; - inset: 0; - border-radius: inherit; - border: var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd); - opacity: var(--ec-frm-inlBtnBrdOpa); } - -.expressive-code .copy button::after { - content: ""; - position: absolute; - pointer-events: none; - inset: 0; - background-color: var(--ec-frm-inlBtnFg); - -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E"); - -webkit-mask-repeat: no-repeat; - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E"); - mask-repeat: no-repeat; - margin: 0.475rem; - line-height: 0; } - -.expressive-code .copy button:focus::after, -.expressive-code .copy button:active::after { - display: inline-block; - content: ""; - -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%; - mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%; - -webkit-mask-size: cover; - mask-size: cover; - margin: 0.2375rem; } - -.expressive-code .copy button:hover, -.expressive-code .copy button:focus:focus-visible { - opacity: 1; } - -.expressive-code .copy button:hover div, -.expressive-code .copy button:focus:focus-visible div { - opacity: var(--ec-frm-inlBtnBgHoverOrFocusOpa); } - -.expressive-code .copy button:active { - opacity: 1; } - -.expressive-code .copy button:active div { - opacity: var(--ec-frm-inlBtnBgActOpa); } - -.expressive-code .copy .feedback { - --tooltip-arrow-size: 0.35rem; - --tooltip-bg: var(--ec-frm-tooltipSuccessBg); - color: var(--ec-frm-tooltipSuccessFg); - pointer-events: none; - user-select: none; - -webkit-user-select: none; - position: relative; - align-self: center; - background-color: var(--tooltip-bg); - z-index: 99; - padding: 0.125rem 0.75rem; - border-radius: 0.2rem; - margin-inline-end: var(--tooltip-arrow-size); - opacity: 0; - transition-property: opacity, transform; - transition-duration: 0.2s; - transition-timing-function: ease-in-out; - transform: translate3d(0, 0.25rem, 0); } - -.expressive-code .copy .feedback::after { - content: ""; - position: absolute; - pointer-events: none; - top: calc(50% - var(--tooltip-arrow-size)); - inset-inline-end: calc(-2 * (var(--tooltip-arrow-size) - 0.5px)); - border: var(--tooltip-arrow-size) solid transparent; - border-inline-start-color: var(--tooltip-bg); } - -.expressive-code .copy .feedback.show { - opacity: 1; - transform: translate3d(0, 0, 0); } - -@media (hover: hover) { - .expressive-code .copy button { - opacity: 0; - width: 2rem; - height: 2rem; } - .expressive-code .frame:hover .copy button:not(:hover), - .expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover), - .expressive-code .frame .copy .feedback.show ~ button:not(:hover) { - opacity: 0.75; } } - -:root { - --ec-brdRad: 0px; - --ec-brdWd: 1px; - --ec-brdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-codeFontFml: var(--__sl-font-mono); - --ec-codeFontSize: var(--sl-text-code); - --ec-codeFontWg: 400; - --ec-codeLineHt: var(--sl-line-height); - --ec-codePadBlk: 0; - --ec-codePadInl: 1rem; - --ec-codeBg: #011627; - --ec-codeFg: #d6deeb; - --ec-codeSelBg: #1d3b53; - --ec-uiFontFml: var(--__sl-font); - --ec-uiFontSize: 0.9rem; - --ec-uiFontWg: 400; - --ec-uiLineHt: 1.65; - --ec-uiPadBlk: 0.25rem; - --ec-uiPadInl: 1rem; - --ec-uiSelBg: #234d708c; - --ec-uiSelFg: #ffffff; - --ec-focusBrd: #122d42; - --ec-sbThumbCol: #ffffff17; - --ec-sbThumbHoverCol: #ffffff49; - --ec-tm-lineMarkerAccentMarg: 0rem; - --ec-tm-lineMarkerAccentWd: 0.15rem; - --ec-tm-lineDiffIndMargLeft: 0.25rem; - --ec-tm-inlMarkerBrdWd: 1.5px; - --ec-tm-inlMarkerBrdRad: 0.2rem; - --ec-tm-inlMarkerPad: 0.15rem; - --ec-tm-insDiffIndContent: "+"; - --ec-tm-delDiffIndContent: "-"; - --ec-tm-markBg: #ffffff17; - --ec-tm-markBrdCol: #ffffff40; - --ec-tm-insBg: #1e571599; - --ec-tm-insBrdCol: #487f3bd0; - --ec-tm-insDiffIndCol: #79b169d0; - --ec-tm-delBg: #862d2799; - --ec-tm-delBrdCol: #b4554bd0; - --ec-tm-delDiffIndCol: #ed8779d0; - --ec-frm-shdCol: #011627; - --ec-frm-frameBoxShdCssVal: none; - --ec-frm-edActTabBg: var(--sl-color-gray-6); - --ec-frm-edActTabFg: var(--sl-color-text); - --ec-frm-edActTabBrdCol: transparent; - --ec-frm-edActTabIndHt: 1px; - --ec-frm-edActTabIndTopCol: var(--sl-color-accent-high); - --ec-frm-edActTabIndBtmCol: transparent; - --ec-frm-edTabsMargInlStart: 0; - --ec-frm-edTabsMargBlkStart: 0; - --ec-frm-edTabBrdRad: 0px; - --ec-frm-edTabBarBg: var(--sl-color-black); - --ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-frm-edTabBarBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-frm-edBg: var(--sl-color-gray-6); - --ec-frm-trmTtbDotsFg: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-frm-trmTtbDotsOpa: 0.75; - --ec-frm-trmTtbBg: var(--sl-color-black); - --ec-frm-trmTtbFg: var(--sl-color-text); - --ec-frm-trmTtbBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - --ec-frm-trmBg: var(--sl-color-gray-6); - --ec-frm-inlBtnFg: var(--sl-color-text); - --ec-frm-inlBtnBg: var(--sl-color-text); - --ec-frm-inlBtnBgIdleOpa: 0; - --ec-frm-inlBtnBgHoverOrFocusOpa: 0.2; - --ec-frm-inlBtnBgActOpa: 0.3; - --ec-frm-inlBtnBrd: var(--sl-color-text); - --ec-frm-inlBtnBrdOpa: 0.4; - --ec-frm-tooltipSuccessBg: #158744; - --ec-frm-tooltipSuccessFg: white; } - -.expressive-code .ec-line span[style^="--"]:not([class]) { - color: var(0, inherit); - font-style: var(0fs, inherit); - font-weight: var(0fw, inherit); - text-decoration: var(0td, inherit); } - -@media (prefers-color-scheme: light) { - :root:not([data-bs-theme="dark"]) { - --ec-codeBg: #fbfbfb; - --ec-codeFg: #403f53; - --ec-codeSelBg: #e0e0e0; - --ec-uiSelBg: #d3e8f8; - --ec-uiSelFg: #403f53; - --ec-focusBrd: #93a1a1; - --ec-sbThumbCol: #0000001a; - --ec-sbThumbHoverCol: #0000005c; - --ec-tm-markBg: #0000001a; - --ec-tm-markBrdCol: #00000055; - --ec-tm-insBg: #8ec77d99; - --ec-tm-insDiffIndCol: #336a28d0; - --ec-tm-delBg: #ff9c8e99; - --ec-tm-delDiffIndCol: #9d4138d0; - --ec-frm-shdCol: #d9d9d9; - --ec-frm-edActTabBg: var(--sl-color-gray-7); - --ec-frm-edActTabIndTopCol: #5d2f86; - --ec-frm-edTabBarBg: var(--sl-color-gray-6); - --ec-frm-edBg: var(--sl-color-gray-7); - --ec-frm-trmTtbBg: var(--sl-color-gray-6); - --ec-frm-trmBg: var(--sl-color-gray-7); - --ec-frm-tooltipSuccessBg: #078662; } - :root:not([data-bs-theme="dark"]) .expressive-code .ec-line span[style^="--"]:not([class]) { - color: var(1, inherit); - font-style: var(1fs, inherit); - font-weight: var(1fw, inherit); - text-decoration: var(1td, inherit); } } - -:root[data-bs-theme="light"] .expressive-code, -.expressive-code[data-bs-theme="light"] { - --ec-codeBg: #fbfbfb; - --ec-codeFg: #403f53; - --ec-codeSelBg: #e0e0e0; - --ec-uiSelBg: #d3e8f8; - --ec-uiSelFg: #403f53; - --ec-focusBrd: #93a1a1; - --ec-sbThumbCol: #0000001a; - --ec-sbThumbHoverCol: #0000005c; - --ec-tm-markBg: #0000001a; - --ec-tm-markBrdCol: #00000055; - --ec-tm-insBg: #8ec77d99; - --ec-tm-insDiffIndCol: #336a28d0; - --ec-tm-delBg: #ff9c8e99; - --ec-tm-delDiffIndCol: #9d4138d0; - --ec-frm-shdCol: #d9d9d9; - --ec-frm-edActTabBg: var(--sl-color-gray-7); - --ec-frm-edActTabIndTopCol: #5d2f86; - --ec-frm-edTabBarBg: var(--sl-color-gray-6); - --ec-frm-edBg: var(--sl-color-gray-7); - --ec-frm-trmTtbBg: var(--sl-color-gray-6); - --ec-frm-trmBg: var(--sl-color-gray-7); - --ec-frm-tooltipSuccessBg: #078662; } - -:root[data-bs-theme="light"] .expressive-code .ec-line span[style^="--"]:not([class]), -.expressive-code[data-bs-theme="light"] .ec-line span[style^="--"]:not([class]) { - color: var(1, inherit); - font-style: var(1fs, inherit); - font-weight: var(1fw, inherit); - text-decoration: var(1td, inherit); } - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 0.875rem; } - -code:not(:where(.not-content *)) { - background-color: var(--sl-color-gray-6); - margin-block: -0.125rem; - padding: 0.125rem 0.375rem; - color: inherit; } - -[data-bs-theme="dark"] code:not(:where(.not-content *)) { - background-color: var(--sl-color-gray-5); } - -/* -code { - background: $db-khaki-100; - - // background: $db-gray-200; - color: $db-bluishCyan-100; - padding: 0.25rem 0.5rem; -} - -pre { - margin: 2rem 0; -} - -pre code { - display: block; - overflow-x: auto; - line-height: $line-height-base; - padding: 1.25rem 1.5rem; - tab-size: 4; - scrollbar-width: thin; - scrollbar-color: transparent transparent; -} - -.hljs { - padding: 1.5rem !important; -} - -@include media-breakpoint-down(sm) { - pre, - code, - kbd, - samp { - border-radius: 0; - } - - pre { - margin: 2rem -1.5rem; - } -} - -pre code::-webkit-scrollbar { - height: 5px; -} - -pre code::-webkit-scrollbar-thumb { - background: $gray-400; -} - -pre code:hover { - scrollbar-width: thin; - scrollbar-color: $gray-500 transparent; -} - -pre code::-webkit-scrollbar-thumb:hover { - background: $gray-500; -} - -code.language-mermaid { - background: none; -} - -.line .ln { - margin-right: 1rem; -} - -.line.hl { - color: var(--sl-color-blue); -} - -@include color-mode(dark) { - .line.hl { - color: $yellow-100; - } -} -*/ -.math-block { - display: block; - margin: 2rem 0; - overflow-x: auto; } - -.math-inline { - display: inline; } - -[data-bs-theme="dark"] .math-inline img, -[data-bs-theme="dark"] .math-block img { - filter: invert(1); } - -img.diagram { - height: auto; - width: 100%; - margin: 1rem 0 2rem; } - -img.diagram-kroki-mermaid { - background: #fff; } - -/* Applies when there are no line numbers, or when line numbers are inline. */ -.highlight > pre { - padding: 0.875rem 1rem; } - -/* Applies when line numbers are in a table cell. */ -.highlight div { - padding: 0; } - -/* Applies to all. */ -.highlight > .chroma { - overflow-x: auto; - border: 1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); - /* add border-radius and box-shadow here */ } - -/* Applies when line numbers are inline */ -.chroma .ln { - padding: 0 0.5rem 0 0; } - -.chroma .hl { - border-inline-start: 0.15rem solid #0005; - margin-left: -1rem; - margin-right: -1rem; - padding-left: 1rem; - padding-right: 1rem; } - .chroma .hl .ln { - margin-left: -0.15rem; } - -/* Applies when using an external style sheet */ -.highlight .chroma .lntable .lnt, -.highlight .chroma .lntable .hl { - display: flex; } - -/* Applies when highlihting using table */ -.chroma .lntd:first-child { - padding: 0; } - .chroma .lntd:first-child .lnt { - padding-left: 1rem; } - -.chroma .lntd:nth-child(2) { - padding: 0; } - -/* Applies when using an external style sheet */ -.highlight .chroma .lntable .lntd + .lntd { - width: 100%; } - -[data-bs-theme="dark"] .chroma .ln { - padding: 0 0.5em 0 0; } - -/* LineTableTD */ -.chroma .lntd pre { - padding: 1rem 0; - margin-bottom: 0; } - -.highlight > .chroma::-webkit-scrollbar, -.highlight > .chroma::-webkit-scrollbar-track { - background-color: inherit; - border-radius: 1px; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.highlight > .chroma::-webkit-scrollbar-thumb { - background-color: #dddee0; - border: 4px solid transparent; - background-clip: content-box; - border-radius: 10px; } - -.highlight > .chroma::-webkit-scrollbar-thumb:hover { - background-color: #9d9e9f; } - -[data-bs-theme="dark"] .highlight > .chroma::-webkit-scrollbar-thumb { - background-color: #ffffff17; } - -[data-bs-theme="dark"] .highlight > .chroma::-webkit-scrollbar-thumb:hover { - background-color: #ffffff49; } - -/* -.chroma .hl { - background-color: #0000001a -} -*/ -[data-bs-theme="dark"] { - /* - .chroma .hl { - background-color: #ffffff17; - } - */ } - [data-bs-theme="dark"] .highlight > .chroma { - border: 1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%); } - [data-bs-theme="dark"] .chroma .hl { - border-inline-start: 0.15rem solid #ffffff40; - margin-left: -1rem; - margin-right: -1rem; - padding-left: 1rem; - padding-right: 1rem; } - [data-bs-theme="dark"] .chroma .hl .ln { - margin-left: -0.15rem; } - -.comment-list ol { - list-style: none; } - -blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; - border-left: 3px solid #dee2e6; - padding-left: 1rem; } - -details { - display: block; - position: relative; - border: 1px solid #e9ecef; - border-radius: 0.25rem; - padding: 0.5rem 1rem 0; - margin: 0.5rem 0; } - -/* -details summary { - &::marker { - content: ""; - } -} -*/ -summary { - list-style: none; - display: inline-block; - width: calc(100% + 2rem); - margin: -0.5rem -1rem 0; - padding: 0.5rem 1rem; } - -summary::-webkit-details-marker { - display: none; } - -summary:hover { - background: #f8f9fa; } - -details summary::after { - display: inline-block; - content: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%2829, 45, 53, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e"); - transition: transform 0.35s ease; - transform-origin: center center; - position: absolute; - right: 1rem; } - -details[open] > summary::after { - transform: rotate(90deg); } - -/* -details summary > * { - display: inline-block; -} -*/ -details[open] { - padding: 0.5rem 1rem; } - -details[open] > summary { - border-bottom: 1px solid #dee2e6; - margin-bottom: 0.5rem; } - -details h2, details .h2, -details h3, -details .h3, -details h4, -details .h4 { - margin: 1rem 0 0.5rem; } - -details p:last-child { - margin-bottom: 0; } - -details ul, -details ol { - margin-bottom: 0; } - -details pre { - margin: 0 0 1rem; } - -/** Search form */ -.search-form label { - font-weight: normal; } - -/* -figure { - margin: 0 0 1rem; - display: inline-block; -} - -figure img { - margin-bottom: 0.5rem; - line-height: 1; - max-width: 100%; - height: auto; -} - -figure figcaption { - margin: 0.25rem 0 0.75rem; - font-size: $font-size-sm; - color: #6c757d; -} - -.figure-caption { - margin: 0.25rem 0 0.75rem; -} - -figure.wide { - margin: 2rem -1.5rem; -} - -figure.wide .figure-caption { - margin: 0.25rem 1.5rem 0.75rem; -} - -@include media-breakpoint-up(md) { - figure.wide { - margin: 2rem -2.5rem; - } - - figure.wide .figure-caption { - margin: 0.25rem 2.5rem 0.75rem; - } -} - -@include media-breakpoint-up(lg) { - figure.wide { - margin: 2rem -5rem; - } - - figure.wide .figure-caption { - margin: 0.25rem 5rem 0.75rem; - } -} - -.blur-up { - filter: blur(5px); -} - -.blur-up.lazyloaded { - filter: unset; -} - -.img-simple { - margin-top: 0.375rem; - margin-bottom: 1.25rem; -} -*/ -img[data-sizes="auto"] { - display: block; - width: 100%; } - -.figure { - display: block; } - -.blur-up { - filter: blur(5px); - transition: filter 400ms; } - -.blur-up.lazyloaded { - filter: unset; } - -.content .gitpod-mark-monochrome.icon { - margin-bottom: 0.125rem; - margin-right: 0.5rem; } - -figcaption { - font-size: 1rem; - margin-top: 0.5rem; - font-style: italic; } - -.mermaid { - margin: 1.5rem 0; - padding: 1.5rem; } - -.mermaid svg { - height: auto; } - -.search-form .form-control:focus, .search-form .comment-form input[type="text"]:focus, .comment-form .search-form input[type="text"]:focus, -.search-form .comment-form input[type="email"]:focus, -.comment-form .search-form input[type="email"]:focus, -.search-form .comment-form input[type="url"]:focus, -.comment-form .search-form input[type="url"]:focus, -.search-form .comment-form textarea:focus, -.comment-form .search-form textarea:focus, .search-form .search-field:focus { - border: 2px solid #3347ff; } - -[data-bs-theme="dark"] .search-form .form-control:focus, [data-bs-theme="dark"] .search-form .comment-form input[type="text"]:focus, .comment-form [data-bs-theme="dark"] .search-form input[type="text"]:focus, -[data-bs-theme="dark"] .search-form .comment-form input[type="email"]:focus, -.comment-form [data-bs-theme="dark"] .search-form input[type="email"]:focus, -[data-bs-theme="dark"] .search-form .comment-form input[type="url"]:focus, -.comment-form [data-bs-theme="dark"] .search-form input[type="url"]:focus, -[data-bs-theme="dark"] .search-form .comment-form textarea:focus, -.comment-form [data-bs-theme="dark"] .search-form textarea:focus, [data-bs-theme="dark"] .search-form .search-field:focus { - border: 2px solid #b3c7ff; } - -[data-bs-theme="dark"] .search-form .btn-link { - color: #b3c7ff; } - -.search-form .btn-link, -.modal-body p.message, -.modal-footer { - font-size: 0.875rem; } - -.modal-body::-webkit-scrollbar { - width: 0.25rem; } - -.modal-body::-webkit-scrollbar-track { - background-color: #f1f1f1; } - -.modal-body::-webkit-scrollbar-thumb { - background-color: #c1c1c1; } - -[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-track { - background-color: #424242; } - -[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-thumb { - background-color: #686868; } - -@media (min-width: 768px) { - #searchModal .modal-dialog { - max-height: 40rem; } } - -.search-result h2, .search-result .h2 { - margin-top: 0; } - -.search-result a:focus { - /* - border-color: transparent; - box-shadow: 0; - */ - outline: 0 none; } - -.search-result .content { - margin-top: 0.5rem; - padding-top: 0 !important; - padding-bottom: 0 !important; } - -.search-result .card .content p { - margin-bottom: 0; } - -.search-result .card .content a { - position: relative; - z-index: 1; } - -.search-result:hover .card, -.search-result.selected .card { - background-color: #3347ff; - color: #fff; } - .search-result:hover .card .content a, - .search-result.selected .card .content a { - color: #fff; - text-decoration: underline; } - -[data-bs-theme="dark"] .search-result:hover .card, -[data-bs-theme="dark"] .search-result.selected .card { - background-color: #b3c7ff; - color: #23262f; } - [data-bs-theme="dark"] .search-result:hover .card .content a, - [data-bs-theme="dark"] .search-result.selected .card .content a { - color: #23262f; - text-decoration: underline; } - -[data-bs-theme="dark"] .search-result:hover .card h2, [data-bs-theme="dark"] .search-result:hover .card .h2, -[data-bs-theme="dark"] .search-result.selected .card h2, -[data-bs-theme="dark"] .search-result.selected .card .h2 { - color: #17181c; } - -.search-result .submitted { - font-size: 0.875rem; - margin-top: 0.5rem; } - -.navbar-form { - position: relative; } - -#suggestions { - position: absolute; - right: 0; - margin-top: 0.5rem; - width: calc(100vw - 3rem); - max-width: calc(400px - 3rem); - z-index: 1000; } - @media (min-width: 768px) { - #suggestions { - right: -2rem; } } - @media (min-width: 992px) { - #suggestions { - right: 0; } } -#suggestions a, -.suggestion__no-results { - padding: 0.75rem; - margin: 0 0.5rem; } - -#suggestions a { - display: block; - text-decoration: none; } - -#suggestions a:focus { - background: #f8f9fa; - outline: 0; } - -#suggestions div:not(:first-child) { - border-top: 1px dashed #e9ecef; } - -#suggestions div:first-child { - margin-top: 0.5rem; } - -#suggestions div:last-child { - margin-bottom: 0.5rem; } - -#suggestions a:hover { - background: #f8f9fa; } - -#suggestions span { - display: flex; - font-size: 1rem; } - -.suggestion__title { - font-weight: 700; - color: #b3c7ff; } - -.suggestion__description, -.suggestion__no-results { - color: #495057; } - -@media (min-width: 992px) { - #suggestions { - width: 31.125rem; - max-width: 31.125rem; } - #suggestions a { - display: flex; } - .suggestion__title { - width: 9rem; - padding-right: 1rem; - border-right: 1px solid #e9ecef; - display: inline-block; - text-align: right; } - .suggestion__description { - width: 19rem; - padding-left: 1rem; } } - -.section-nav { - padding-top: 2rem; } - .section-nav details { - border: 0; - padding: 0; - margin: 0.5rem 0; } - .section-nav details[open] { - padding: 0; } - .section-nav summary { - width: 100%; - padding: 0; - margin: 0; - font-weight: 700; } - .section-nav summary:hover { - background: none; } - .section-nav details[open] > summary { - border-bottom: 0; - margin-bottom: 0; } - .section-nav ul.list-nested details { - padding-left: 1rem; - margin-top: 0.5rem; } - .section-nav ul.list-nested li { - margin: 0; } - .section-nav a { - display: block; - margin: 0.5rem 0; - color: #1d2d35; - font-size: 1rem; - text-decoration: none; } - .section-nav a:hover, - .section-nav a:active { - color: #3347ff; } - .section-nav li.active a { - color: #3347ff; - font-weight: 500; } - .section-nav ul.list-nested li a { - padding-left: 1rem; } - .section-nav ul.list-nested { - border-left: 1px solid #e9ecef; } - -[data-bs-theme="dark"] .section-nav ul.list-nested { - border-left: 1px solid #23262f; } - -[data-bs-theme="dark"] .section-nav a { - color: #c1c3c8; } - -[data-bs-theme="dark"] .section-nav a:hover, -[data-bs-theme="dark"] .section-nav a:active { - color: var(--sl-color-text-accent); } - -[data-bs-theme="dark"] .section-nav li.active a { - color: var(--sl-color-text-accent); - font-weight: 500; } - -[data-bs-theme="dark"] .section-nav summary { - color: #fff; } - -table { - margin: 3rem 0; } - -.nav-tabs { - border-bottom: 0.0625rem solid #d8dee4; - margin-bottom: 1rem; } - -.nav-tabs .nav-link, .nav-tabs .banner .nav a, .banner .nav .nav-tabs a { - margin-bottom: -0.0625rem !important; - background: none; - border: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; - color: inherit; } - -.nav-tabs .nav-link:hover, .nav-tabs .banner .nav a:hover, .banner .nav .nav-tabs a:hover, -.nav-tabs .nav-link:focus, -.nav-tabs .banner .nav a:focus, -.banner .nav .nav-tabs a:focus { - isolation: isolate; - border-color: transparent; - color: var(--bs-emphasis-color); } - -.nav-tabs .nav-link.active, .nav-tabs .banner .nav a.active, .banner .nav .nav-tabs a.active, -.nav-tabs .nav-item.show .nav-link, -.nav-tabs .nav-item.show .banner .nav a, -.banner .nav .nav-tabs .nav-item.show a, -.nav-tabs .banner .nav li.show .nav-link, -.nav-tabs .banner .nav li.show a, -.banner .nav .nav-tabs li.show .nav-link, -.banner .nav .nav-tabs li.show a { - background-color: transparent; - border-color: transparent; - border-bottom: 0.125rem solid #3347ff; } - -[data-bs-theme="dark"] .nav-tabs { - border-bottom: 0.0625rem solid #343a40; } - -[data-bs-theme="dark"] .nav-tabs .nav-link.active, [data-bs-theme="dark"] .nav-tabs .banner .nav a.active, .banner .nav [data-bs-theme="dark"] .nav-tabs a.active, -[data-bs-theme="dark"] .nav-tabs .nav-item.show .nav-link, -[data-bs-theme="dark"] .nav-tabs .nav-item.show .banner .nav a, -.banner .nav [data-bs-theme="dark"] .nav-tabs .nav-item.show a, -[data-bs-theme="dark"] .nav-tabs .banner .nav li.show .nav-link, -[data-bs-theme="dark"] .nav-tabs .banner .nav li.show a, -.banner .nav [data-bs-theme="dark"] .nav-tabs li.show .nav-link, -.banner .nav [data-bs-theme="dark"] .nav-tabs li.show a { - border-bottom: 0.125rem solid #b3c7ff; } - -.footer { - border-top: 1px solid #e9ecef; - padding-top: 1.125rem; - padding-bottom: 1.125rem; } - .footer ul { - margin-bottom: 0; } - .footer li { - font-size: 0.875rem; - margin-bottom: 0; } - .footer .list-inline-item:not(:last-child) { - margin-right: 1rem; } - -@media (max-width: 991.98px) { - .footer .col-lg-8 { - margin-top: 0.25rem; - margin-bottom: 0.25rem; } } - -@media (min-width: 768px) { - .footer li { - font-size: 1rem; } } - -.fixed-bottom-right { - position: fixed; - right: 0; - bottom: 0; - z-index: 1000; } - -.navbar-text { - margin-left: 1rem; } - -.navbar-brand { - font-weight: 700; } - -.navbar-brand svg { - margin-right: 0.25rem; } - -[data-bs-theme="dark"] .navbar-brand { - color: inherit; } - -/* -.navbar-light .navbar-brand, -.navbar-light .navbar-brand:hover, -.navbar-light .navbar-brand:active { - color: $body-color; -} - -.navbar-light .navbar-nav .active .nav-link { - color: $primary; -} -*/ -.navbar { - z-index: 1000; - background-color: rgba(255, 255, 255, 0.95); - border-bottom: 1px solid #e9ecef; - /* - margin-top: 4px; - */ } - -@media (min-width: 992px) { - .navbar { - z-index: 1025; - /* - padding-top: 0.25rem; - padding-bottom: 0.25rem; - */ } } - -@media (min-width: 768px) { - .navbar-brand { - font-size: 1.375rem; } - .navbar-text { - margin-left: 1.25rem; } } - -/* -.navbar-nav { - flex-direction: row; -} -*/ -.nav-item, .banner .nav li { - margin-left: 0; } - -@media (max-width: 991.98px) { - .navbar .icon-tabler-chevron-down { - display: block; - float: right; - transform: rotate(270deg); - transition: transform 0.35s ease; } - .navbar .dropdown-toggle[aria-expanded="true"] .icon-tabler-chevron-down { - transform: rotate(360deg); } - .navbar-nav .dropdown-menu { - border: 0; } - /* - .navbar-nav .nav-item { - border-bottom: 1px solid rgba(52, 56, 65, 0.5); - font-family: $headings-font-family; - padding-top: 0.75rem; - padding-bottom: 0.75rem; - } - */ - .navbar-nav .nav-link, .navbar-nav .banner .nav a, .banner .nav .navbar-nav a { - font-weight: 400; } - .navbar-nav .dropdown-item { - font-weight: 300; } - .dropdown-toggle svg { - margin-top: 0.25rem; - margin-left: 0; } } - -@media (min-width: 768px) { - .nav-item, .banner .nav li { - margin-left: 0.5rem; } } - -/* -@include media-breakpoint-down(sm) { - .nav-item:first-child { - margin-left: 0; - } -} -*/ -/* -@include media-breakpoint-down(md) { - .navbar .container { - padding-left: 1.5rem; - padding-right: 1.5rem; - } -} -*/ -.break { - flex-basis: 100%; - height: 0; } - -span#doks-language-current { - margin-left: 0.1rem; } - -button#doks-languages { - margin: 0.25rem 0 0; } - @media (min-width: 992px) { - button#doks-languages { - margin: 0.25rem 0.5rem 0 0.25rem; } } -button#doks-versions { - margin: 0.25rem 0 0; } - @media (min-width: 992px) { - button#doks-versions { - margin: 0.25rem 0.5rem 0 0.25rem; } } -@media (max-width: 575.98px) { - .navbar .offcanvas.offcanvas-start, - .navbar .offcanvas.offcanvas-end { - width: 80vw; } } - -.offcanvas-header { - border-bottom: 1px solid #dee2e6; - padding-top: 1.0625rem; - padding-bottom: 0.8125rem; } - -h5.offcanvas-title, .offcanvas-title.h5 { - margin: 0; - color: inherit; } - -.offcanvas .nav-link, .offcanvas .banner .nav a, .banner .nav .offcanvas a { - color: #1d2d35; } - -/* -.doks-subnavbar { - background-color: rgba(255, 255, 255, 0.95); - border-bottom: 1px solid $gray-200; -} - -.doks-subnavbar .nav-link { - padding: 0.5rem 1.5rem 0.5rem 0; -} - -.doks-subnavbar .nav-link:first-child { - padding: 0.5rem 1.5rem 0.5rem 0; -} -*/ -.offcanvas .nav-link:hover, .offcanvas .banner .nav a:hover, .banner .nav .offcanvas a:hover, -.offcanvas .nav-link:focus, -.offcanvas .banner .nav a:focus, -.banner .nav .offcanvas a:focus { - color: #3347ff; } - -.offcanvas .nav-link.active, .offcanvas .banner .nav a.active, .banner .nav .offcanvas a.active { - color: #3347ff; } - -/* -.navbar { - background-color: rgba(255, 255, 255, 0.95); - border-bottom: 1px solid $gray-200; - margin-top: 4px; -} -*/ -.header-bar { - border-top: 4px solid; - border-image-source: linear-gradient(83.21deg, #ffe000 0%, #e55235 100%); - border-image-slice: 1; } - -[data-bs-theme="dark"] .header-bar { - border-top: 4px solid; - border-image-source: linear-gradient(83.21deg, var(--sl-color-accent) 0%, var(--sl-color-green) 100%); - border-image-slice: 1; } - -.offcanvas .header-bar { - margin-bottom: -4px; } - -.home .navbar { - border-bottom: 0; } - -/* -.navbar-form { - position: relative; - margin-top: 0.25rem; -} -*/ -@media (min-width: 992px) { - .navbar-brand { - margin-right: 0.75rem !important; } - .main-nav .nav-item:first-child .nav-link, .main-nav .banner .nav li:first-child .nav-link, .banner .nav .main-nav li:first-child .nav-link, .main-nav .nav-item:first-child .banner .nav a, .banner .nav .main-nav .nav-item:first-child a, .main-nav .banner .nav li:first-child a, .banner .nav .main-nav li:first-child a, - .social-nav .nav-item:first-child .nav-link, - .social-nav .banner .nav li:first-child .nav-link, - .banner .nav .social-nav li:first-child .nav-link, - .social-nav .nav-item:first-child .banner .nav a, - .banner .nav .social-nav .nav-item:first-child a, - .social-nav .banner .nav li:first-child a, - .banner .nav .social-nav li:first-child a { - padding-left: 0; } - .main-nav .nav-item:last-child .nav-link, .main-nav .banner .nav li:last-child .nav-link, .banner .nav .main-nav li:last-child .nav-link, .main-nav .nav-item:last-child .banner .nav a, .banner .nav .main-nav .nav-item:last-child a, .main-nav .banner .nav li:last-child a, .banner .nav .main-nav li:last-child a, - .social-nav .nav-item:last-child .nav-link, - .social-nav .banner .nav li:last-child .nav-link, - .banner .nav .social-nav li:last-child .nav-link, - .social-nav .nav-item:last-child .banner .nav a, - .banner .nav .social-nav .nav-item:last-child a, - .social-nav .banner .nav li:last-child a, - .banner .nav .social-nav li:last-child a { - padding-right: 0; } - /* - .doks-search { - max-width: 20rem; - margin-top: 0.125rem; - margin-bottom: 0.125rem; - } - */ - /* - .navbar-form { - margin-top: 0; - margin-left: 6rem; - margin-right: 1.5rem; - } - */ } - -.form-control.is-search, .comment-form input.is-search[type="text"], -.comment-form input.is-search[type="email"], -.comment-form input.is-search[type="url"], -.comment-form textarea.is-search, .search-form .is-search.search-field { - padding-right: 4rem; - border: 1px solid transparent; - background: #f8f9fa; } - @media (min-width: 768px) { - .form-control.is-search, .comment-form input.is-search[type="text"], - .comment-form input.is-search[type="email"], - .comment-form input.is-search[type="url"], - .comment-form textarea.is-search, .search-form .is-search.search-field { - width: calc(100% + 2rem); } } - @media (min-width: 992px) { - .form-control.is-search, .comment-form input.is-search[type="text"], - .comment-form input.is-search[type="email"], - .comment-form input.is-search[type="url"], - .comment-form textarea.is-search, .search-form .is-search.search-field { - width: 100%; } } -.form-control.is-search:focus, .comment-form input.is-search[type="text"]:focus, -.comment-form input.is-search[type="email"]:focus, -.comment-form input.is-search[type="url"]:focus, -.comment-form textarea.is-search:focus, .search-form .is-search.search-field:focus { - border: 1px solid #3347ff; } - -/* -.doks-search::after { - position: absolute; - top: 0.4625rem; - right: 0.5375rem; - display: flex; - align-items: center; - justify-content: center; - height: 1.5rem; - padding-right: 0.3125rem; - padding-left: 0.3125rem; - font-size: $font-size-base * 0.75; - color: $gray-700; - content: "Ctrl + /"; - border: 1px solid $gray-300; - border-radius: 0.25rem; - - @include media-breakpoint-up(md) { - right: -1.4625rem; - } - - @include media-breakpoint-up(lg) { - right: 0.3125rem; - } -} -*/ -/* -@include media-breakpoint-up(lg) { - .navbar-form { - margin-left: 15rem; - } -} - -@include media-breakpoint-up(xl) { - .navbar-form { - margin-left: 30rem; - } -} -*/ -/* -.form-control.is-search { -*/ -/* - padding-right: calc(1.5em + 0.75rem); - */ -/* - padding-right: 2.5rem; - background: $gray-100; - border: 0; - */ -/* - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-search'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); - */ -/* -} -*/ -/* -.navbar-form::after { - position: absolute; - top: 0.4625rem; - right: 0.5375rem; - display: flex; - align-items: center; - justify-content: center; - height: 1.5rem; - padding-right: 0.4375rem; - padding-left: 0.4375rem; - font-size: $font-size-base * 0.75; - color: $gray-700; - content: "/"; - border: 1px solid $gray-300; - border-radius: 0.25rem; -} -*/ -/*! purgecss start ignore */ -/* -.algolia-autocomplete { - display: flex !important; -} - -.algolia-autocomplete .ds-dropdown-menu { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -@include media-breakpoint-down(sm) { - .algolia-autocomplete .ds-dropdown-menu { - max-width: 512px !important; - min-width: 312px !important; - width: auto !important; - } - - .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column { - font-weight: normal; - } - - .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column::after { - content: "/"; - margin-right: 0.25rem; - } -} - -.algolia-autocomplete .algolia-docsearch-suggestion--category-header { - color: $link-color-dark; -} - -.algolia-autocomplete .algolia-docsearch-suggestion--title { - margin-bottom: 0; -} - -.algolia-autocomplete .algolia-docsearch-suggestion--highlight { - padding: 0 0.05em; -} - -.algolia-autocomplete .algolia-docsearch-footer { - margin-top: 1rem; - margin-right: 0.5rem; - margin-bottom: 0.5rem; -} -*/ -/*! purgecss end ignore */ -/* - * Source: https://medium.com/creative-technology-concepts-code/responsive-mobile-dropdown-navigation-using-css-only-7218e4498a99 -*/ -/* Style the menu icon for the dropdown */ -.navbar .menu-icon { - cursor: pointer; - /* display: inline-block; */ - /* float: right; */ - padding: 1.125rem 0.625rem; - margin: 0 0 0 -0.625rem; - /* position: relative; */ - user-select: none; } - -.navbar .menu-icon .navicon { - background: rgba(var(--bs-emphasis-color-rgb), 0.65); - display: block; - height: 2px; - position: relative; - transition: background 0.2s ease-out; - width: 18px; } - -.navbar .menu-icon .navicon::before, -.navbar .menu-icon .navicon::after { - background: rgba(var(--bs-emphasis-color-rgb), 0.65); - content: ""; - display: block; - height: 100%; - position: absolute; - transition: all 0.2s ease-out; - width: 100%; } - -.navbar .menu-icon .navicon::before { - top: 5px; } - -.navbar .menu-icon .navicon::after { - top: -5px; } - -/* Add the icon and menu animations when the checkbox is clicked */ -.navbar .menu-btn { - display: none; } - -.navbar .menu-btn:checked ~ .navbar-collapse { - display: block; - max-height: 100vh; } - -.navbar .menu-btn:checked ~ .menu-icon .navicon { - background: transparent; } - -.navbar .menu-btn:checked ~ .menu-icon .navicon::before { - transform: rotate(-45deg); } - -.navbar .menu-btn:checked ~ .menu-icon .navicon::after { - transform: rotate(45deg); } - -.navbar .menu-btn:checked ~ .menu-icon:not(.steps) .navicon::before, -.navbar .menu-btn:checked ~ .menu-icon:not(.steps) .navicon::after { - top: 0; } - -.btn-menu { - margin-left: 1rem; - border: transparent; } - -.btn-doks-light { - border: transparent; } - -.btn-menu, -.doks-sidebar-toggle { - padding-right: 0.25rem; - padding-left: 0.25rem; - margin-right: -0.5rem; } - -.btn-menu:hover, -.btn-doks-light:hover, -.doks-sidebar-toggle:hover { - background: transparent; - border: transparent; } - -.btn-menu:focus, -.btn-doks-light:focus, -.doks-sidebar-toggle:focus, -.doks-mode-toggle:focus { - outline: 0; - border: transparent; } - -.doks-sidebar-toggle .doks-collapse, -.doks-toc-toggle .doks-collapse { - display: none; } - -.doks-sidebar-toggle:not(.collapsed) .doks-expand, -.doks-toc-toggle:not(.collapsed) .doks-expand { - display: none; } - -.doks-sidebar-toggle:not(.collapsed) .doks-collapse, -.doks-toc-toggle:not(.collapsed) .doks-collapse { - display: inline-block; } - -.navbar-light .navbar-brand, -.navbar-light .navbar-brand:hover, -.navbar-light .navbar-brand:active { - color: #1d2d35; } - -.navbar-light .navbar-nav .active .nav-link, .navbar-light .navbar-nav .active .banner .nav a, .banner .nav .navbar-light .navbar-nav .active a { - color: #3347ff; } - -.dropdown-divider { - border-top: 1px dashed #e9ecef; } - -.dropdown-item:hover { - background: #f8f9fa; } - -.dropdown-item:active { - color: inherit; } - -.social-link { - padding-right: 0.375rem; - padding-left: 0.375rem; } - -@media (max-width: 991.98px) { - #buttonColorMode { - margin: 0.5rem 0; } - #socialMenu { - margin: 0.5rem 0 0.5rem -0.25rem; } - .navbar-nav { - margin-top: 1rem; } - .dropdown-menu { - box-shadow: none !important; - background: transparent !important; - border-radius: 0 !important; - padding: 0; - margin-bottom: 0.25rem; } - .dropdown-item { - padding: 0.375rem 1rem 0.375rem 0; } - .nav-item .nav-link, .banner .nav li .nav-link, .nav-item .banner .nav a, .banner .nav .nav-item a, .banner .nav li a { - font-weight: 400; - font-size: 1.125rem; } - .btn-dropdown { - font-weight: 400; - font-size: 1.125rem; } } - -/* -@include media-breakpoint-up(lg) { - // Source: https://bootstrap-menu.com/detail-basic-hover.html - .navbar .nav-item .dropdown-menu { - display: none; - } - - .navbar .nav-item:hover .dropdown-menu { - display: block; - } -} -*/ -.modal-backdrop, -.offcanvas-backdrop { - visibility: hidden; - background: rgba(23, 24, 28, 0.5); - opacity: 0; } - -[data-bs-theme="dark"] .modal-backdrop, -[data-bs-theme="dark"] .offcanvas-backdrop { - visibility: hidden; - background: rgba(23, 24, 28, 0.5); - opacity: 0; } - -.modal-backdrop.show, -.offcanvas-backdrop.show { - visibility: visible; - opacity: 1; - -webkit-backdrop-filter: blur(8px); - backdrop-filter: blur(8px); } - -.showing, -.hiding { - -webkit-transition: none; - transition: none; - display: none; } - -.offcanvas-top.h-auto { - bottom: initial; } - -.navbar > .container, -.navbar > .container-fluid, -.navbar > .container-sm, -.navbar > .container-md, -.navbar > .container-lg, -.navbar > .container-xl, -.navbar > .container-xxl { - padding-right: 0.75rem; } - -.docs-content > h2[id]::before, .docs-content > [id].h2::before, -.docs-content > h3[id]::before, -.docs-content > [id].h3::before, -.docs-content > h4[id]::before, -.docs-content > [id].h4::before { - display: block; - height: 6rem; - margin-top: -6rem; - content: ""; } - -.docs-content ul, -.docs-content ol { - margin-bottom: 1rem; } - -.anchor { - visibility: hidden; - margin-left: 0.375rem; } - -.edit-page a, -.last-modified a { - color: var(--sl-color-gray-3); } - -h1:hover a, .h1:hover a, -h2:hover a, -.h2:hover a, -h3:hover a, -.h3:hover a, -h4:hover a, -.h4:hover a { - visibility: visible; - text-decoration: none; } - -.card-list { - margin-top: 2.25rem; } - -.page-footer-meta { - margin-top: 2rem; - margin-bottom: 2rem; } - -.edit-page, -.last-modified { - font-size: 0.875rem; - margin-top: 0.25rem; - margin-bottom: 0.25rem; } - -@media (min-width: 768px) { - .edit-page, - .last-modified { - font-size: 1rem; - margin-top: 0.75rem; - margin-bottom: 0.25rem; } } - -.edit-page a:hover, -.last-modified a:hover { - color: var(--sl-color-gray-4); - text-decoration: none; } - -[data-bs-theme="dark"] .edit-page a:hover, -[data-bs-theme="dark"] .last-modified a:hover { - color: var(--sl-color-gray-2); } - -.edit-page svg, -.last-modified svg { - margin-right: 0.25rem; - margin-bottom: 0.25rem; } - -p.meta { - margin-top: 0.5rem; - font-size: 1rem; } - -.breadcrumb { - margin-top: 2.25rem; - font-size: 1rem; } - -.toc-mobile { - margin-top: 2rem; - margin-bottom: 2rem; } - -.page-link:hover { - text-decoration: none; } - -.row-about { - padding-top: 5rem; - padding-bottom: 5rem; } - @media (min-width: 992px) { - .row-about { - padding-top: 7rem; - padding-bottom: 7rem; } } -.row-about h1, .row-about .h1 { - margin-top: 1rem; } - -ul li { - margin: 0.25rem 0; } - -.list-contributors { - margin-left: 1.25rem; } - -.list-contributors li { - margin: 0.25rem 0 0.25rem -1.5rem; - padding: 0.25rem; - background-color: #fff; - border-radius: 50%; } - -[data-bs-theme="dark"] .list-contributors li { - background-color: #212529; } - -ul.list-toolbox li { - position: relative; - margin: 0.25rem 0; } - ul.list-toolbox li::before { - background: none; - content: "🧰"; - height: 1rem; - width: 1rem; - position: absolute; - left: -2rem; - top: 0; } - -ul.list-books li { - position: relative; - margin: 0.25rem 0; } - ul.list-books li::before { - background: none; - content: "📚"; - height: 1rem; - width: 1rem; - position: absolute; - left: -2rem; - top: 0; } - -ul.list-speech-balloon li { - position: relative; - margin: 0.25rem 0; } - ul.list-speech-balloon li::before { - background: none; - content: "💬"; - height: 1rem; - width: 1rem; - position: absolute; - left: -2rem; - top: 0; } - -ul.list-package li { - position: relative; - margin: 0.25rem 0; } - ul.list-package li::before { - background: none; - content: "📦"; - height: 1rem; - width: 1rem; - position: absolute; - left: -2rem; - top: 0; } - -ul.list-star li { - position: relative; - margin: 0.25rem 0; } - ul.list-star li::before { - background: none; - content: "⭐"; - height: 1rem; - width: 1rem; - position: absolute; - left: -2rem; - top: 0; } - -.page-nav .card .icon-tabler-arrow-left { - margin-right: 0.75rem; } - -.page-nav .card .icon-tabler-arrow-right { - margin-left: 0.75rem; } - -.page-nav .card:hover { - border: 1px solid #d9d9d9; } - -[data-bs-theme="dark"] .page-nav .card { - border: 1px solid #353841; } - -[data-bs-theme="dark"] .page-nav .card:hover { - border: 1px solid #888c96; } - -.container-fw { - max-width: 1200px; } - .container-fw .docs-toc { - margin-left: 3rem; } - -.home .card, -.contributors.list .card, -.blog.list .card, -.blog.single .card, -.categories.list .card, -.tags.list .card { - margin-top: 2rem; - margin-bottom: 2rem; - transition: transform 0.3s; } - -.home .content .card:hover, -.contributors.list .content .card:hover, -.blog.list .content .card:hover, -.blog.single .content .card:hover, -.categories.list .content .card:hover, -.tags.list .content .card:hover { - transform: scale(1.025); } - -.contributors.list .card.card-terms:hover, -.categories.list .card.card-terms:hover, -.tags.list .card.card-terms:hover { - transform: none; } - -.home .content .card-body, -.contributors.list .content .card-body, -.blog.list .content .card-body, -.blog.single .content .card-body, -.categories.list .content .card-body, -.tags.list .content .card-body { - padding: 0 2rem 1rem; } - -.contributors.list .card-terms .card-body, -.categories.list .card-terms .card-body, -.tags.list .card-terms .card-body { - padding: 1rem; } - -.blog-header { - text-align: center; - margin-bottom: 2rem; } - -.blog-footer { - text-align: center; } - -.related-posts { - margin-top: 4rem; } - -h2.section-title, .section-title.h2 { - margin-bottom: 1.25rem; } - -.img-post-single { - margin-bottom: 2rem; } - -.pagination { - display: flex; - justify-content: center; } - -.page-item:first-child, -.page-item:last-child, -.page-item.disabled { - display: none; } - -.page-item a { - margin-left: 0.5rem; - margin-right: 0.5rem; - padding-left: 0.875rem; - padding-right: 0.875rem; } - -.page-item a[aria-label="Previous"], -.page-item a[aria-label="Next"] { - border-radius: 50%; } - -.tag-list-single { - margin-top: 3rem; - margin-bottom: 1rem; } - -.section-related { - padding-top: 1.5rem; - padding-bottom: 1.5rem; } - -.contributor-image { - text-align: center; - margin-top: 2.5rem; } - -span.reading-time { - margin-left: 2rem; } - span.reading-time svg { - margin-right: 0.3rem; - vertical-align: -0.4rem; } - -.docs-links, -.docs-toc { - scrollbar-width: thin; - scrollbar-color: #fff #fff; } - -.docs-links::-webkit-scrollbar, -.docs-toc::-webkit-scrollbar { - width: 5px; } - -.docs-links::-webkit-scrollbar-track, -.docs-toc::-webkit-scrollbar-track { - background: #fff; } - -.docs-links::-webkit-scrollbar-thumb, -.docs-toc::-webkit-scrollbar-thumb { - background: #fff; } - -.docs-links:hover, -.docs-toc:hover { - scrollbar-width: thin; - scrollbar-color: #e9ecef #fff; } - -.docs-links:hover::-webkit-scrollbar-thumb, -.docs-toc:hover::-webkit-scrollbar-thumb { - background: #e9ecef; } - -.docs-links::-webkit-scrollbar-thumb:hover, -.docs-toc::-webkit-scrollbar-thumb:hover { - background: #e9ecef; } - -.docs-links h3, .docs-links .h3, -.page-links h3, -.page-links .h3 { - font-size: 1.125rem; - margin: 1.25rem 0 0.5rem; - padding: 1.5rem 0 0; } - -@media (min-width: 992px) { - .docs-links h3, .docs-links .h3, - .page-links h3, - .page-links .h3 { - margin: 1.125rem 1.5rem 0.75rem 0; - padding: 1.375rem 0 0; } } - -.docs-links h3:not(:first-child), .docs-links .h3:not(:first-child) { - border-top: 1px solid #e9ecef; } - -a.docs-link { - color: #1d2d35; - display: block; - padding: 0.125rem 0; - font-size: 1rem; } - -.page-links li { - margin-top: 0.375rem; - padding-top: 0.375rem; } - -.page-links li ul li { - border-top: none; - padding-left: 1rem; - margin-top: 0.125rem; - padding-top: 0.125rem; } - -.page-links li:not(:first-child) { - border-top: 1px dashed #e9ecef; } - -.page-links a { - color: #1d2d35; - display: block; - padding: 0.125rem 0; - font-size: 0.9375rem; - text-decoration: none; } - -.docs-link:hover, -.docs-link.active, -.page-links a:hover, -.page-links a.active { - text-decoration: none; - color: #3347ff; } - -.nav-link.active, .banner .nav a.active, -.dropdown-menu-main .dropdown-item.active, -.docs-link.active { - font-weight: 500; } - -.docs-links h3.sidebar-link, .docs-links .sidebar-link.h3, -.page-links h3.sidebar-link, -.page-links .sidebar-link.h3 { - text-transform: none; - font-size: 1.125rem; - font-weight: normal; } - -.docs-links h3.sidebar-link a, .docs-links .sidebar-link.h3 a, -.page-links h3.sidebar-link a, -.page-links .sidebar-link.h3 a { - color: #1d2d35; } - -.docs-links h3.sidebar-link a:hover, .docs-links .sidebar-link.h3 a:hover, -.page-links h3.sidebar-link a:hover, -.page-links .sidebar-link.h3 a:hover { - text-decoration: underline; } - -/* -body { - background-color: {{ site.Params.doks.backGround }}; -} -*/ -/* Custom CSS fixes for sidebar layout */ -.docs-sidebar { - padding-left: 1rem !important; - padding-right: 1rem !important; } - -.docs-sidebar .section-nav { - width: 100% !important; - padding-left: 0 !important; } - -.docs-sidebar .list-unstyled, .docs-sidebar .comment-list, .docs-sidebar ul.list-toolbox li, ul.list-toolbox .docs-sidebar li, .docs-sidebar ul.list-books li, ul.list-books .docs-sidebar li, .docs-sidebar ul.list-speech-balloon li, ul.list-speech-balloon .docs-sidebar li, .docs-sidebar ul.list-package li, ul.list-package .docs-sidebar li, .docs-sidebar ul.list-star li, ul.list-star .docs-sidebar li { - margin-left: 0 !important; - padding-left: 0 !important; } - -.docs-sidebar .list-unstyled li, .docs-sidebar .comment-list li, .docs-sidebar ul.list-toolbox li li, ul.list-toolbox .docs-sidebar li li, .docs-sidebar ul.list-books li li, ul.list-books .docs-sidebar li li, .docs-sidebar ul.list-speech-balloon li li, ul.list-speech-balloon .docs-sidebar li li, .docs-sidebar ul.list-package li li, ul.list-package .docs-sidebar li li, .docs-sidebar ul.list-star li li, ul.list-star .docs-sidebar li li { - margin-left: 0 !important; - padding-left: 0 !important; } - -.docs-sidebar .list-unstyled li a, .docs-sidebar .comment-list li a, .docs-sidebar ul.list-toolbox li li a, ul.list-toolbox .docs-sidebar li li a, .docs-sidebar ul.list-books li li a, ul.list-books .docs-sidebar li li a, .docs-sidebar ul.list-speech-balloon li li a, ul.list-speech-balloon .docs-sidebar li li a, .docs-sidebar ul.list-package li li a, ul.list-package .docs-sidebar li li a, .docs-sidebar ul.list-star li li a, ul.list-star .docs-sidebar li li a { - display: block; - padding: 0.375rem 0.75rem; - text-decoration: none; - border-radius: 0.25rem; } - -/* Nested navigation styling */ -.docs-sidebar .list-nested { - margin-top: 0.5rem !important; - margin-bottom: 1rem !important; - padding-left: 1rem !important; } - -.docs-sidebar .list-nested li a { - padding: 0.25rem 0.5rem; - font-size: 0.9rem; - color: #6c757d; } - -.docs-sidebar .list-nested li.active a { - background-color: #e9ecef; - color: #495057; - font-weight: 600; } - -.docs-sidebar .list-nested li a:hover { - background-color: #f8f9fa; - color: #495057; } - -.list.section.showcase .wrap.container-fluid, .list.section.showcase .wrap.container-sm, .list.section.showcase .wrap.container-md, .list.section.showcase .wrap.container-xl, .list.section.showcase .wrap.container-xxl, -.list.section.showcase .wrap.container-lg { - padding: 0; - max-width: 100%; } - -.list.section.showcase .content { - padding: 0; } - -.list.section.showcase .container { - max-width: 100%; } - -.col-main-section { - flex: 0 0 auto; - width: calc(100% - 2rem); - padding-left: 1rem; - padding-right: 1rem; } - @media (min-width: 768px) { - .col-main-section { - padding-left: 2rem; - padding-right: 2rem; } } - @media (min-width: 1200px) { - .col-main-section { - max-width: 100rem; } } -@media (min-width: 1200px) { - .col-xl { - flex: 0 0 auto; - width: 33.3333%; } } - -.section-cards .card { - margin: 0; - padding: 1rem; } - -.section-cards .card-title { - margin-top: 0; } - -@media (min-width: 992px) { - .section-cards .col-lg-7:nth-child(2n) .card { - margin-top: 3rem; - margin-bottom: -3rem; } } - -@media (min-width: 1200px) { - .showcase .col-main-section { - max-width: 80rem; } } - -.showcase .card { - height: auto; - margin: 1rem; } - -.showcase .card-img-overlay { - position: absolute; - inset: auto 0 0; - padding: var(--bs-card-img-overlay-padding); - border-radius: 0; - background-color: rgba(35, 38, 47, 0.95); - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); - transition-duration: 0.3s; - transition-property: opacity; - opacity: 0; } - .showcase .card-img-overlay .card-title { - margin-top: 0; - color: var(--sl-color-gray-2); } - .showcase .card-img-overlay .card-text { - color: var(--sl-color-gray-2); } - -.showcase .card:hover .card-img-overlay { - opacity: 1; } - -.pagination { - margin-top: 4rem; } - -/*! purgecss start ignore */ -.page-item a[aria-label="Previous"], -.page-item a[aria-label="Next"] { - border-radius: 50%; } - -/*! purgecss end ignore */ -/* -.callout-content { - min-width: 0; -} - -.callout pre { - margin: 1rem 0; -} - -.container-fw { - max-width: auto; -} - -.docs-sidebar { - min-width: 18.75rem; - max-width: 18.75rem; - width: 18.75rem; -} - -.docs-toc { - min-width: 13.75rem; -} - -@include media-breakpoint-up(lg) { - .container-fw { - max-width: 675px; - } -} - -@include media-breakpoint-up(xl) { - .container-fw { - max-width: 875px; - - .docs-content { - width: 575px; - } - - .docs-toc { - margin-left: 3rem; - } - } -} - -@include media-breakpoint-up(xxl) { - .container-fw { - max-width: 1075px; - - .docs-content { - width: 675px; - } - } -} - -figcaption { - font-size: 1rem; - margin-top: 0.5rem; - font-style: italic; -} -*/ -.navbar-brand svg { - width: 60px; - height: 100%; - margin-right: 0; } - -@media (min-width: 992px) { - .navbar-brand svg { - width: 70px; - height: 100%; } } - -.section-credits { - padding-top: 2.5rem; - margin-bottom: 2.5rem; } - -@media (min-width: 992px) { - .section-credits { - padding-top: 4.5rem; - margin-bottom: 4.5rem; } } - -.home .footer { - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; } - .home .footer:not(caption) { - position: absolute !important; } - .home .footer * { - overflow: hidden !important; } - -.DocSearch-Container { - z-index: 2000 !important; } - -.DocSearch-Hit-title { - overflow: hidden; } - -.DocSearch-Hit-icon { - display: flex; - align-items: center; } - -.DocSearch-Hits mark, .DocSearch-Hits .mark { - padding: 0; } - -@media (max-width: 768px) { - .DocSearch-Modal { - position: fixed !important; } } - -.single.blog .content h2[id]::before, .single.blog .content [id].h2::before, -.single.blog .content h3[id]::before, -.single.blog .content [id].h3::before, -.single.blog .content h4[id]::before, -.single.blog .content [id].h4::before { - display: block; - height: 6rem; - margin-top: -6rem; - content: ""; } - -.feedback-links h3, -.feedback-links .h3 { - text-transform: none; - font-size: 1rem; - margin: 1.25rem 0 0.75rem; - padding: 1.5rem 0 0; } - -.feedback-links li { - margin-top: 0.125rem; - padding-top: 0.125rem; } - -.feedback-links a { - color: #1d2d35; - display: block; - padding: 0.125rem 0; - font-size: 0.9375rem; - text-decoration: none; } - -.feedback-links a:hover, -.feedback-links a.active { - text-decoration: none; - color: #3347ff; } - -[data-bs-theme="dark"] .feedback-links a { - color: #c1c3c8; } - -[data-bs-theme="dark"] .feedback-links a:hover { - text-decoration: none; - color: #b3c7ff; } - -/* -.card-nav { - column-gap: 1rem; -} - -.card-nav .card { - margin: 0.5rem 0; -} - -.card-nav .card:hover { - border: 1px solid $db-gray-600; - background-color: var(--sl-color-gray-7); -} - -@include color-mode(dark) { - .card-nav .card { - border: 1px solid hsl(224deg, 10%, 23%); - } - - .card-nav .card:hover { - border: 1px solid hsl(224deg, 6%, 56%); - background-color: var(--sl-color-gray-6); - } -} -*/ -.blog.single .card-nav .card { - margin: 0.5rem 0; - transition: unset; } - -.blog.single .card-nav .card:hover { - transform: unset; } - -.blog.single .card-nav .card-body { - padding: 1rem; } - -.docs-links h3, .docs-links .h3, -.page-links h3, -.page-links .h3 { - text-transform: none; } - -.img-lightmode.border { - border: 1px solid #e9ecef !important; } - -.img-darkmode.border { - border: 1px solid var(--sl-color-gray-6) !important; } - -[data-bs-theme="light"] .img-lightmode { - display: block; } - -[data-bs-theme="light"] .img-darkmode { - display: none; } - -[data-bs-theme="dark"] .img-lightmode { - display: none; } - -[data-bs-theme="dark"] .img-darkmode { - display: block; } - -.card-icon { - padding: 0.2em; - border-radius: 0.25rem; } - -.icon-yellow { - border: 1px solid var(--sl-color-orange); - background-color: var(--sl-color-orange-high); } - -.icon-purple { - border: 1px solid var(--sl-color-purple); - background-color: var(--sl-color-purple-high); } - -.icon-green { - border: 1px solid var(--sl-color-green); - background-color: var(--sl-color-green-high); } - -.icon-red { - border: 1px solid var(--sl-color-red); - background-color: var(--sl-color-red-high); } - -.icon-blue { - border: 1px solid var(--sl-color-blue); - background-color: var(--sl-color-blue-high); } - -.card-nav .card-box svg { - stroke: #1d2d35; } - -[data-bs-theme="dark"] .icon-yellow { - border: 1px solid var(--sl-color-orange); - background-color: var(--sl-color-orange-low); } - -[data-bs-theme="dark"] .icon-purple { - border: 1px solid var(--sl-color-purple); - background-color: var(--sl-color-purple-low); } - -[data-bs-theme="dark"] .icon-green { - border: 1px solid var(--sl-color-green); - background-color: var(--sl-color-green-low); } - -[data-bs-theme="dark"] .icon-red { - border: 1px solid var(--sl-color-red); - background-color: var(--sl-color-red-low); } - -[data-bs-theme="dark"] .icon-blue { - border: 1px solid var(--sl-color-blue); - background-color: var(--sl-color-blue-low); } - -[data-bs-theme="dark"] .card-nav .card-box svg { - stroke: #fff; } - -.card-nav .card-box { - border-radius: 0; - padding: 1rem 1rem 0; } - -.card-nav .card-box:hover { - border: 1px solid #e9ecef; - background-color: transparent; } - -[data-bs-theme="dark"] .card-nav .card-box { - border: 1px solid #353841; } - -[data-bs-theme="dark"] .card-nav .card-box:hover { - border: 1px solid #353841; - background-color: transparent; } - -.expressive-code pre > code { - line-height: 1.7; } - -.feedback-links h3, .feedback-links .h3 { - font-size: 1.125rem; - margin: 1.25rem 0 0.75rem; - padding: 1.5rem 0 0; } - -.bg-anna { - /* - background-color: #181422; - background-color: #95e7d7; - background-color: #ec4815; - background-color: var(--overlay-blurple); - */ - background-color: #181422; } - -/* -.alert { - font-family: $font-family-sans-serif; -} - -.alert-text { - margin-right: 0; - font-size: 1.125rem; -} -*/ -img, -.img-fluid { - max-width: 100%; - height: auto; } - -/*# sourceMappingURL=main.css.map */ diff --git a/docs-gen/resources/_gen/assets/scss/app.scss_901a6e181e810c5c7347a10d84f037ab.json b/docs-gen/resources/_gen/assets/scss/app.scss_901a6e181e810c5c7347a10d84f037ab.json deleted file mode 100644 index f32f3cec..00000000 --- a/docs-gen/resources/_gen/assets/scss/app.scss_901a6e181e810c5c7347a10d84f037ab.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"main.f44d99f784eac3975079d5bb8b6e041c7c768bbac771886a728b99ce4c0f9e9a957573eef60d5db21f1a1e9479e7b5e487f6862d8389dc6b4d46d94a84f479ac.css","MediaType":"text/css","Data":{"Integrity":"sha512-9E2Z94Tqw5dQedW7i24EHHx2i7rHcYhqcouZzkwPnpqVdXPu9g1dsh8aHpR557Xkh/aGLYOJ3GtNRtlKhPR5rA=="}} diff --git a/docs-gen/resources/_gen/assets/scss/app.scss_bee030cf6e8c6b035b46933094959a46.content b/docs-gen/resources/_gen/assets/scss/app.scss_bee030cf6e8c6b035b46933094959a46.content deleted file mode 100644 index 74b57ee3..00000000 --- a/docs-gen/resources/_gen/assets/scss/app.scss_bee030cf6e8c6b035b46933094959a46.content +++ /dev/null @@ -1 +0,0 @@ -:root[data-bs-theme="light"],[data-bs-theme="light"] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%)}:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, 0.66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, 0.12), 0px 2px 1px hsla(0, 0%, 0%, 0.24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, 0.08), 0px 5px 2px hsla(0, 0%, 0%, 0.08), 0px 3px 2px hsla(0, 0%, 0%, 0.12), 0px 1px 1px hsla(0, 0%, 0%, 0.15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, 0.03), 0px 16px 6px hsla(0, 0%, 0%, 0.1), 0px 9px 5px hsla(223, 13%, 10%, 0.33), 0px 4px 4px hsla(0, 0%, 0%, 0.75), 0px 4px 2px hsla(0, 0%, 0%, 0.25);--sl-text-xs: 0.8125rem;--sl-text-sm: 0.875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.8;--sl-line-height-headings: 1.2;--sl-font-system: 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";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, ""), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, ""), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: 0.75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -0.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root{--purple-hsl: 255, 60%, 60%;--overlay-blurple: hsla(var(--purple-hsl), 0.2)}:root{--ec-brdRad: 0px;--ec-brdWd: 1px;--ec-brdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml: var(--__sl-font-mono);--ec-codeFontSize: var(--sl-text-code);--ec-codeFontWg: 400;--ec-codeLineHt: var(--sl-line-height);--ec-codePadBlk: 0.75rem;--ec-codePadInl: 1rem;--ec-codeBg: #011627;--ec-codeFg: #d6deeb;--ec-codeSelBg: #1d3b53;--ec-uiFontFml: var(--__sl-font);--ec-uiFontSize: 0.9rem;--ec-uiFontWg: 400;--ec-uiLineHt: 1.65;--ec-uiPadBlk: 0.25rem;--ec-uiPadInl: 1rem;--ec-uiSelBg: #234d708c;--ec-uiSelFg: #ffffff;--ec-focusBrd: #122d42;--ec-sbThumbCol: #ffffff17;--ec-sbThumbHoverCol: #ffffff49;--ec-tm-lineMarkerAccentMarg: 0rem;--ec-tm-lineMarkerAccentWd: 0.15rem;--ec-tm-lineDiffIndMargLeft: 0.25rem;--ec-tm-inlMarkerBrdWd: 1.5px;--ec-tm-inlMarkerBrdRad: 0.2rem;--ec-tm-inlMarkerPad: 0.15rem;--ec-tm-insDiffIndContent: "+";--ec-tm-delDiffIndContent: "-";--ec-tm-markBg: #ffffff17;--ec-tm-markBrdCol: #ffffff40;--ec-tm-insBg: #1e571599;--ec-tm-insBrdCol: #487f3bd0;--ec-tm-insDiffIndCol: #79b169d0;--ec-tm-delBg: #862d2799;--ec-tm-delBrdCol: #b4554bd0;--ec-tm-delDiffIndCol: #ed8779d0;--ec-frm-shdCol: #011627;--ec-frm-frameBoxShdCssVal: none;--ec-frm-edActTabBg: var(--sl-color-gray-6);--ec-frm-edActTabFg: var(--sl-color-text);--ec-frm-edActTabBrdCol: transparent;--ec-frm-edActTabIndHt: 1px;--ec-frm-edActTabIndTopCol: var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol: transparent;--ec-frm-edTabsMargInlStart: 0;--ec-frm-edTabsMargBlkStart: 0;--ec-frm-edTabBrdRad: 0px;--ec-frm-edTabBarBg: var(--sl-color-black);--ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg: var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa: 0.75;--ec-frm-trmTtbBg: var(--sl-color-black);--ec-frm-trmTtbFg: var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg: var(--sl-color-gray-6);--ec-frm-inlBtnFg: var(--sl-color-text);--ec-frm-inlBtnBg: var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa: 0;--ec-frm-inlBtnBgHoverOrFocusOpa: 0.2;--ec-frm-inlBtnBgActOpa: 0.3;--ec-frm-inlBtnBrd: var(--sl-color-text);--ec-frm-inlBtnBrdOpa: 0.4;--ec-frm-tooltipSuccessBg: #158744;--ec-frm-tooltipSuccessFg: white}:root,[data-bs-theme="light"]{--bs-blue: #3347ff;--bs-indigo: #6610f2;--bs-purple: #bd53ee;--bs-pink: #d63384;--bs-red: #ee5389;--bs-orange: #fd7e14;--bs-yellow: #eebd53;--bs-green: #84ee53;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #3347ff;--bs-secondary: #6c757d;--bs-success: #84ee53;--bs-info: #3347ff;--bs-warning: #eebd53;--bs-danger: #ee5389;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 51,71.4,255;--bs-secondary-rgb: 108,117,125;--bs-success-rgb: 132.2821,238.017,83.283;--bs-info-rgb: 51,71.4,255;--bs-warning-rgb: 238.017,189.0179,83.283;--bs-danger-rgb: 238.017,83.283,137.4399;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 33,37,41;--bs-primary-text-emphasis: #141d66;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #355f21;--bs-info-text-emphasis: #141d66;--bs-warning-text-emphasis: #5f4c21;--bs-danger-text-emphasis: #5f2137;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #d6daff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #e6fcdd;--bs-info-bg-subtle: #d6daff;--bs-warning-bg-subtle: #fcf2dd;--bs-danger-bg-subtle: #fcdde7;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #adb6ff;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #cef8ba;--bs-info-border-subtle: #adb6ff;--bs-warning-border-subtle: #f8e5ba;--bs-danger-border-subtle: #f8bad0;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255,255,255;--bs-black-rgb: 0,0,0;--bs-font-sans-serif: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #1d2d35;--bs-body-color-rgb: 29,45,53;--bs-body-bg: #fff;--bs-body-bg-rgb: 255,255,255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0,0,0;--bs-secondary-color: rgba(29,45,53,0.75);--bs-secondary-color-rgb: 29,45,53;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233,236,239;--bs-tertiary-color: rgba(29,45,53,0.5);--bs-tertiary-color-rgb: 29,45,53;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248,249,250;--bs-heading-color: inherit;--bs-link-color: #3347ff;--bs-link-color-rgb: 51,71.4,255;--bs-link-decoration: none;--bs-link-hover-color: #2939cc;--bs-link-hover-color-rgb: 41,57,204;--bs-link-hover-decoration: underline;--bs-code-color: #d63384;--bs-highlight-color: #1d2d35;--bs-highlight-bg: #fcf2dd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0,0,0,0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0,0,0,0.075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(51,71,255,0.25);--bs-form-valid-color: #84ee53;--bs-form-valid-border-color: #84ee53;--bs-form-invalid-color: #ee5389;--bs-form-invalid-border-color: #ee5389}[data-bs-theme="dark"]{color-scheme:dark;--bs-body-color: #c1c3c8;--bs-body-color-rgb: 192.831,194.7078,199.869;--bs-body-bg: #17181c;--bs-body-bg-rgb: 22.95,24.31,28.05;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255,255,255;--bs-secondary-color: rgba(193,195,200,0.75);--bs-secondary-color-rgb: 192.831,194.7078,199.869;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52,58,64;--bs-tertiary-color: rgba(193,195,200,0.5);--bs-tertiary-color-rgb: 192.831,194.7078,199.869;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43,48,53;--bs-primary-text-emphasis: #8591ff;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #b5f598;--bs-info-text-emphasis: #8591ff;--bs-warning-text-emphasis: #f5d798;--bs-danger-text-emphasis: #f598b8;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #0a0e33;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #1a3011;--bs-info-bg-subtle: #0a0e33;--bs-warning-bg-subtle: #302611;--bs-danger-bg-subtle: #30111b;--bs-light-bg-subtle: #23262f;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #1f2b99;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #4f8f32;--bs-info-border-subtle: #1f2b99;--bs-warning-border-subtle: #8f7132;--bs-danger-border-subtle: #8f3252;--bs-light-border-subtle: #353841;--bs-dark-border-subtle: #343a40;--bs-heading-color: #fff;--bs-link-color: #b3c7ff;--bs-link-hover-color: #c2d2ff;--bs-link-color-rgb: 178.5,198.9,255;--bs-link-hover-color-rgb: 194,210,255;--bs-code-color: #e685b5;--bs-highlight-color: #c1c3c8;--bs-highlight-bg: #5f4c21;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255,255,255,0.15);--bs-form-valid-color: #b5f598;--bs-form-valid-border-color: #b5f598;--bs-form-invalid-color: #f598b8;--bs-form-invalid-border-color: #f598b8}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:700;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}p{margin-top:0;margin-bottom:1rem}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}strong{font-weight:bolder}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:none}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tr,td,th{border-color:inherit;border-style:solid;border-width:0}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button{text-transform:none}[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}[hidden]{display:none !important}.list-unstyled{padding-left:0;list-style:none}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.img-fluid{max-width:100%;height:auto}.figure{display:inline-block}.container,.container-fluid,.container-lg{--bs-gutter-x: 3rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container{max-width:960px}}@media (min-width: 1200px){.container-lg,.container{max-width:1240px}}@media (min-width: 1400px){.container-lg,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 3rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}@media (min-width: 768px){.col-md-12{flex:0 0 auto;width:75%}}@media (min-width: 992px){.col-lg-10{flex:0 0 auto;width:62.5%}}@media (min-width: 1200px){.col-xl-8{flex:0 0 auto;width:50%}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.table,table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*,table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody,table>tbody{vertical-align:inherit}.table>thead,table>thead{vertical-align:bottom}[data-bs-theme="dark"] table{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #4d5154;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color);text-decoration:none}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: #e9ecef;--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-text:last-child{margin-bottom:0}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(51,71,255,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #3347ff;--bs-pagination-active-border-color: #3347ff;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);text-decoration:none;background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}:root,[data-bs-theme="light"]{--bs-btn-close-filter: }[data-bs-theme="dark"]{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}:root,[data-bs-theme="light"]{--bs-carousel-indicator-active-bg: #fff;--bs-carousel-caption-color: #fff;--bs-carousel-control-icon-filter: }[data-bs-theme="dark"]{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.show{opacity:.5}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.d-flex{display:flex !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.w-100{width:100% !important}.flex-row{flex-direction:row !important}.justify-content-center{justify-content:center !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.mt-4{margin-top:1.5rem !important}.mb-4{margin-bottom:1.5rem !important}.pt-4{padding-top:1.5rem !important}.pe-4{padding-right:1.5rem !important}.pb-2{padding-bottom:.5rem !important}.ps-3{padding-left:1rem !important}.text-center{text-align:center !important}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:local("Jost Regular Regular"),local("Jost-Regular"),local("Jost* Book"),local("Jost-Book"),url("fonts/vendor/jost/jost-v4-latin-regular.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-regular.woff") format("woff")}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:local("Jost Regular Medium"),local("JostRoman-Medium"),local("Jost* Medium"),local("Jost-Medium"),url("fonts/vendor/jost/jost-v4-latin-500.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-500.woff") format("woff")}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:local("Jost Regular Bold"),local("JostRoman-Bold"),local("Jost* Bold"),local("Jost-Bold"),url("fonts/vendor/jost/jost-v4-latin-700.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-700.woff") format("woff")}@font-face{font-family:Jost;font-style:italic;font-weight:400;font-display:swap;src:local("Jost Italic Italic"),local("Jost-Italic"),local("Jost* BookItalic"),local("Jost-BookItalic"),url("fonts/vendor/jost/jost-v4-latin-italic.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-italic.woff") format("woff")}@font-face{font-family:Jost;font-style:italic;font-weight:500;font-display:swap;src:local("Jost Italic Medium Italic"),local("JostItalic-Medium"),local("Jost* Medium Italic"),local("Jost-MediumItalic"),url("fonts/vendor/jost/jost-v4-latin-500italic.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-500italic.woff") format("woff")}@font-face{font-family:Jost;font-style:italic;font-weight:700;font-display:swap;src:local("Jost Italic Bold Italic"),local("JostItalic-Bold"),local("Jost* Bold Italic"),local("Jost-BoldItalic"),url("fonts/vendor/jost/jost-v4-latin-700italic.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-700italic.woff") format("woff")}.blog .content,.error404 .content,.docs.list .content,.showcase.list .content,.list.section .content{padding-top:1rem;padding-bottom:3rem}.content img{max-width:100%}h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:2rem;margin-bottom:1rem}@media (min-width: 768px){body{font-size:1.125rem}h1,h2,h3,h4,.h1,.h2,.h3,.h4{margin-bottom:1.125rem}}.home h1,.home .h1{font-size:calc(1.875rem + 1.5vw);margin-top:-1rem}a:hover,a:focus{text-decoration:underline}.section{padding-top:5rem;padding-bottom:5rem}body.section{padding-top:0;padding-bottom:0}.docs-sidebar{order:2}@media (min-width: 992px){.docs-sidebar{order:0;border-right:1px solid #e9ecef}@supports (position: sticky){.docs-sidebar{position:sticky;top:4.25rem;z-index:1000;height:calc(100vh - 4.25rem)}}}@media (min-width: 1200px){.docs-sidebar{flex:0 1 320px}}.docs-links{padding-bottom:5rem}@media (min-width: 992px){@supports (position: sticky){.docs-links{max-height:calc(100vh - 4rem);overflow-y:scroll}}}@media (min-width: 992px){.docs-links{display:block;width:auto;margin-right:-1.5rem;padding-bottom:4rem}}.modal-backdrop{background-color:#fff}.modal-backdrop.show{opacity:0.7}@media (min-width: 768px){.modal-backdrop.show{opacity:0}}hr{border-color:gray}[data-bs-theme="dark"] hr{border-color:var(--sl-color-gray-3)}.card-nav{-moz-column-gap:1rem;column-gap:1rem}.card-nav .card{margin:0.5rem 0}.card-nav .card:hover{border:1px solid #d9d9d9;background-color:var(--sl-color-gray-7)}[data-bs-theme="dark"] .card-nav .card{border:1px solid #353841}[data-bs-theme="dark"] .card-nav .card:hover{border:1px solid #888c96;background-color:var(--sl-color-gray-6)}.highlight>.chroma{border:1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)}.bg{background-color:var(--sl-color-gray-7)}.chroma{background-color:var(--sl-color-gray-7)}.chroma .err{color:inherit}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#0000001a}.chroma .hl{border-inline-start:0.15rem solid #00000055;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.chroma .hl .ln{margin-left:-0.15rem}.chroma .lnt{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#000000;font-weight:bold}.chroma .kc{color:#000000;font-weight:bold}.chroma .kd{color:#000000;font-weight:bold}.chroma .kn{color:#000000;font-weight:bold}.chroma .kp{color:#000000;font-weight:bold}.chroma .kr{color:#000000;font-weight:bold}.chroma .kt{color:#445588;font-weight:bold}.chroma .na{color:#008080}.chroma .nb{color:#0086b3}.chroma .bp{color:#999999}.chroma .nc{color:#445588;font-weight:bold}.chroma .no{color:#008080}.chroma .nd{color:#3c5d5d;font-weight:bold}.chroma .ni{color:#800080}.chroma .ne{color:#990000;font-weight:bold}.chroma .nf{color:#990000;font-weight:bold}.chroma .nl{color:#990000;font-weight:bold}.chroma .nn{color:#555555}.chroma .nt{color:#000080}.chroma .nv{color:#008080}.chroma .vc{color:#008080}.chroma .vg{color:#008080}.chroma .vi{color:#008080}.chroma .s{color:#dd1144}.chroma .sa{color:#dd1144}.chroma .sb{color:#dd1144}.chroma .sc{color:#dd1144}.chroma .dl{color:#dd1144}.chroma .sd{color:#dd1144}.chroma .s2{color:#dd1144}.chroma .se{color:#dd1144}.chroma .sh{color:#dd1144}.chroma .si{color:#dd1144}.chroma .sx{color:#dd1144}.chroma .sr{color:#009926}.chroma .s1{color:#dd1144}.chroma .ss{color:#990073}.chroma .m{color:#009999}.chroma .mb{color:#009999}.chroma .mf{color:#009999}.chroma .mh{color:#009999}.chroma .mi{color:#009999}.chroma .il{color:#009999}.chroma .mo{color:#009999}.chroma .o{color:#000000;font-weight:bold}.chroma .ow{color:#000000;font-weight:bold}.chroma .c{color:#999988;font-style:italic}.chroma .ch{color:#999988;font-style:italic}.chroma .cm{color:#999988;font-style:italic}.chroma .c1{color:#999988;font-style:italic}.chroma .cs{color:#999999;font-weight:bold;font-style:italic}.chroma .cp{color:#999999;font-weight:bold;font-style:italic}.chroma .cpf{color:#999999;font-weight:bold;font-style:italic}.chroma .gd{color:#000000;background-color:#ffdddd}.chroma .ge{color:inherit;font-style:italic}.chroma .gr{color:#aa0000}.chroma .gh{color:#999999}.chroma .gi{color:#000000;background-color:#ddffdd}.chroma .go{color:#888888}.chroma .gp{color:#555555}.chroma .gs{font-weight:bold}.chroma .gu{color:#aaaaaa}.chroma .gt{color:#aa0000}.chroma .gl{text-decoration:underline}.chroma .w{color:#bbbbbb}[data-bs-theme="dark"] .highlight>.chroma{border:1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)}[data-bs-theme="dark"] .bg{color:#c9d1d9;background-color:var(--sl-color-gray-6)}[data-bs-theme="dark"] .chroma{color:#c9d1d9;background-color:var(--sl-color-gray-6)}[data-bs-theme="dark"] .chroma .err{color:inherit}[data-bs-theme="dark"] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}[data-bs-theme="dark"] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-bs-theme="dark"] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}[data-bs-theme="dark"] .chroma .hl{background-color:#ffffff17}[data-bs-theme="dark"] .chroma .hl{border-inline-start:0.15rem solid #ffffff40;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}[data-bs-theme="dark"] .chroma .hl .ln{margin-left:-0.15rem}[data-bs-theme="dark"] .chroma .lnt{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#64686c}[data-bs-theme="dark"] .chroma .ln{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681}[data-bs-theme="dark"] .chroma .line{display:flex}[data-bs-theme="dark"] .chroma .k{color:#ff7b72}[data-bs-theme="dark"] .chroma .kc{color:#79c0ff}[data-bs-theme="dark"] .chroma .kd{color:#ff7b72}[data-bs-theme="dark"] .chroma .kn{color:#ff7b72}[data-bs-theme="dark"] .chroma .kp{color:#79c0ff}[data-bs-theme="dark"] .chroma .kr{color:#ff7b72}[data-bs-theme="dark"] .chroma .kt{color:#ff7b72}[data-bs-theme="dark"] .chroma .na{color:#d2a8ff}[data-bs-theme="dark"] .chroma .nc{color:#f0883e;font-weight:bold}[data-bs-theme="dark"] .chroma .no{color:#79c0ff;font-weight:bold}[data-bs-theme="dark"] .chroma .nd{color:#d2a8ff;font-weight:bold}[data-bs-theme="dark"] .chroma .ni{color:#ffa657}[data-bs-theme="dark"] .chroma .ne{color:#f0883e;font-weight:bold}[data-bs-theme="dark"] .chroma .nf{color:#d2a8ff;font-weight:bold}[data-bs-theme="dark"] .chroma .nl{color:#79c0ff;font-weight:bold}[data-bs-theme="dark"] .chroma .nn{color:#ff7b72}[data-bs-theme="dark"] .chroma .py{color:#79c0ff}[data-bs-theme="dark"] .chroma .nt{color:#7ee787}[data-bs-theme="dark"] .chroma .nv{color:#79c0ff}[data-bs-theme="dark"] .chroma .l{color:#a5d6ff}[data-bs-theme="dark"] .chroma .ld{color:#79c0ff}[data-bs-theme="dark"] .chroma .s{color:#a5d6ff}[data-bs-theme="dark"] .chroma .sa{color:#79c0ff}[data-bs-theme="dark"] .chroma .sb{color:#a5d6ff}[data-bs-theme="dark"] .chroma .sc{color:#a5d6ff}[data-bs-theme="dark"] .chroma .dl{color:#79c0ff}[data-bs-theme="dark"] .chroma .sd{color:#a5d6ff}[data-bs-theme="dark"] .chroma .s2{color:#a5d6ff}[data-bs-theme="dark"] .chroma .se{color:#79c0ff}[data-bs-theme="dark"] .chroma .sh{color:#79c0ff}[data-bs-theme="dark"] .chroma .si{color:#a5d6ff}[data-bs-theme="dark"] .chroma .sx{color:#a5d6ff}[data-bs-theme="dark"] .chroma .sr{color:#79c0ff}[data-bs-theme="dark"] .chroma .s1{color:#a5d6ff}[data-bs-theme="dark"] .chroma .ss{color:#a5d6ff}[data-bs-theme="dark"] .chroma .m{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mb{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mf{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mh{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mi{color:#a5d6ff}[data-bs-theme="dark"] .chroma .il{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mo{color:#a5d6ff}[data-bs-theme="dark"] .chroma .o{color:inherit;font-weight:bold}[data-bs-theme="dark"] .chroma .ow{color:#ff7b72;font-weight:bold}[data-bs-theme="dark"] .chroma .c{color:#8b949e;font-style:italic}[data-bs-theme="dark"] .chroma .ch{color:#8b949e;font-style:italic}[data-bs-theme="dark"] .chroma .cm{color:#8b949e;font-style:italic}[data-bs-theme="dark"] .chroma .c1{color:#8b949e;font-style:italic}[data-bs-theme="dark"] .chroma .cs{color:#8b949e;font-weight:bold;font-style:italic}[data-bs-theme="dark"] .chroma .cp{color:#8b949e;font-weight:bold;font-style:italic}[data-bs-theme="dark"] .chroma .cpf{color:#8b949e;font-weight:bold;font-style:italic}[data-bs-theme="dark"] .chroma .gd{color:#ffa198;background-color:#490202}[data-bs-theme="dark"] .chroma .ge{font-style:italic}[data-bs-theme="dark"] .chroma .gr{color:#ffa198}[data-bs-theme="dark"] .chroma .gh{color:#79c0ff;font-weight:bold}[data-bs-theme="dark"] .chroma .gi{color:#56d364;background-color:#0f5323}[data-bs-theme="dark"] .chroma .go{color:#8b949e}[data-bs-theme="dark"] .chroma .gp{color:#8b949e}[data-bs-theme="dark"] .chroma .gs{font-weight:bold}[data-bs-theme="dark"] .chroma .gu{color:#79c0ff}[data-bs-theme="dark"] .chroma .gt{color:#ff7b72}[data-bs-theme="dark"] .chroma .gl{text-decoration:underline}[data-bs-theme="dark"] .chroma .w{color:#6e7681}[data-bs-theme="dark"] h1,[data-bs-theme="dark"] .h1,[data-bs-theme="dark"] h2,[data-bs-theme="dark"] .h2,[data-bs-theme="dark"] h3,[data-bs-theme="dark"] .h3,[data-bs-theme="dark"] h4,[data-bs-theme="dark"] .h4{color:#fff}[data-bs-theme="dark"] body{background:#17181c;color:#c1c3c8}[data-bs-theme="dark"] a{color:#b3c7ff}[data-bs-theme="dark"] .callout a{color:inherit}[data-bs-theme="dark"] .page-links a{color:#c1c3c8}[data-bs-theme="dark"] .page-links a:hover{text-decoration:none;color:#b3c7ff}@media (min-width: 992px){[data-bs-theme="dark"] .docs-sidebar{order:0;border-right:1px solid #23262f}}[data-bs-theme="dark"] blockquote{border-left:3px solid #23262f}[data-bs-theme="dark"] .footer{border-top:1px solid #23262f}[data-bs-theme="dark"] .docs-links{scrollbar-width:thin;scrollbar-color:#17181c #17181c}[data-bs-theme="dark"] .docs-links::-webkit-scrollbar{width:5px}[data-bs-theme="dark"] .docs-links::-webkit-scrollbar-track{background:#17181c}[data-bs-theme="dark"] .docs-links::-webkit-scrollbar-thumb{background:#17181c}[data-bs-theme="dark"] .docs-links:hover{scrollbar-width:thin;scrollbar-color:#23262f #17181c}[data-bs-theme="dark"] .docs-links:hover::-webkit-scrollbar-thumb{background:#23262f}[data-bs-theme="dark"] .docs-links::-webkit-scrollbar-thumb:hover{background:#23262f}[data-bs-theme="dark"] .docs-links h3:not(:first-child),[data-bs-theme="dark"] .docs-links .h3:not(:first-child){border-top:1px solid #23262f}[data-bs-theme="dark"] .page-links li:not(:first-child){border-top:1px dashed #23262f}[data-bs-theme="dark"] .card{background:#17181c;border:1px solid #23262f}[data-bs-theme="dark"] .page-link{color:#b3c7ff;background-color:transparent;border:var(--bs-border-width) solid #23262f}[data-bs-theme="dark"] .page-link:hover{color:#17181c;background-color:#c1c3c8;border-color:#c1c3c8}[data-bs-theme="dark"] .page-link:focus{color:#17181c;background-color:#c1c3c8}[data-bs-theme="dark"] .page-item.active .page-link{color:#17181c;background-color:#b3c7ff;border-color:#b3c7ff}[data-bs-theme="dark"] .page-item.disabled .page-link{color:var(--bs-secondary-color);background-color:#23262f;border-color:#23262f}[data-bs-theme="dark"] table th{color:#fff}[data-bs-theme="dark"] table,[data-bs-theme="dark"] [data-bs-theme="dark"] table{--bs-table-color: inherit;--bs-table-bg: $body-bg-dark;background:#17181c;border-color:#23262f}.clipboard{position:relative;float:right}.btn-clipboard{transition:opacity 0.25s ease-in-out;opacity:0;position:absolute;right:0.5rem;top:0.5rem;line-height:1;padding:0.3125rem 0.3125rem 0.1875rem;background-color:transparent;border-color:transparent}@media (max-width: 767.98px){.btn-clipboard{position:absolute;right:-0.5rem;top:0.5rem}}.btn-clipboard::after{width:22px;height:22px;display:inline-block;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:#495057}.btn-clipboard:hover{border-color:transparent}.btn-clipboard:hover::after{width:22px;height:22px;display:inline-block;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:#212529}.btn-clipboard:focus,.btn-clipboard:active{border-color:transparent !important}.btn-clipboard:focus::after,.btn-clipboard:active::after{width:22px;height:22px;display:inline-block;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:#212529}[data-bs-theme="dark"] .btn-clipboard{background-color:transparent;border-color:transparent}[data-bs-theme="dark"] .btn-clipboard::after{background-color:#ced4da}[data-bs-theme="dark"] .btn-clipboard:hover{border-color:transparent}[data-bs-theme="dark"] .btn-clipboard:hover::after{background-color:#e9ecef}[data-bs-theme="dark"] .btn-clipboard:focus,[data-bs-theme="dark"] .btn-clipboard:active{border-color:transparent}[data-bs-theme="dark"] .btn-clipboard:focus::after,[data-bs-theme="dark"] .btn-clipboard:active::after{background-color:#e9ecef}.highlight{position:relative}@media (min-width: 768px){.highlight:hover .btn-clipboard{opacity:1}}.callout{--bs-link-color-rgb: var(--callout-link);--bs-code-color: var(--callout-code-color);color:var(--callout-color, inherit);background-color:var(--callout-bg, var(--bs-gray-100));border-left:0.25rem solid var(--callout-border, var(--bs-gray-300));border-radius:0}.callout a{text-decoration:underline}.callout .highlight{background-color:rgba(0,0,0,0.05)}.callout-content{min-width:0}.callout.callout-note{border-color:var(--sl-color-blue);background-color:var(--sl-color-blue-high)}.callout.callout-note .callout-body a{color:var(--sl-color-blue-low)}.callout.callout-note .callout-body,.callout.callout-note .callout-body a:hover,.callout.callout-note .callout-body a:active{color:var(--sl-color-white)}[data-bs-theme="dark"] .callout{color:var(--sl-color-gray-1)}[data-bs-theme="dark"] .callout.callout-note{border-color:var(--sl-color-blue);background-color:var(--sl-color-blue-low)}[data-bs-theme="dark"] .callout.callout-note .callout-body a{color:var(--sl-color-blue-high)}[data-bs-theme="dark"] .callout.callout-note .callout-body,[data-bs-theme="dark"] .callout.callout-note .callout-body a:hover,[data-bs-theme="dark"] .callout.callout-note .callout-body a:active{color:var(--sl-color-white)}[data-bs-theme="dark"] .callout.callout-note code:not(:where(.not-content *)){color:var(--ec-codeFg)}.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);line-height:var(--ec-uiLineHt);-moz-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;margin:1.5rem 0}.expressive-code *:not(path){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre>code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{padding-inline:var(--ec-codePadInl);padding-inline-end:calc(2rem + var(--ec-codePadInl));direction:ltr;unicode-bidi:isolate}.expressive-code .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}.expressive-code .ec-line.mark{--tmLineBgCol: var(--ec-tm-markBg);--tmLineBrdCol: var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol: var(--ec-tm-insBg);--tmLineBrdCol: var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins::before{content:var(--ec-tm-insDiffIndContent);color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol: var(--ec-tm-delBg);--tmLineBrdCol: var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del::before{content:var(--ec-tm-delDiffIndContent);color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{position:relative;background:var(--tmLineBgCol);min-width:calc(100% - var(--ec-tm-lineMarkerAccentMarg));margin-inline-start:var(--ec-tm-lineMarkerAccentMarg);border-inline-start:var(--ec-tm-lineMarkerAccentWd) solid var(--tmLineBrdCol);padding-inline-start:calc(var(--ec-codePadInl) - var(--ec-tm-lineMarkerAccentMarg) - var(--ec-tm-lineMarkerAccentWd)) !important}.expressive-code .ec-line.mark::before,.expressive-code .ec-line.ins::before,.expressive-code .ec-line.del::before{position:absolute;left:var(--ec-tm-lineDiffIndMargLeft)}.expressive-code .ec-line mark,.expressive-code .ec-line .mark{--tmInlineBgCol: var(--ec-tm-markBg);--tmInlineBrdCol: var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol: var(--ec-tm-insBg);--tmInlineBrdCol: var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol: var(--ec-tm-delBg);--tmInlineBrdCol: var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line .mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL: var(--ec-tm-inlMarkerBrdWd);--tmBrdR: var(--ec-tm-inlMarkerBrdWd);--tmRadL: var(--ec-tm-inlMarkerBrdRad);--tmRadR: var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line .open-start.mark,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL: 0px;--tmRadL: 0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line .open-end.mark,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR: 0px;--tmRadR: 0}.expressive-code .ec-line mark::before,.expressive-code .ec-line .mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:"";position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius: calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius: calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing: 0.4rem;--code-background: var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:"\a0"}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing: calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:"";position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:"";position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing: calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background: var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:"";position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:"";position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2);direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:"";position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:focus::after,.expressive-code .copy button:active::after{display:inline-block;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;margin:0.2375rem}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size: 0.35rem;--tooltip-bg: var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:"";position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible~.copy button:not(:hover),.expressive-code .frame .copy .feedback.show~button:not(:hover){opacity:0.75}}:root{--ec-brdRad: 0px;--ec-brdWd: 1px;--ec-brdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml: var(--__sl-font-mono);--ec-codeFontSize: var(--sl-text-code);--ec-codeFontWg: 400;--ec-codeLineHt: var(--sl-line-height);--ec-codePadBlk: 0;--ec-codePadInl: 1rem;--ec-codeBg: #011627;--ec-codeFg: #d6deeb;--ec-codeSelBg: #1d3b53;--ec-uiFontFml: var(--__sl-font);--ec-uiFontSize: 0.9rem;--ec-uiFontWg: 400;--ec-uiLineHt: 1.65;--ec-uiPadBlk: 0.25rem;--ec-uiPadInl: 1rem;--ec-uiSelBg: #234d708c;--ec-uiSelFg: #ffffff;--ec-focusBrd: #122d42;--ec-sbThumbCol: #ffffff17;--ec-sbThumbHoverCol: #ffffff49;--ec-tm-lineMarkerAccentMarg: 0rem;--ec-tm-lineMarkerAccentWd: 0.15rem;--ec-tm-lineDiffIndMargLeft: 0.25rem;--ec-tm-inlMarkerBrdWd: 1.5px;--ec-tm-inlMarkerBrdRad: 0.2rem;--ec-tm-inlMarkerPad: 0.15rem;--ec-tm-insDiffIndContent: "+";--ec-tm-delDiffIndContent: "-";--ec-tm-markBg: #ffffff17;--ec-tm-markBrdCol: #ffffff40;--ec-tm-insBg: #1e571599;--ec-tm-insBrdCol: #487f3bd0;--ec-tm-insDiffIndCol: #79b169d0;--ec-tm-delBg: #862d2799;--ec-tm-delBrdCol: #b4554bd0;--ec-tm-delDiffIndCol: #ed8779d0;--ec-frm-shdCol: #011627;--ec-frm-frameBoxShdCssVal: none;--ec-frm-edActTabBg: var(--sl-color-gray-6);--ec-frm-edActTabFg: var(--sl-color-text);--ec-frm-edActTabBrdCol: transparent;--ec-frm-edActTabIndHt: 1px;--ec-frm-edActTabIndTopCol: var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol: transparent;--ec-frm-edTabsMargInlStart: 0;--ec-frm-edTabsMargBlkStart: 0;--ec-frm-edTabBrdRad: 0px;--ec-frm-edTabBarBg: var(--sl-color-black);--ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg: var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa: 0.75;--ec-frm-trmTtbBg: var(--sl-color-black);--ec-frm-trmTtbFg: var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg: var(--sl-color-gray-6);--ec-frm-inlBtnFg: var(--sl-color-text);--ec-frm-inlBtnBg: var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa: 0;--ec-frm-inlBtnBgHoverOrFocusOpa: 0.2;--ec-frm-inlBtnBgActOpa: 0.3;--ec-frm-inlBtnBrd: var(--sl-color-text);--ec-frm-inlBtnBrdOpa: 0.4;--ec-frm-tooltipSuccessBg: #158744;--ec-frm-tooltipSuccessFg: white}.expressive-code .ec-line span[style^="--"]:not([class]){color:var(0, inherit);font-style:var(0fs, inherit);font-weight:var(0fw, inherit);-webkit-text-decoration:var(0td, inherit);text-decoration:var(0td, inherit)}@media (prefers-color-scheme: light){:root:not([data-bs-theme="dark"]){--ec-codeBg: #fbfbfb;--ec-codeFg: #403f53;--ec-codeSelBg: #e0e0e0;--ec-uiSelBg: #d3e8f8;--ec-uiSelFg: #403f53;--ec-focusBrd: #93a1a1;--ec-sbThumbCol: #0000001a;--ec-sbThumbHoverCol: #0000005c;--ec-tm-markBg: #0000001a;--ec-tm-markBrdCol: #00000055;--ec-tm-insBg: #8ec77d99;--ec-tm-insDiffIndCol: #336a28d0;--ec-tm-delBg: #ff9c8e99;--ec-tm-delDiffIndCol: #9d4138d0;--ec-frm-shdCol: #d9d9d9;--ec-frm-edActTabBg: var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol: #5d2f86;--ec-frm-edTabBarBg: var(--sl-color-gray-6);--ec-frm-edBg: var(--sl-color-gray-7);--ec-frm-trmTtbBg: var(--sl-color-gray-6);--ec-frm-trmBg: var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg: #078662}:root:not([data-bs-theme="dark"]) .expressive-code .ec-line span[style^="--"]:not([class]){color:var(1, inherit);font-style:var(1fs, inherit);font-weight:var(1fw, inherit);-webkit-text-decoration:var(1td, inherit);text-decoration:var(1td, inherit)}}:root[data-bs-theme="light"] .expressive-code,.expressive-code[data-bs-theme="light"]{--ec-codeBg: #fbfbfb;--ec-codeFg: #403f53;--ec-codeSelBg: #e0e0e0;--ec-uiSelBg: #d3e8f8;--ec-uiSelFg: #403f53;--ec-focusBrd: #93a1a1;--ec-sbThumbCol: #0000001a;--ec-sbThumbHoverCol: #0000005c;--ec-tm-markBg: #0000001a;--ec-tm-markBrdCol: #00000055;--ec-tm-insBg: #8ec77d99;--ec-tm-insDiffIndCol: #336a28d0;--ec-tm-delBg: #ff9c8e99;--ec-tm-delDiffIndCol: #9d4138d0;--ec-frm-shdCol: #d9d9d9;--ec-frm-edActTabBg: var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol: #5d2f86;--ec-frm-edTabBarBg: var(--sl-color-gray-6);--ec-frm-edBg: var(--sl-color-gray-7);--ec-frm-trmTtbBg: var(--sl-color-gray-6);--ec-frm-trmBg: var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg: #078662}:root[data-bs-theme="light"] .expressive-code .ec-line span[style^="--"]:not([class]),.expressive-code[data-bs-theme="light"] .ec-line span[style^="--"]:not([class]){color:var(1, inherit);font-style:var(1fs, inherit);font-weight:var(1fw, inherit);-webkit-text-decoration:var(1td, inherit);text-decoration:var(1td, inherit)}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem}code:not(:where(.not-content *)){background-color:var(--sl-color-gray-6);margin-block:-0.125rem;padding:0.125rem 0.375rem;color:inherit}[data-bs-theme="dark"] code:not(:where(.not-content *)){background-color:var(--sl-color-gray-5)}.math-block{display:block;margin:2rem 0;overflow-x:auto}.math-inline{display:inline}[data-bs-theme="dark"] .math-inline img,[data-bs-theme="dark"] .math-block img{filter:invert(1)}img.diagram{height:auto;width:100%;margin:1rem 0 2rem}img.diagram-kroki-mermaid{background:#fff}.highlight>pre{padding:0.875rem 1rem}.highlight div{padding:0}.highlight>.chroma{overflow-x:auto;border:1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)}.chroma .ln{padding:0 0.5rem 0 0}.chroma .hl{border-inline-start:0.15rem solid #0005;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.chroma .hl .ln{margin-left:-0.15rem}.highlight .chroma .lntable .lnt,.highlight .chroma .lntable .hl{display:flex}.chroma .lntd:first-child{padding:0}.chroma .lntd:first-child .lnt{padding-left:1rem}.chroma .lntd:nth-child(2){padding:0}.highlight .chroma .lntable .lntd+.lntd{width:100%}[data-bs-theme="dark"] .chroma .ln{padding:0 0.5em 0 0}.chroma .lntd pre{padding:1rem 0;margin-bottom:0}.highlight>.chroma::-webkit-scrollbar,.highlight>.chroma::-webkit-scrollbar-track{background-color:inherit;border-radius:1px;border-top-left-radius:0;border-top-right-radius:0}.highlight>.chroma::-webkit-scrollbar-thumb{background-color:#dddee0;border:4px solid transparent;background-clip:content-box;border-radius:10px}.highlight>.chroma::-webkit-scrollbar-thumb:hover{background-color:#9d9e9f}[data-bs-theme="dark"] .highlight>.chroma::-webkit-scrollbar-thumb{background-color:#ffffff17}[data-bs-theme="dark"] .highlight>.chroma::-webkit-scrollbar-thumb:hover{background-color:#ffffff49}[data-bs-theme="dark"] .highlight>.chroma{border:1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)}[data-bs-theme="dark"] .chroma .hl{border-inline-start:0.15rem solid #ffffff40;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}[data-bs-theme="dark"] .chroma .hl .ln{margin-left:-0.15rem}blockquote{margin-bottom:1rem;font-size:1.25rem;border-left:3px solid #dee2e6;padding-left:1rem}img[data-sizes="auto"]{display:block;width:100%}.figure{display:block}.blur-up{filter:blur(5px);transition:filter 400ms}.blur-up.lazyloaded{filter:unset}figcaption{font-size:1rem;margin-top:0.5rem;font-style:italic}.mermaid{margin:1.5rem 0;padding:1.5rem}.mermaid svg{height:auto}.section-nav{padding-top:2rem}.section-nav ul.list-nested li{margin:0}.section-nav a{display:block;margin:0.5rem 0;color:#1d2d35;font-size:1rem;text-decoration:none}.section-nav a:hover,.section-nav a:active{color:#3347ff}.section-nav li.active a{color:#3347ff;font-weight:500}.section-nav ul.list-nested li a{padding-left:1rem}.section-nav ul.list-nested{border-left:1px solid #e9ecef}[data-bs-theme="dark"] .section-nav ul.list-nested{border-left:1px solid #23262f}[data-bs-theme="dark"] .section-nav a{color:#c1c3c8}[data-bs-theme="dark"] .section-nav a:hover,[data-bs-theme="dark"] .section-nav a:active{color:var(--sl-color-text-accent)}[data-bs-theme="dark"] .section-nav li.active a{color:var(--sl-color-text-accent);font-weight:500}table{margin:3rem 0}.footer{border-top:1px solid #e9ecef;padding-top:1.125rem;padding-bottom:1.125rem}.footer ul{margin-bottom:0}.footer li{font-size:.875rem;margin-bottom:0}@media (min-width: 768px){.footer li{font-size:1rem}}.navbar-brand{font-weight:700}.navbar-brand svg{margin-right:0.25rem}[data-bs-theme="dark"] .navbar-brand{color:inherit}@media (min-width: 768px){.navbar-brand{font-size:1.375rem}}@media (min-width: 992px){.navbar-brand{margin-right:0.75rem !important}}.modal-backdrop,.offcanvas-backdrop{visibility:hidden;background:rgba(23,24,28,0.5);opacity:0}[data-bs-theme="dark"] .modal-backdrop,[data-bs-theme="dark"] .offcanvas-backdrop{visibility:hidden;background:rgba(23,24,28,0.5);opacity:0}.modal-backdrop.show,.offcanvas-backdrop.show{visibility:visible;opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.showing,.hiding{transition:none;display:none}h1:hover a,.h1:hover a,h2:hover a,.h2:hover a,h3:hover a,.h3:hover a,h4:hover a,.h4:hover a{visibility:visible;text-decoration:none}.card-list{margin-top:2.25rem}p.meta{margin-top:0.5rem;font-size:1rem}.page-link:hover{text-decoration:none}ul li{margin:0.25rem 0}.home .card,.blog.list .card,.blog.single .card{margin-top:2rem;margin-bottom:2rem;transition:transform 0.3s}.home .content .card:hover,.blog.list .content .card:hover,.blog.single .content .card:hover{transform:scale(1.025)}.home .content .card-body,.blog.list .content .card-body,.blog.single .content .card-body{padding:0 2rem 1rem}.pagination{display:flex;justify-content:center}.page-item:first-child,.page-item:last-child,.page-item.disabled{display:none}.page-item a{margin-left:0.5rem;margin-right:0.5rem;padding-left:0.875rem;padding-right:0.875rem}.page-item a[aria-label="Previous"],.page-item a[aria-label="Next"]{border-radius:50%}.docs-links{scrollbar-width:thin;scrollbar-color:#fff #fff}.docs-links::-webkit-scrollbar{width:5px}.docs-links::-webkit-scrollbar-track{background:#fff}.docs-links::-webkit-scrollbar-thumb{background:#fff}.docs-links:hover{scrollbar-width:thin;scrollbar-color:#e9ecef #fff}.docs-links:hover::-webkit-scrollbar-thumb{background:#e9ecef}.docs-links::-webkit-scrollbar-thumb:hover{background:#e9ecef}.docs-links h3,.docs-links .h3,.page-links h3,.page-links .h3{font-size:1.125rem;margin:1.25rem 0 0.5rem;padding:1.5rem 0 0}@media (min-width: 992px){.docs-links h3,.docs-links .h3,.page-links h3,.page-links .h3{margin:1.125rem 1.5rem 0.75rem 0;padding:1.375rem 0 0}}.docs-links h3:not(:first-child),.docs-links .h3:not(:first-child){border-top:1px solid #e9ecef}.page-links li{margin-top:0.375rem;padding-top:0.375rem}.page-links li ul li{border-top:none;padding-left:1rem;margin-top:0.125rem;padding-top:0.125rem}.page-links li:not(:first-child){border-top:1px dashed #e9ecef}.page-links a{color:#1d2d35;display:block;padding:0.125rem 0;font-size:.9375rem;text-decoration:none}.page-links a:hover,.page-links a.active{text-decoration:none;color:#3347ff}.docs-sidebar{padding-left:1rem !important;padding-right:1rem !important}.docs-sidebar .section-nav{width:100% !important;padding-left:0 !important}.docs-sidebar .list-unstyled{margin-left:0 !important;padding-left:0 !important}.docs-sidebar .list-unstyled li{margin-left:0 !important;padding-left:0 !important}.docs-sidebar .list-unstyled li a{display:block;padding:0.375rem 0.75rem;text-decoration:none;border-radius:0.25rem}.docs-sidebar .list-nested{margin-top:0.5rem !important;margin-bottom:1rem !important;padding-left:1rem !important}.docs-sidebar .list-nested li a{padding:0.25rem 0.5rem;font-size:0.9rem;color:#6c757d}.docs-sidebar .list-nested li.active a{background-color:#e9ecef;color:#495057;font-weight:600}.docs-sidebar .list-nested li a:hover{background-color:#f8f9fa;color:#495057}.list.section.showcase .wrap.container-fluid,.list.section.showcase .wrap.container-lg{padding:0;max-width:100%}.list.section.showcase .content{padding:0}.list.section.showcase .container{max-width:100%}.col-main-section{flex:0 0 auto;width:calc(100% - 2rem);padding-left:1rem;padding-right:1rem}@media (min-width: 768px){.col-main-section{padding-left:2rem;padding-right:2rem}}@media (min-width: 1200px){.col-main-section{max-width:100rem}}.section-cards .card{margin:0;padding:1rem}.section-cards .card-title{margin-top:0}@media (min-width: 1200px){.showcase .col-main-section{max-width:80rem}}.showcase .card{height:auto;margin:1rem}.showcase .card-img-overlay{position:absolute;inset:auto 0 0;padding:var(--bs-card-img-overlay-padding);border-radius:0;background-color:rgba(35,38,47,0.95);transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-duration:0.3s;transition-property:opacity;opacity:0}.showcase .card-img-overlay .card-title{margin-top:0;color:var(--sl-color-gray-2)}.showcase .card-img-overlay .card-text{color:var(--sl-color-gray-2)}.showcase .card:hover .card-img-overlay{opacity:1}.pagination{margin-top:4rem}.page-item a[aria-label="Previous"],.page-item a[aria-label="Next"]{border-radius:50%}.navbar-brand svg{width:60px;height:100%;margin-right:0}@media (min-width: 992px){.navbar-brand svg{width:70px;height:100%}}.section-credits{padding-top:2.5rem;margin-bottom:2.5rem}@media (min-width: 992px){.section-credits{padding-top:4.5rem;margin-bottom:4.5rem}}.home .footer{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.home .footer:not(caption){position:absolute !important}.home .footer *{overflow:hidden !important}.DocSearch-Container{z-index:2000 !important}.DocSearch-Hit-title{overflow:hidden}.DocSearch-Hit-icon{display:flex;align-items:center}.DocSearch-Hits mark,.DocSearch-Hits .mark{padding:0}.single.blog .content h2[id]::before,.single.blog .content [id].h2::before,.single.blog .content h3[id]::before,.single.blog .content [id].h3::before,.single.blog .content h4[id]::before,.single.blog .content [id].h4::before{display:block;height:6rem;margin-top:-6rem;content:""}.feedback-links h3,.feedback-links .h3{text-transform:none;font-size:1rem;margin:1.25rem 0 0.75rem;padding:1.5rem 0 0}.feedback-links li{margin-top:0.125rem;padding-top:0.125rem}.feedback-links a{color:#1d2d35;display:block;padding:0.125rem 0;font-size:.9375rem;text-decoration:none}.feedback-links a:hover,.feedback-links a.active{text-decoration:none;color:#3347ff}[data-bs-theme="dark"] .feedback-links a{color:#c1c3c8}[data-bs-theme="dark"] .feedback-links a:hover{text-decoration:none;color:#b3c7ff}.blog.single .card-nav .card{margin:0.5rem 0;transition:unset}.blog.single .card-nav .card:hover{transform:unset}.blog.single .card-nav .card-body{padding:1rem}.docs-links h3,.docs-links .h3,.page-links h3,.page-links .h3{text-transform:none}.img-lightmode.border{border:1px solid #e9ecef !important}.img-darkmode.border{border:1px solid var(--sl-color-gray-6) !important}[data-bs-theme="light"] .img-lightmode{display:block}[data-bs-theme="light"] .img-darkmode{display:none}[data-bs-theme="dark"] .img-lightmode{display:none}[data-bs-theme="dark"] .img-darkmode{display:block}.card-icon{padding:0.2em;border-radius:0.25rem}.icon-yellow{border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-high)}.icon-purple{border:1px solid var(--sl-color-purple);background-color:var(--sl-color-purple-high)}.icon-green{border:1px solid var(--sl-color-green);background-color:var(--sl-color-green-high)}.icon-red{border:1px solid var(--sl-color-red);background-color:var(--sl-color-red-high)}.icon-blue{border:1px solid var(--sl-color-blue);background-color:var(--sl-color-blue-high)}.card-nav .card-box svg{stroke:#1d2d35}[data-bs-theme="dark"] .icon-yellow{border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-low)}[data-bs-theme="dark"] .icon-purple{border:1px solid var(--sl-color-purple);background-color:var(--sl-color-purple-low)}[data-bs-theme="dark"] .icon-green{border:1px solid var(--sl-color-green);background-color:var(--sl-color-green-low)}[data-bs-theme="dark"] .icon-red{border:1px solid var(--sl-color-red);background-color:var(--sl-color-red-low)}[data-bs-theme="dark"] .icon-blue{border:1px solid var(--sl-color-blue);background-color:var(--sl-color-blue-low)}[data-bs-theme="dark"] .card-nav .card-box svg{stroke:#fff}.card-nav .card-box{border-radius:0;padding:1rem 1rem 0}.card-nav .card-box:hover{border:1px solid #e9ecef;background-color:transparent}[data-bs-theme="dark"] .card-nav .card-box{border:1px solid #353841}[data-bs-theme="dark"] .card-nav .card-box:hover{border:1px solid #353841;background-color:transparent}.expressive-code pre>code{line-height:1.7}.feedback-links h3,.feedback-links .h3{font-size:1.125rem;margin:1.25rem 0 0.75rem;padding:1.5rem 0 0}.bg-anna{background-color:#181422}img,.img-fluid{max-width:100%;height:auto} diff --git a/docs-gen/resources/_gen/assets/scss/app.scss_bee030cf6e8c6b035b46933094959a46.json b/docs-gen/resources/_gen/assets/scss/app.scss_bee030cf6e8c6b035b46933094959a46.json deleted file mode 100644 index 61e23fbb..00000000 --- a/docs-gen/resources/_gen/assets/scss/app.scss_bee030cf6e8c6b035b46933094959a46.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"main.a7a59fde2031e8f28e8bfc5ce308cb46869100ee47f5bf9c2727142b9d69280bc7a6b10ffc598ac53674d1f37d277d0ca68129a23187f87e4b789153ef16ed4a.css","MediaType":"text/css","Data":{"Integrity":"sha512-p6Wf3iAx6PKOi/xc4wjLRoaRAO5H9b+cJycUK51pKAvHprEP/FmKxTZ00fN9J30MpoEpojGH+H5LeJFT7xbtSg=="}} diff --git a/docs-gen/resources/_gen/assets/scss/app.scss_cdf9d7c9eb97e4550ded64a8776dd9e8.content b/docs-gen/resources/_gen/assets/scss/app.scss_cdf9d7c9eb97e4550ded64a8776dd9e8.content deleted file mode 100644 index 92443c6e..00000000 --- a/docs-gen/resources/_gen/assets/scss/app.scss_cdf9d7c9eb97e4550ded64a8776dd9e8.content +++ /dev/null @@ -1 +0,0 @@ -:root[data-bs-theme="light"],[data-bs-theme="light"] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%)}:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, 0.66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, 0.12), 0px 2px 1px hsla(0, 0%, 0%, 0.24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, 0.08), 0px 5px 2px hsla(0, 0%, 0%, 0.08), 0px 3px 2px hsla(0, 0%, 0%, 0.12), 0px 1px 1px hsla(0, 0%, 0%, 0.15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, 0.03), 0px 16px 6px hsla(0, 0%, 0%, 0.1), 0px 9px 5px hsla(223, 13%, 10%, 0.33), 0px 4px 4px hsla(0, 0%, 0%, 0.75), 0px 4px 2px hsla(0, 0%, 0%, 0.25);--sl-text-xs: 0.8125rem;--sl-text-sm: 0.875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.8;--sl-line-height-headings: 1.2;--sl-font-system: 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";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, ""), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, ""), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: 0.75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -0.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root{--purple-hsl: 255, 60%, 60%;--overlay-blurple: hsla(var(--purple-hsl), 0.2)}:root{--ec-brdRad: 0px;--ec-brdWd: 1px;--ec-brdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml: var(--__sl-font-mono);--ec-codeFontSize: var(--sl-text-code);--ec-codeFontWg: 400;--ec-codeLineHt: var(--sl-line-height);--ec-codePadBlk: 0.75rem;--ec-codePadInl: 1rem;--ec-codeBg: #011627;--ec-codeFg: #d6deeb;--ec-codeSelBg: #1d3b53;--ec-uiFontFml: var(--__sl-font);--ec-uiFontSize: 0.9rem;--ec-uiFontWg: 400;--ec-uiLineHt: 1.65;--ec-uiPadBlk: 0.25rem;--ec-uiPadInl: 1rem;--ec-uiSelBg: #234d708c;--ec-uiSelFg: #ffffff;--ec-focusBrd: #122d42;--ec-sbThumbCol: #ffffff17;--ec-sbThumbHoverCol: #ffffff49;--ec-tm-lineMarkerAccentMarg: 0rem;--ec-tm-lineMarkerAccentWd: 0.15rem;--ec-tm-lineDiffIndMargLeft: 0.25rem;--ec-tm-inlMarkerBrdWd: 1.5px;--ec-tm-inlMarkerBrdRad: 0.2rem;--ec-tm-inlMarkerPad: 0.15rem;--ec-tm-insDiffIndContent: "+";--ec-tm-delDiffIndContent: "-";--ec-tm-markBg: #ffffff17;--ec-tm-markBrdCol: #ffffff40;--ec-tm-insBg: #1e571599;--ec-tm-insBrdCol: #487f3bd0;--ec-tm-insDiffIndCol: #79b169d0;--ec-tm-delBg: #862d2799;--ec-tm-delBrdCol: #b4554bd0;--ec-tm-delDiffIndCol: #ed8779d0;--ec-frm-shdCol: #011627;--ec-frm-frameBoxShdCssVal: none;--ec-frm-edActTabBg: var(--sl-color-gray-6);--ec-frm-edActTabFg: var(--sl-color-text);--ec-frm-edActTabBrdCol: transparent;--ec-frm-edActTabIndHt: 1px;--ec-frm-edActTabIndTopCol: var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol: transparent;--ec-frm-edTabsMargInlStart: 0;--ec-frm-edTabsMargBlkStart: 0;--ec-frm-edTabBrdRad: 0px;--ec-frm-edTabBarBg: var(--sl-color-black);--ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg: var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa: 0.75;--ec-frm-trmTtbBg: var(--sl-color-black);--ec-frm-trmTtbFg: var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg: var(--sl-color-gray-6);--ec-frm-inlBtnFg: var(--sl-color-text);--ec-frm-inlBtnBg: var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa: 0;--ec-frm-inlBtnBgHoverOrFocusOpa: 0.2;--ec-frm-inlBtnBgActOpa: 0.3;--ec-frm-inlBtnBrd: var(--sl-color-text);--ec-frm-inlBtnBrdOpa: 0.4;--ec-frm-tooltipSuccessBg: #158744;--ec-frm-tooltipSuccessFg: white}:root,[data-bs-theme="light"]{--bs-blue: #3347ff;--bs-indigo: #6610f2;--bs-purple: #bd53ee;--bs-pink: #d63384;--bs-red: #ee5389;--bs-orange: #fd7e14;--bs-yellow: #eebd53;--bs-green: #84ee53;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #3347ff;--bs-secondary: #6c757d;--bs-success: #84ee53;--bs-info: #3347ff;--bs-warning: #eebd53;--bs-danger: #ee5389;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 51,71.4,255;--bs-secondary-rgb: 108,117,125;--bs-success-rgb: 132.2821,238.017,83.283;--bs-info-rgb: 51,71.4,255;--bs-warning-rgb: 238.017,189.0179,83.283;--bs-danger-rgb: 238.017,83.283,137.4399;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 33,37,41;--bs-primary-text-emphasis: #141d66;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #355f21;--bs-info-text-emphasis: #141d66;--bs-warning-text-emphasis: #5f4c21;--bs-danger-text-emphasis: #5f2137;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #d6daff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #e6fcdd;--bs-info-bg-subtle: #d6daff;--bs-warning-bg-subtle: #fcf2dd;--bs-danger-bg-subtle: #fcdde7;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #adb6ff;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #cef8ba;--bs-info-border-subtle: #adb6ff;--bs-warning-border-subtle: #f8e5ba;--bs-danger-border-subtle: #f8bad0;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255,255,255;--bs-black-rgb: 0,0,0;--bs-font-sans-serif: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #1d2d35;--bs-body-color-rgb: 29,45,53;--bs-body-bg: #fff;--bs-body-bg-rgb: 255,255,255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0,0,0;--bs-secondary-color: rgba(29,45,53,0.75);--bs-secondary-color-rgb: 29,45,53;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233,236,239;--bs-tertiary-color: rgba(29,45,53,0.5);--bs-tertiary-color-rgb: 29,45,53;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248,249,250;--bs-heading-color: inherit;--bs-link-color: #3347ff;--bs-link-color-rgb: 51,71.4,255;--bs-link-decoration: none;--bs-link-hover-color: #2939cc;--bs-link-hover-color-rgb: 41,57,204;--bs-link-hover-decoration: underline;--bs-code-color: #d63384;--bs-highlight-color: #1d2d35;--bs-highlight-bg: #fcf2dd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0,0,0,0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0,0,0,0.075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(51,71,255,0.25);--bs-form-valid-color: #84ee53;--bs-form-valid-border-color: #84ee53;--bs-form-invalid-color: #ee5389;--bs-form-invalid-border-color: #ee5389}[data-bs-theme="dark"]{color-scheme:dark;--bs-body-color: #c1c3c8;--bs-body-color-rgb: 192.831,194.7078,199.869;--bs-body-bg: #17181c;--bs-body-bg-rgb: 22.95,24.31,28.05;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255,255,255;--bs-secondary-color: rgba(193,195,200,0.75);--bs-secondary-color-rgb: 192.831,194.7078,199.869;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52,58,64;--bs-tertiary-color: rgba(193,195,200,0.5);--bs-tertiary-color-rgb: 192.831,194.7078,199.869;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43,48,53;--bs-primary-text-emphasis: #8591ff;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #b5f598;--bs-info-text-emphasis: #8591ff;--bs-warning-text-emphasis: #f5d798;--bs-danger-text-emphasis: #f598b8;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #0a0e33;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #1a3011;--bs-info-bg-subtle: #0a0e33;--bs-warning-bg-subtle: #302611;--bs-danger-bg-subtle: #30111b;--bs-light-bg-subtle: #23262f;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #1f2b99;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #4f8f32;--bs-info-border-subtle: #1f2b99;--bs-warning-border-subtle: #8f7132;--bs-danger-border-subtle: #8f3252;--bs-light-border-subtle: #353841;--bs-dark-border-subtle: #343a40;--bs-heading-color: #fff;--bs-link-color: #b3c7ff;--bs-link-hover-color: #c2d2ff;--bs-link-color-rgb: 178.5,198.9,255;--bs-link-hover-color-rgb: 194,210,255;--bs-code-color: #e685b5;--bs-highlight-color: #c1c3c8;--bs-highlight-bg: #5f4c21;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255,255,255,0.15);--bs-form-valid-color: #b5f598;--bs-form-valid-border-color: #b5f598;--bs-form-invalid-color: #f598b8;--bs-form-invalid-border-color: #f598b8}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:700;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}p{margin-top:0;margin-bottom:1rem}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:none}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb);text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button{text-transform:none}[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}summary{display:list-item;cursor:pointer}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:400}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.img-fluid{max-width:100%;height:auto}.figure{display:inline-block}.container,.container-fluid,.container-lg{--bs-gutter-x: 3rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container{max-width:960px}}@media (min-width: 1200px){.container-lg,.container{max-width:1240px}}@media (min-width: 1400px){.container-lg,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 3rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.col-auto{flex:0 0 auto;width:auto}@media (min-width: 768px){.col-md-6{flex:0 0 auto;width:37.5%}.col-md-12{flex:0 0 auto;width:75%}}@media (min-width: 992px){.col-lg-3{flex:0 0 auto;width:18.75%}.col-lg-4{flex:0 0 auto;width:25%}.col-lg-5{flex:0 0 auto;width:31.25%}.col-lg-8{flex:0 0 auto;width:50%}.col-lg-9{flex:0 0 auto;width:56.25%}.col-lg-10{flex:0 0 auto;width:62.5%}.col-lg-11{flex:0 0 auto;width:68.75%}.col-lg-12{flex:0 0 auto;width:75%}}@media (min-width: 1200px){.col-xl-3{flex:0 0 auto;width:18.75%}.col-xl-8{flex:0 0 auto;width:50%}.col-xl-9{flex:0 0 auto;width:56.25%}.col-xl-10{flex:0 0 auto;width:62.5%}}.sticky-top{position:sticky;top:0;z-index:1020}.visually-hidden{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption){position:absolute !important}.visually-hidden *{overflow:hidden !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.table,table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*,table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody,table>tbody{vertical-align:inherit}.table>thead,table>thead{vertical-align:bottom}[data-bs-theme="dark"] table{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #4d5154;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#99a3ff;outline:0;box-shadow:none}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}li input[type="checkbox"]{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}li input[type="checkbox"]{border-radius:.25em}li input[type="radio"][type="checkbox"]{border-radius:50%}li input[type="checkbox"]:active{filter:brightness(90%)}li input[type="checkbox"]:focus{border-color:#99a3ff;outline:0;box-shadow:0 0 0 .25rem rgba(51,71,255,0.25)}li input[type="checkbox"]:checked{background-color:#3347ff;border-color:#3347ff}li input:checked[type="checkbox"]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}li input[type="checkbox"]:checked[type="radio"]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}li input[type="checkbox"]:indeterminate{background-color:#3347ff;border-color:#3347ff;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}li input[type="checkbox"]:disabled{pointer-events:none;filter:none;opacity:.5}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 0 rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);text-decoration:none;background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #3347ff;--bs-btn-border-color: #3347ff;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #2b3dd9;--bs-btn-hover-border-color: #2939cc;--bs-btn-focus-shadow-rgb: 82,99,255;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2939cc;--bs-btn-active-border-color: #2636bf;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #3347ff;--bs-btn-disabled-border-color: #3347ff}.btn-outline-primary{--bs-btn-color: #3347ff;--bs-btn-border-color: #3347ff;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #3347ff;--bs-btn-hover-border-color: #3347ff;--bs-btn-focus-shadow-rgb: 51,71.4,255;--bs-btn-active-color: #fff;--bs-btn-active-bg: #3347ff;--bs-btn-active-border-color: #3347ff;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #3347ff;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #3347ff;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 82,99,255;text-decoration:none}.btn-link:hover,.btn-link:focus-visible{text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);background:none;border:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color);text-decoration:none}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(51,71,255,0.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2829,45,53,0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: 0;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color);text-decoration:none}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar[data-bs-theme="dark"]{--bs-navbar-color: #c1c3c8;--bs-navbar-hover-color: #b3c7ff;--bs-navbar-disabled-color: rgba(255,255,255,0.25);--bs-navbar-active-color: #b3c7ff;--bs-navbar-brand-color: #b3c7ff;--bs-navbar-brand-hover-color: #b3c7ff;--bs-navbar-toggler-border-color: rgba(255,255,255,0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c1c3c8' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: #e9ecef;--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 1.5rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-text:last-child{margin-bottom:0}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(51,71,255,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #3347ff;--bs-pagination-active-border-color: #3347ff;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);text-decoration:none;background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(51,71,255,0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}:root,[data-bs-theme="light"]{--bs-btn-close-filter: }[data-bs-theme="dark"]{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.show .modal-dialog{transform:none}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}:root,[data-bs-theme="light"]{--bs-carousel-indicator-active-bg: #fff;--bs-carousel-caption-color: #fff;--bs-carousel-control-icon-filter: }[data-bs-theme="dark"]{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 332px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.d-flex{display:flex !important}.d-none{display:none !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.w-100{width:100% !important}.h-auto{height:auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-grow-1{flex-grow:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.order-3{order:3 !important}.m-2{margin:.5rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.me-2{margin-right:.5rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-auto{margin-left:auto !important}.mt-n3{margin-top:-1rem !important}.p-0{padding:0 !important}.p-2{padding:.5rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.pt-4{padding-top:1.5rem !important}.pe-4{padding-right:1.5rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.ps-3{padding-left:1rem !important}.gap-4{gap:1.5rem !important}.fs-5{font-size:1.25rem !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-25{--bs-bg-opacity: .25}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}@media (min-width: 576px){.flex-sm-row{flex-direction:row !important}}@media (min-width: 768px){.d-md-block{display:block !important}.d-md-none{display:none !important}.flex-md-row{flex-direction:row !important}}@media (min-width: 992px){.d-lg-block{display:block !important}.d-lg-flex{display:flex !important}.d-lg-none{display:none !important}.flex-lg-row{flex-direction:row !important}.order-lg-4{order:4 !important}.me-lg-3{margin-right:1rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}}@media (min-width: 1200px){.d-xl-block{display:block !important}.d-xl-none{display:none !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:local("Jost Regular Regular"),local("Jost-Regular"),local("Jost* Book"),local("Jost-Book"),url("fonts/vendor/jost/jost-v4-latin-regular.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-regular.woff") format("woff")}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:local("Jost Regular Medium"),local("JostRoman-Medium"),local("Jost* Medium"),local("Jost-Medium"),url("fonts/vendor/jost/jost-v4-latin-500.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-500.woff") format("woff")}@font-face{font-family:Jost;font-style:normal;font-weight:700;font-display:swap;src:local("Jost Regular Bold"),local("JostRoman-Bold"),local("Jost* Bold"),local("Jost-Bold"),url("fonts/vendor/jost/jost-v4-latin-700.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-700.woff") format("woff")}@font-face{font-family:Jost;font-style:italic;font-weight:400;font-display:swap;src:local("Jost Italic Italic"),local("Jost-Italic"),local("Jost* BookItalic"),local("Jost-BookItalic"),url("fonts/vendor/jost/jost-v4-latin-italic.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-italic.woff") format("woff")}@font-face{font-family:Jost;font-style:italic;font-weight:500;font-display:swap;src:local("Jost Italic Medium Italic"),local("JostItalic-Medium"),local("Jost* Medium Italic"),local("Jost-MediumItalic"),url("fonts/vendor/jost/jost-v4-latin-500italic.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-500italic.woff") format("woff")}@font-face{font-family:Jost;font-style:italic;font-weight:700;font-display:swap;src:local("Jost Italic Bold Italic"),local("JostItalic-Bold"),local("Jost* Bold Italic"),local("Jost-BoldItalic"),url("fonts/vendor/jost/jost-v4-latin-700italic.woff2") format("woff2"),url("fonts/vendor/jost/jost-v4-latin-700italic.woff") format("woff")}.blog .content,.error404 .content,.docs.list .content,.showcase.list .content,.list.section .content{padding-top:1rem;padding-bottom:3rem}.content img{max-width:100%}h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:2rem;margin-bottom:1rem}@media (min-width: 768px){body{font-size:1.125rem}h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4,.h5{margin-bottom:1.125rem}}.home h1,.home .h1{font-size:calc(1.875rem + 1.5vw);margin-top:-1rem}a:hover,a:focus{text-decoration:underline}a.btn:hover,a.btn:focus{text-decoration:none}.section{padding-top:5rem;padding-bottom:5rem}body.section{padding-top:0;padding-bottom:0}.section-md{padding-top:3rem;padding-bottom:3rem}.section-sm{padding-top:1rem;padding-bottom:1rem}.docs-sidebar{order:2}@media (min-width: 992px){.docs-sidebar{order:0;border-right:1px solid #e9ecef}@supports (position: sticky){.docs-sidebar{position:sticky;top:4.25rem;z-index:1000;height:calc(100vh - 4.25rem)}.docs-sidebar-offset{top:4.5rem;height:calc(100vh - 4.5rem)}}}@media (min-width: 1200px){.docs-sidebar{flex:0 1 320px}}.docs-links{padding-bottom:5rem}@media (min-width: 992px){@supports (position: sticky){.docs-links{max-height:calc(100vh - 4rem);overflow-y:scroll}}}@media (min-width: 992px){.docs-links{display:block;width:auto;margin-right:-1.5rem;padding-bottom:4rem}}.docs-toc{order:2}@supports (position: sticky){.docs-toc{position:sticky;top:4.25rem;height:calc(100vh - 4.25rem);overflow-y:auto}.docs-toc-offset{top:4.5rem;height:calc(100vh - 4.5rem)}}.docs-content{padding-bottom:3rem;order:1}.navbar a:hover,.navbar a:focus{text-decoration:none}#TableOfContents ul,#toc ul{padding-left:0;list-style:none}#toc a.active{color:#3347ff;font-weight:500}.section-features{padding-top:2rem}.bg-dots{background-image:radial-gradient(#dee2e6 15%, transparent 15%);background-position:0 0;background-size:1rem 1rem;-webkit-mask:linear-gradient(to top, #fff, transparent);mask:linear-gradient(to top, #fff, transparent);width:100%;height:11rem;margin-top:-10rem;z-index:-1}.modal-backdrop{background-color:#fff}.modal-backdrop.show{opacity:0.7}@media (min-width: 768px){.modal-backdrop.show{opacity:0}}li input[type="checkbox"]{margin:0.25rem;border:1px solid #ced4da}li input[type="checkbox"]:disabled{pointer-events:none;filter:none;opacity:1}li input[type="checkbox"]:checked{background-color:#5d2f86;border-color:#5d2f86}[data-bs-theme="dark"] li input[type="checkbox"]{border:1px solid #6c757d}[data-bs-theme="dark"] li input[type="checkbox"]:checked{background-color:#b3c7ff;border-color:#b3c7ff;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%231d2d35' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.container-fw{min-width:0}.card-nav{-moz-column-gap:1rem;column-gap:1rem}.card-nav .card{margin:0.5rem 0}.card-nav .card:hover{border:1px solid #d9d9d9;background-color:var(--sl-color-gray-7)}[data-bs-theme="dark"] .card-nav .card{border:1px solid #353841}[data-bs-theme="dark"] .card-nav .card:hover{border:1px solid #888c96;background-color:var(--sl-color-gray-6)}.highlight>.chroma{border:1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)}.bg{background-color:var(--sl-color-gray-7)}.chroma{background-color:var(--sl-color-gray-7)}.chroma .err{color:inherit}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#0000001a}.chroma .hl{border-inline-start:0.15rem solid #00000055;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.chroma .hl .ln{margin-left:-0.15rem}.chroma .lnt{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#000000;font-weight:bold}.chroma .kc{color:#000000;font-weight:bold}.chroma .kd{color:#000000;font-weight:bold}.chroma .kn{color:#000000;font-weight:bold}.chroma .kp{color:#000000;font-weight:bold}.chroma .kr{color:#000000;font-weight:bold}.chroma .kt{color:#445588;font-weight:bold}.chroma .na{color:#008080}.chroma .nb{color:#0086b3}.chroma .bp{color:#999999}.chroma .nc{color:#445588;font-weight:bold}.chroma .no{color:#008080}.chroma .nd{color:#3c5d5d;font-weight:bold}.chroma .ni{color:#800080}.chroma .ne{color:#990000;font-weight:bold}.chroma .nf{color:#990000;font-weight:bold}.chroma .nl{color:#990000;font-weight:bold}.chroma .nn{color:#555555}.chroma .nt{color:#000080}.chroma .nv{color:#008080}.chroma .vc{color:#008080}.chroma .vg{color:#008080}.chroma .vi{color:#008080}.chroma .s{color:#dd1144}.chroma .sa{color:#dd1144}.chroma .sb{color:#dd1144}.chroma .sc{color:#dd1144}.chroma .dl{color:#dd1144}.chroma .sd{color:#dd1144}.chroma .s2{color:#dd1144}.chroma .se{color:#dd1144}.chroma .sh{color:#dd1144}.chroma .si{color:#dd1144}.chroma .sx{color:#dd1144}.chroma .sr{color:#009926}.chroma .s1{color:#dd1144}.chroma .ss{color:#990073}.chroma .m{color:#009999}.chroma .mb{color:#009999}.chroma .mf{color:#009999}.chroma .mh{color:#009999}.chroma .mi{color:#009999}.chroma .il{color:#009999}.chroma .mo{color:#009999}.chroma .o{color:#000000;font-weight:bold}.chroma .ow{color:#000000;font-weight:bold}.chroma .c{color:#999988;font-style:italic}.chroma .ch{color:#999988;font-style:italic}.chroma .cm{color:#999988;font-style:italic}.chroma .c1{color:#999988;font-style:italic}.chroma .cs{color:#999999;font-weight:bold;font-style:italic}.chroma .cp{color:#999999;font-weight:bold;font-style:italic}.chroma .cpf{color:#999999;font-weight:bold;font-style:italic}.chroma .gd{color:#000000;background-color:#ffdddd}.chroma .ge{color:inherit;font-style:italic}.chroma .gr{color:#aa0000}.chroma .gh{color:#999999}.chroma .gi{color:#000000;background-color:#ddffdd}.chroma .go{color:#888888}.chroma .gp{color:#555555}.chroma .gs{font-weight:bold}.chroma .gu{color:#aaaaaa}.chroma .gt{color:#aa0000}.chroma .gl{text-decoration:underline}.chroma .w{color:#bbbbbb}[data-bs-theme="dark"] .highlight>.chroma{border:1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)}[data-bs-theme="dark"] .bg{color:#c9d1d9;background-color:var(--sl-color-gray-6)}[data-bs-theme="dark"] .chroma{color:#c9d1d9;background-color:var(--sl-color-gray-6)}[data-bs-theme="dark"] .chroma .err{color:inherit}[data-bs-theme="dark"] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}[data-bs-theme="dark"] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-bs-theme="dark"] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}[data-bs-theme="dark"] .chroma .hl{background-color:#ffffff17}[data-bs-theme="dark"] .chroma .hl{border-inline-start:0.15rem solid #ffffff40;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}[data-bs-theme="dark"] .chroma .hl .ln{margin-left:-0.15rem}[data-bs-theme="dark"] .chroma .lnt{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#64686c}[data-bs-theme="dark"] .chroma .ln{white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681}[data-bs-theme="dark"] .chroma .line{display:flex}[data-bs-theme="dark"] .chroma .k{color:#ff7b72}[data-bs-theme="dark"] .chroma .kc{color:#79c0ff}[data-bs-theme="dark"] .chroma .kd{color:#ff7b72}[data-bs-theme="dark"] .chroma .kn{color:#ff7b72}[data-bs-theme="dark"] .chroma .kp{color:#79c0ff}[data-bs-theme="dark"] .chroma .kr{color:#ff7b72}[data-bs-theme="dark"] .chroma .kt{color:#ff7b72}[data-bs-theme="dark"] .chroma .na{color:#d2a8ff}[data-bs-theme="dark"] .chroma .nc{color:#f0883e;font-weight:bold}[data-bs-theme="dark"] .chroma .no{color:#79c0ff;font-weight:bold}[data-bs-theme="dark"] .chroma .nd{color:#d2a8ff;font-weight:bold}[data-bs-theme="dark"] .chroma .ni{color:#ffa657}[data-bs-theme="dark"] .chroma .ne{color:#f0883e;font-weight:bold}[data-bs-theme="dark"] .chroma .nf{color:#d2a8ff;font-weight:bold}[data-bs-theme="dark"] .chroma .nl{color:#79c0ff;font-weight:bold}[data-bs-theme="dark"] .chroma .nn{color:#ff7b72}[data-bs-theme="dark"] .chroma .py{color:#79c0ff}[data-bs-theme="dark"] .chroma .nt{color:#7ee787}[data-bs-theme="dark"] .chroma .nv{color:#79c0ff}[data-bs-theme="dark"] .chroma .l{color:#a5d6ff}[data-bs-theme="dark"] .chroma .ld{color:#79c0ff}[data-bs-theme="dark"] .chroma .s{color:#a5d6ff}[data-bs-theme="dark"] .chroma .sa{color:#79c0ff}[data-bs-theme="dark"] .chroma .sb{color:#a5d6ff}[data-bs-theme="dark"] .chroma .sc{color:#a5d6ff}[data-bs-theme="dark"] .chroma .dl{color:#79c0ff}[data-bs-theme="dark"] .chroma .sd{color:#a5d6ff}[data-bs-theme="dark"] .chroma .s2{color:#a5d6ff}[data-bs-theme="dark"] .chroma .se{color:#79c0ff}[data-bs-theme="dark"] .chroma .sh{color:#79c0ff}[data-bs-theme="dark"] .chroma .si{color:#a5d6ff}[data-bs-theme="dark"] .chroma .sx{color:#a5d6ff}[data-bs-theme="dark"] .chroma .sr{color:#79c0ff}[data-bs-theme="dark"] .chroma .s1{color:#a5d6ff}[data-bs-theme="dark"] .chroma .ss{color:#a5d6ff}[data-bs-theme="dark"] .chroma .m{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mb{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mf{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mh{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mi{color:#a5d6ff}[data-bs-theme="dark"] .chroma .il{color:#a5d6ff}[data-bs-theme="dark"] .chroma .mo{color:#a5d6ff}[data-bs-theme="dark"] .chroma .o{color:inherit;font-weight:bold}[data-bs-theme="dark"] .chroma .ow{color:#ff7b72;font-weight:bold}[data-bs-theme="dark"] .chroma .c{color:#8b949e;font-style:italic}[data-bs-theme="dark"] .chroma .ch{color:#8b949e;font-style:italic}[data-bs-theme="dark"] .chroma .cm{color:#8b949e;font-style:italic}[data-bs-theme="dark"] .chroma .c1{color:#8b949e;font-style:italic}[data-bs-theme="dark"] .chroma .cs{color:#8b949e;font-weight:bold;font-style:italic}[data-bs-theme="dark"] .chroma .cp{color:#8b949e;font-weight:bold;font-style:italic}[data-bs-theme="dark"] .chroma .cpf{color:#8b949e;font-weight:bold;font-style:italic}[data-bs-theme="dark"] .chroma .gd{color:#ffa198;background-color:#490202}[data-bs-theme="dark"] .chroma .ge{font-style:italic}[data-bs-theme="dark"] .chroma .gr{color:#ffa198}[data-bs-theme="dark"] .chroma .gh{color:#79c0ff;font-weight:bold}[data-bs-theme="dark"] .chroma .gi{color:#56d364;background-color:#0f5323}[data-bs-theme="dark"] .chroma .go{color:#8b949e}[data-bs-theme="dark"] .chroma .gp{color:#8b949e}[data-bs-theme="dark"] .chroma .gs{font-weight:bold}[data-bs-theme="dark"] .chroma .gu{color:#79c0ff}[data-bs-theme="dark"] .chroma .gt{color:#ff7b72}[data-bs-theme="dark"] .chroma .gl{text-decoration:underline}[data-bs-theme="dark"] .chroma .w{color:#6e7681}[data-bs-theme="dark"] h1,[data-bs-theme="dark"] .h1,[data-bs-theme="dark"] h2,[data-bs-theme="dark"] .h2,[data-bs-theme="dark"] h3,[data-bs-theme="dark"] .h3,[data-bs-theme="dark"] h4,[data-bs-theme="dark"] .h4{color:#fff}[data-bs-theme="dark"] body{background:#17181c;color:#c1c3c8}[data-bs-theme="dark"] a{color:#b3c7ff}[data-bs-theme="dark"] .callout a{color:inherit}[data-bs-theme="dark"] .btn-primary{--bs-btn-color: #000;--bs-btn-bg: #b3c7ff;--bs-btn-border-color: #b3c7ff;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #becfff;--bs-btn-hover-border-color: #bacdff;--bs-btn-focus-shadow-rgb: 152,169,217;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2d2ff;--bs-btn-active-border-color: #bacdff;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #b3c7ff;--bs-btn-disabled-border-color: #b3c7ff;color:#17181c}[data-bs-theme="dark"] .btn-outline-primary{--bs-btn-color: #b3c7ff;--bs-btn-border-color: #b3c7ff;--bs-btn-hover-color: #b3c7ff;--bs-btn-hover-bg: #b3c7ff;--bs-btn-hover-border-color: #b3c7ff;--bs-btn-focus-shadow-rgb: 178.5,198.9,255;--bs-btn-active-color: #000;--bs-btn-active-bg: #b3c7ff;--bs-btn-active-border-color: #b3c7ff;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #b3c7ff;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #b3c7ff;--bs-gradient: none;color:#b3c7ff}[data-bs-theme="dark"] .btn-outline-primary:hover{color:#17181c}[data-bs-theme="dark"] .navbar{background-color:rgba(23,24,28,0.95);border-bottom:1px solid #23262f}[data-bs-theme="dark"] body.home .navbar{border-bottom:0}[data-bs-theme="dark"] .offcanvas-header{border-bottom:1px solid #343a40}[data-bs-theme="dark"] .offcanvas .nav-link{color:#c1c3c8}[data-bs-theme="dark"] .offcanvas .nav-link:hover,[data-bs-theme="dark"] .offcanvas .nav-link:focus{color:#b3c7ff}[data-bs-theme="dark"] .offcanvas .nav-link.active{color:#b3c7ff}[data-bs-theme="dark"] .page-links a{color:#c1c3c8}[data-bs-theme="dark"] .page-links a:hover{text-decoration:none;color:#b3c7ff}[data-bs-theme="dark"] .navbar .btn-link{color:#c1c3c8}[data-bs-theme="dark"] .content .btn-link{color:#b3c7ff}[data-bs-theme="dark"] .content .btn-link:hover{color:#b3c7ff}[data-bs-theme="dark"] .navbar .btn-link:hover{color:#b3c7ff}[data-bs-theme="dark"] .navbar .btn-link:active{color:#b3c7ff}[data-bs-theme="dark"] .form-control{color:#dee2e6}[data-bs-theme="dark"] .form-control::-moz-placeholder{color:#ced4da;opacity:1}[data-bs-theme="dark"] .form-control::placeholder{color:#ced4da;opacity:1}@media (min-width: 992px){[data-bs-theme="dark"] .docs-sidebar{order:0;border-right:1px solid #23262f}}[data-bs-theme="dark"] blockquote{border-left:3px solid #23262f}[data-bs-theme="dark"] .footer{border-top:1px solid #23262f}[data-bs-theme="dark"] .docs-links,[data-bs-theme="dark"] .docs-toc{scrollbar-width:thin;scrollbar-color:#17181c #17181c}[data-bs-theme="dark"] .docs-links::-webkit-scrollbar,[data-bs-theme="dark"] .docs-toc::-webkit-scrollbar{width:5px}[data-bs-theme="dark"] .docs-links::-webkit-scrollbar-track,[data-bs-theme="dark"] .docs-toc::-webkit-scrollbar-track{background:#17181c}[data-bs-theme="dark"] .docs-links::-webkit-scrollbar-thumb,[data-bs-theme="dark"] .docs-toc::-webkit-scrollbar-thumb{background:#17181c}[data-bs-theme="dark"] .docs-links:hover,[data-bs-theme="dark"] .docs-toc:hover{scrollbar-width:thin;scrollbar-color:#23262f #17181c}[data-bs-theme="dark"] .docs-links:hover::-webkit-scrollbar-thumb,[data-bs-theme="dark"] .docs-toc:hover::-webkit-scrollbar-thumb{background:#23262f}[data-bs-theme="dark"] .docs-links::-webkit-scrollbar-thumb:hover,[data-bs-theme="dark"] .docs-toc::-webkit-scrollbar-thumb:hover{background:#23262f}[data-bs-theme="dark"] .docs-links h3:not(:first-child),[data-bs-theme="dark"] .docs-links .h3:not(:first-child){border-top:1px solid #23262f}[data-bs-theme="dark"] .page-links li:not(:first-child){border-top:1px dashed #23262f}[data-bs-theme="dark"] .card{background:#17181c;border:1px solid #23262f}[data-bs-theme="dark"] .card.bg-light{background:#23262f !important}[data-bs-theme="dark"] .bg-light{background:#141518 !important}[data-bs-theme="dark"] .bg-dots{background-image:radial-gradient(#414349 15%, transparent 15%)}[data-bs-theme="dark"] .text-muted{color:#adafb6 !important}[data-bs-theme="dark"] .offcanvas{background-color:#17181c}[data-bs-theme="dark"] .page-link{color:#b3c7ff;background-color:transparent;border:var(--bs-border-width) solid #23262f}[data-bs-theme="dark"] .page-link:hover{color:#17181c;background-color:#c1c3c8;border-color:#c1c3c8}[data-bs-theme="dark"] .page-link:focus{color:#17181c;background-color:#c1c3c8}[data-bs-theme="dark"] .page-item.active .page-link{color:#17181c;background-color:#b3c7ff;border-color:#b3c7ff}[data-bs-theme="dark"] .page-item.disabled .page-link{color:var(--bs-secondary-color);background-color:#23262f;border-color:#23262f}[data-bs-theme="dark"] details{border:1px solid #23262f}[data-bs-theme="dark"] summary:hover{background:#23262f}[data-bs-theme="dark"] details[open]>summary{border-bottom:1px solid #23262f}[data-bs-theme="dark"] details summary::after{content:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28222, 226, 230, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e")}[data-bs-theme="dark"] #toc a.active{color:#b3c7ff}[data-bs-theme="dark"] table th{color:#fff}[data-bs-theme="dark"] table,[data-bs-theme="dark"] [data-bs-theme="dark"] table{--bs-table-color: inherit;--bs-table-bg: $body-bg-dark;background:#17181c;border-color:#23262f}.btn-close:focus,.btn-close:active{outline:none;box-shadow:none}.navbar .btn-link{color:rgba(var(--bs-emphasis-color-rgb), 0.65);padding:0.4375rem 0}.btn-link:focus{outline:0;box-shadow:none}@media (min-width: 992px){.navbar .btn-link{padding:0.5625em 0.25rem 0.5rem 0.125rem}}.navbar .btn-link:hover{color:rgba(var(--bs-emphasis-color-rgb), 0.8)}.navbar .btn-link:active{color:rgba(var(--bs-emphasis-color-rgb), 1)}.btn-close{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");background-size:1.5rem}.offcanvas-header .btn-close{margin-right:0 !important}.clipboard{position:relative;float:right}.btn-clipboard{transition:opacity 0.25s ease-in-out;opacity:0;position:absolute;right:0.5rem;top:0.5rem;line-height:1;padding:0.3125rem 0.3125rem 0.1875rem;background-color:transparent;border-color:transparent}@media (max-width: 767.98px){.btn-clipboard{position:absolute;right:-0.5rem;top:0.5rem}}.btn-clipboard::after{width:22px;height:22px;display:inline-block;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:#495057}.btn-clipboard:hover{border-color:transparent}.btn-clipboard:hover::after{width:22px;height:22px;display:inline-block;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-copy' width='22' height='22' viewBox='0 0 24 24' stroke-width='1' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M8 8m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z'%3E%3C/path%3E%3Cpath d='M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:#212529}.btn-clipboard:focus,.btn-clipboard:active{border-color:transparent !important}.btn-clipboard:focus::after,.btn-clipboard:active::after{width:22px;height:22px;display:inline-block;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;background-color:#212529}[data-bs-theme="dark"] .btn-clipboard{background-color:transparent;border-color:transparent}[data-bs-theme="dark"] .btn-clipboard::after{background-color:#ced4da}[data-bs-theme="dark"] .btn-clipboard:hover{border-color:transparent}[data-bs-theme="dark"] .btn-clipboard:hover::after{background-color:#e9ecef}[data-bs-theme="dark"] .btn-clipboard:focus,[data-bs-theme="dark"] .btn-clipboard:active{border-color:transparent}[data-bs-theme="dark"] .btn-clipboard:focus::after,[data-bs-theme="dark"] .btn-clipboard:active::after{background-color:#e9ecef}.highlight{position:relative}@media (min-width: 768px){.highlight:hover .btn-clipboard{opacity:1}}.btn-cta{padding-left:2rem;padding-right:2rem}.callout{--bs-link-color-rgb: var(--callout-link);--bs-code-color: var(--callout-code-color);color:var(--callout-color, inherit);background-color:var(--callout-bg, var(--bs-gray-100));border-left:0.25rem solid var(--callout-border, var(--bs-gray-300));border-radius:0}.callout a{text-decoration:underline}.callout .highlight{background-color:rgba(0,0,0,0.05)}.callout-content{min-width:0}.callout.callout-note{border-color:var(--sl-color-blue);background-color:var(--sl-color-blue-high)}.callout.callout-note .callout-body a{color:var(--sl-color-blue-low)}.callout.callout-note .callout-body,.callout.callout-note .callout-body a:hover,.callout.callout-note .callout-body a:active{color:var(--sl-color-white)}.callout.callout-tip{border-color:var(--sl-color-purple);background-color:var(--sl-color-purple-high)}.callout.callout-tip .callout-body a{color:var(--sl-color-purple-low)}.callout.callout-tip .callout-body,.callout.callout-tip .callout-body a:hover,.callout.callout-tip .callout-body a:active{color:var(--sl-color-white)}[data-bs-theme="dark"] .callout{color:var(--sl-color-gray-1)}[data-bs-theme="dark"] .callout.callout-note{border-color:var(--sl-color-blue);background-color:var(--sl-color-blue-low)}[data-bs-theme="dark"] .callout.callout-note .callout-body a{color:var(--sl-color-blue-high)}[data-bs-theme="dark"] .callout.callout-note .callout-body,[data-bs-theme="dark"] .callout.callout-note .callout-body a:hover,[data-bs-theme="dark"] .callout.callout-note .callout-body a:active{color:var(--sl-color-white)}[data-bs-theme="dark"] .callout.callout-note code:not(:where(.not-content *)){color:var(--ec-codeFg)}[data-bs-theme="dark"] .callout.callout-tip{border-color:var(--sl-color-purple);background-color:var(--sl-color-purple-low)}[data-bs-theme="dark"] .callout.callout-tip .callout-body a{color:var(--sl-color-purple-high)}[data-bs-theme="dark"] .callout.callout-tip .callout-body,[data-bs-theme="dark"] .callout.callout-tip .callout-body a:hover,[data-bs-theme="dark"] .callout.callout-tip .callout-body a:active{color:var(--sl-color-white)}[data-bs-theme="dark"] .callout.callout-tip code:not(:where(.not-content *)){color:var(--ec-codeFg)}.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);line-height:var(--ec-uiLineHt);-moz-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;margin:1.5rem 0}.expressive-code *:not(path){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre>code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{padding-inline:var(--ec-codePadInl);padding-inline-end:calc(2rem + var(--ec-codePadInl));direction:ltr;unicode-bidi:isolate}.expressive-code .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}.expressive-code .ec-line.mark{--tmLineBgCol: var(--ec-tm-markBg);--tmLineBrdCol: var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol: var(--ec-tm-insBg);--tmLineBrdCol: var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins::before{content:var(--ec-tm-insDiffIndContent);color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol: var(--ec-tm-delBg);--tmLineBrdCol: var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del::before{content:var(--ec-tm-delDiffIndContent);color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{position:relative;background:var(--tmLineBgCol);min-width:calc(100% - var(--ec-tm-lineMarkerAccentMarg));margin-inline-start:var(--ec-tm-lineMarkerAccentMarg);border-inline-start:var(--ec-tm-lineMarkerAccentWd) solid var(--tmLineBrdCol);padding-inline-start:calc(var(--ec-codePadInl) - var(--ec-tm-lineMarkerAccentMarg) - var(--ec-tm-lineMarkerAccentWd)) !important}.expressive-code .ec-line.mark::before,.expressive-code .ec-line.ins::before,.expressive-code .ec-line.del::before{position:absolute;left:var(--ec-tm-lineDiffIndMargLeft)}.expressive-code .ec-line mark,.expressive-code .ec-line .mark{--tmInlineBgCol: var(--ec-tm-markBg);--tmInlineBrdCol: var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol: var(--ec-tm-insBg);--tmInlineBrdCol: var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol: var(--ec-tm-delBg);--tmInlineBrdCol: var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line .mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL: var(--ec-tm-inlMarkerBrdWd);--tmBrdR: var(--ec-tm-inlMarkerBrdWd);--tmRadL: var(--ec-tm-inlMarkerBrdRad);--tmRadR: var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line .open-start.mark,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL: 0px;--tmRadL: 0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line .open-end.mark,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR: 0px;--tmRadR: 0}.expressive-code .ec-line mark::before,.expressive-code .ec-line .mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:"";position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius: calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius: calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing: 0.4rem;--code-background: var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:"\a0"}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing: calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:"";position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:"";position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing: calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background: var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:"";position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:"";position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2);direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:"";position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:focus::after,.expressive-code .copy button:active::after{display:inline-block;content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' stroke-width='1.25' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M5 12l5 5l10 -10'%3E%3C/path%3E%3C/svg%3E") no-repeat 50% 50%;-webkit-mask-size:cover;mask-size:cover;margin:0.2375rem}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size: 0.35rem;--tooltip-bg: var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:"";position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible~.copy button:not(:hover),.expressive-code .frame .copy .feedback.show~button:not(:hover){opacity:0.75}}:root{--ec-brdRad: 0px;--ec-brdWd: 1px;--ec-brdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml: var(--__sl-font-mono);--ec-codeFontSize: var(--sl-text-code);--ec-codeFontWg: 400;--ec-codeLineHt: var(--sl-line-height);--ec-codePadBlk: 0;--ec-codePadInl: 1rem;--ec-codeBg: #011627;--ec-codeFg: #d6deeb;--ec-codeSelBg: #1d3b53;--ec-uiFontFml: var(--__sl-font);--ec-uiFontSize: 0.9rem;--ec-uiFontWg: 400;--ec-uiLineHt: 1.65;--ec-uiPadBlk: 0.25rem;--ec-uiPadInl: 1rem;--ec-uiSelBg: #234d708c;--ec-uiSelFg: #ffffff;--ec-focusBrd: #122d42;--ec-sbThumbCol: #ffffff17;--ec-sbThumbHoverCol: #ffffff49;--ec-tm-lineMarkerAccentMarg: 0rem;--ec-tm-lineMarkerAccentWd: 0.15rem;--ec-tm-lineDiffIndMargLeft: 0.25rem;--ec-tm-inlMarkerBrdWd: 1.5px;--ec-tm-inlMarkerBrdRad: 0.2rem;--ec-tm-inlMarkerPad: 0.15rem;--ec-tm-insDiffIndContent: "+";--ec-tm-delDiffIndContent: "-";--ec-tm-markBg: #ffffff17;--ec-tm-markBrdCol: #ffffff40;--ec-tm-insBg: #1e571599;--ec-tm-insBrdCol: #487f3bd0;--ec-tm-insDiffIndCol: #79b169d0;--ec-tm-delBg: #862d2799;--ec-tm-delBrdCol: #b4554bd0;--ec-tm-delDiffIndCol: #ed8779d0;--ec-frm-shdCol: #011627;--ec-frm-frameBoxShdCssVal: none;--ec-frm-edActTabBg: var(--sl-color-gray-6);--ec-frm-edActTabFg: var(--sl-color-text);--ec-frm-edActTabBrdCol: transparent;--ec-frm-edActTabIndHt: 1px;--ec-frm-edActTabIndTopCol: var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol: transparent;--ec-frm-edTabsMargInlStart: 0;--ec-frm-edTabsMargBlkStart: 0;--ec-frm-edTabBrdRad: 0px;--ec-frm-edTabBarBg: var(--sl-color-black);--ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg: var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa: 0.75;--ec-frm-trmTtbBg: var(--sl-color-black);--ec-frm-trmTtbFg: var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol: color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg: var(--sl-color-gray-6);--ec-frm-inlBtnFg: var(--sl-color-text);--ec-frm-inlBtnBg: var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa: 0;--ec-frm-inlBtnBgHoverOrFocusOpa: 0.2;--ec-frm-inlBtnBgActOpa: 0.3;--ec-frm-inlBtnBrd: var(--sl-color-text);--ec-frm-inlBtnBrdOpa: 0.4;--ec-frm-tooltipSuccessBg: #158744;--ec-frm-tooltipSuccessFg: white}.expressive-code .ec-line span[style^="--"]:not([class]){color:var(0, inherit);font-style:var(0fs, inherit);font-weight:var(0fw, inherit);-webkit-text-decoration:var(0td, inherit);text-decoration:var(0td, inherit)}@media (prefers-color-scheme: light){:root:not([data-bs-theme="dark"]){--ec-codeBg: #fbfbfb;--ec-codeFg: #403f53;--ec-codeSelBg: #e0e0e0;--ec-uiSelBg: #d3e8f8;--ec-uiSelFg: #403f53;--ec-focusBrd: #93a1a1;--ec-sbThumbCol: #0000001a;--ec-sbThumbHoverCol: #0000005c;--ec-tm-markBg: #0000001a;--ec-tm-markBrdCol: #00000055;--ec-tm-insBg: #8ec77d99;--ec-tm-insDiffIndCol: #336a28d0;--ec-tm-delBg: #ff9c8e99;--ec-tm-delDiffIndCol: #9d4138d0;--ec-frm-shdCol: #d9d9d9;--ec-frm-edActTabBg: var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol: #5d2f86;--ec-frm-edTabBarBg: var(--sl-color-gray-6);--ec-frm-edBg: var(--sl-color-gray-7);--ec-frm-trmTtbBg: var(--sl-color-gray-6);--ec-frm-trmBg: var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg: #078662}:root:not([data-bs-theme="dark"]) .expressive-code .ec-line span[style^="--"]:not([class]){color:var(1, inherit);font-style:var(1fs, inherit);font-weight:var(1fw, inherit);-webkit-text-decoration:var(1td, inherit);text-decoration:var(1td, inherit)}}:root[data-bs-theme="light"] .expressive-code,.expressive-code[data-bs-theme="light"]{--ec-codeBg: #fbfbfb;--ec-codeFg: #403f53;--ec-codeSelBg: #e0e0e0;--ec-uiSelBg: #d3e8f8;--ec-uiSelFg: #403f53;--ec-focusBrd: #93a1a1;--ec-sbThumbCol: #0000001a;--ec-sbThumbHoverCol: #0000005c;--ec-tm-markBg: #0000001a;--ec-tm-markBrdCol: #00000055;--ec-tm-insBg: #8ec77d99;--ec-tm-insDiffIndCol: #336a28d0;--ec-tm-delBg: #ff9c8e99;--ec-tm-delDiffIndCol: #9d4138d0;--ec-frm-shdCol: #d9d9d9;--ec-frm-edActTabBg: var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol: #5d2f86;--ec-frm-edTabBarBg: var(--sl-color-gray-6);--ec-frm-edBg: var(--sl-color-gray-7);--ec-frm-trmTtbBg: var(--sl-color-gray-6);--ec-frm-trmBg: var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg: #078662}:root[data-bs-theme="light"] .expressive-code .ec-line span[style^="--"]:not([class]),.expressive-code[data-bs-theme="light"] .ec-line span[style^="--"]:not([class]){color:var(1, inherit);font-style:var(1fs, inherit);font-weight:var(1fw, inherit);-webkit-text-decoration:var(1td, inherit);text-decoration:var(1td, inherit)}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem}code:not(:where(.not-content *)){background-color:var(--sl-color-gray-6);margin-block:-0.125rem;padding:0.125rem 0.375rem;color:inherit}[data-bs-theme="dark"] code:not(:where(.not-content *)){background-color:var(--sl-color-gray-5)}.math-block{display:block;margin:2rem 0;overflow-x:auto}.math-inline{display:inline}[data-bs-theme="dark"] .math-inline img,[data-bs-theme="dark"] .math-block img{filter:invert(1)}img.diagram{height:auto;width:100%;margin:1rem 0 2rem}img.diagram-kroki-mermaid{background:#fff}.highlight>pre{padding:0.875rem 1rem}.highlight div{padding:0}.highlight>.chroma{overflow-x:auto;border:1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)}.chroma .ln{padding:0 0.5rem 0 0}.chroma .hl{border-inline-start:0.15rem solid #0005;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.chroma .hl .ln{margin-left:-0.15rem}.highlight .chroma .lntable .lnt,.highlight .chroma .lntable .hl{display:flex}.chroma .lntd:first-child{padding:0}.chroma .lntd:first-child .lnt{padding-left:1rem}.chroma .lntd:nth-child(2){padding:0}.highlight .chroma .lntable .lntd+.lntd{width:100%}[data-bs-theme="dark"] .chroma .ln{padding:0 0.5em 0 0}.chroma .lntd pre{padding:1rem 0;margin-bottom:0}.highlight>.chroma::-webkit-scrollbar,.highlight>.chroma::-webkit-scrollbar-track{background-color:inherit;border-radius:1px;border-top-left-radius:0;border-top-right-radius:0}.highlight>.chroma::-webkit-scrollbar-thumb{background-color:#dddee0;border:4px solid transparent;background-clip:content-box;border-radius:10px}.highlight>.chroma::-webkit-scrollbar-thumb:hover{background-color:#9d9e9f}[data-bs-theme="dark"] .highlight>.chroma::-webkit-scrollbar-thumb{background-color:#ffffff17}[data-bs-theme="dark"] .highlight>.chroma::-webkit-scrollbar-thumb:hover{background-color:#ffffff49}[data-bs-theme="dark"] .highlight>.chroma{border:1px solid color-mix(in srgb, var(--sl-color-gray-5), transparent 25%)}[data-bs-theme="dark"] .chroma .hl{border-inline-start:0.15rem solid #ffffff40;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}[data-bs-theme="dark"] .chroma .hl .ln{margin-left:-0.15rem}blockquote{margin-bottom:1rem;font-size:1.25rem;border-left:3px solid #dee2e6;padding-left:1rem}details{display:block;position:relative;border:1px solid #e9ecef;border-radius:0.25rem;padding:0.5rem 1rem 0;margin:0.5rem 0}summary{list-style:none;display:inline-block;width:calc(100% + 2rem);margin:-0.5rem -1rem 0;padding:0.5rem 1rem}summary::-webkit-details-marker{display:none}summary:hover{background:#f8f9fa}details summary::after{display:inline-block;content:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%2829, 45, 53, 0.75%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/%3e%3c/svg%3e");transition:transform 0.35s ease;transform-origin:center center;position:absolute;right:1rem}details[open]>summary::after{transform:rotate(90deg)}details[open]{padding:0.5rem 1rem}details[open]>summary{border-bottom:1px solid #dee2e6;margin-bottom:0.5rem}details h2,details .h2,details h3,details .h3,details h4,details .h4{margin:1rem 0 0.5rem}details p:last-child{margin-bottom:0}details ul,details ol{margin-bottom:0}details pre{margin:0 0 1rem}.search-form label{font-weight:normal}img[data-sizes="auto"]{display:block;width:100%}.figure{display:block}.blur-up{filter:blur(5px);transition:filter 400ms}.blur-up.lazyloaded{filter:unset}figcaption{font-size:1rem;margin-top:0.5rem;font-style:italic}.search-form .form-control:focus{border:2px solid #3347ff}[data-bs-theme="dark"] .search-form .form-control:focus{border:2px solid #b3c7ff}[data-bs-theme="dark"] .search-form .btn-link{color:#b3c7ff}.search-form .btn-link,.modal-body p.message,.modal-footer{font-size:.875rem}.modal-body::-webkit-scrollbar{width:0.25rem}.modal-body::-webkit-scrollbar-track{background-color:#f1f1f1}.modal-body::-webkit-scrollbar-thumb{background-color:#c1c1c1}[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-track{background-color:#424242}[data-bs-theme="dark"] .modal-body::-webkit-scrollbar-thumb{background-color:#686868}@media (min-width: 768px){#searchModal .modal-dialog{max-height:40rem}}.search-result h2,.search-result .h2{margin-top:0}.search-result a:focus{outline:0 none}.search-result .content{margin-top:0.5rem;padding-top:0 !important;padding-bottom:0 !important}.search-result .card .content p{margin-bottom:0}.search-result .card .content a{position:relative;z-index:1}.search-result:hover .card,.search-result.selected .card{background-color:#3347ff;color:#fff}.search-result:hover .card .content a,.search-result.selected .card .content a{color:#fff;text-decoration:underline}[data-bs-theme="dark"] .search-result:hover .card,[data-bs-theme="dark"] .search-result.selected .card{background-color:#b3c7ff;color:#23262f}[data-bs-theme="dark"] .search-result:hover .card .content a,[data-bs-theme="dark"] .search-result.selected .card .content a{color:#23262f;text-decoration:underline}[data-bs-theme="dark"] .search-result:hover .card h2,[data-bs-theme="dark"] .search-result:hover .card .h2,[data-bs-theme="dark"] .search-result.selected .card h2,[data-bs-theme="dark"] .search-result.selected .card .h2{color:#17181c}.search-result .submitted{font-size:.875rem;margin-top:0.5rem}.section-nav{padding-top:2rem}.section-nav details{border:0;padding:0;margin:0.5rem 0}.section-nav details[open]{padding:0}.section-nav summary{width:100%;padding:0;margin:0;font-weight:700}.section-nav summary:hover{background:none}.section-nav details[open]>summary{border-bottom:0;margin-bottom:0}.section-nav ul.list-nested details{padding-left:1rem;margin-top:0.5rem}.section-nav ul.list-nested li{margin:0}.section-nav a{display:block;margin:0.5rem 0;color:#1d2d35;font-size:1rem;text-decoration:none}.section-nav a:hover,.section-nav a:active{color:#3347ff}.section-nav li.active a{color:#3347ff;font-weight:500}.section-nav ul.list-nested li a{padding-left:1rem}.section-nav ul.list-nested{border-left:1px solid #e9ecef}[data-bs-theme="dark"] .section-nav ul.list-nested{border-left:1px solid #23262f}[data-bs-theme="dark"] .section-nav a{color:#c1c3c8}[data-bs-theme="dark"] .section-nav a:hover,[data-bs-theme="dark"] .section-nav a:active{color:var(--sl-color-text-accent)}[data-bs-theme="dark"] .section-nav li.active a{color:var(--sl-color-text-accent);font-weight:500}[data-bs-theme="dark"] .section-nav summary{color:#fff}table{margin:3rem 0}.footer{border-top:1px solid #e9ecef;padding-top:1.125rem;padding-bottom:1.125rem}.footer ul{margin-bottom:0}.footer li{font-size:.875rem;margin-bottom:0}.footer .list-inline-item:not(:last-child){margin-right:1rem}@media (max-width: 991.98px){.footer .col-lg-8{margin-top:0.25rem;margin-bottom:0.25rem}}@media (min-width: 768px){.footer li{font-size:1rem}}.navbar-brand{font-weight:700}.navbar-brand svg{margin-right:0.25rem}[data-bs-theme="dark"] .navbar-brand{color:inherit}.navbar{z-index:1000;background-color:rgba(255,255,255,0.95);border-bottom:1px solid #e9ecef}@media (min-width: 992px){.navbar{z-index:1025}}@media (min-width: 768px){.navbar-brand{font-size:1.375rem}}.nav-item{margin-left:0}@media (max-width: 991.98px){.navbar-nav .nav-link{font-weight:400}}@media (min-width: 768px){.nav-item{margin-left:0.5rem}}@media (max-width: 575.98px){.navbar .offcanvas.offcanvas-start,.navbar .offcanvas.offcanvas-end{width:80vw}}.offcanvas-header{border-bottom:1px solid #dee2e6;padding-top:1.0625rem;padding-bottom:0.8125rem}h5.offcanvas-title,.offcanvas-title.h5{margin:0;color:inherit}.offcanvas .nav-link{color:#1d2d35}.offcanvas .nav-link:hover,.offcanvas .nav-link:focus{color:#3347ff}.offcanvas .nav-link.active{color:#3347ff}.header-bar{border-top:4px solid;border-image-source:linear-gradient(83.21deg, #ffe000 0%, #e55235 100%);border-image-slice:1}[data-bs-theme="dark"] .header-bar{border-top:4px solid;border-image-source:linear-gradient(83.21deg, var(--sl-color-accent) 0%, var(--sl-color-green) 100%);border-image-slice:1}.offcanvas .header-bar{margin-bottom:-4px}.home .navbar{border-bottom:0}@media (min-width: 992px){.navbar-brand{margin-right:0.75rem !important}}.social-link{padding-right:0.375rem;padding-left:0.375rem}@media (max-width: 991.98px){#socialMenu{margin:0.5rem 0 0.5rem -0.25rem}.navbar-nav{margin-top:1rem}.nav-item .nav-link{font-weight:400;font-size:1.125rem}}.modal-backdrop,.offcanvas-backdrop{visibility:hidden;background:rgba(23,24,28,0.5);opacity:0}[data-bs-theme="dark"] .modal-backdrop,[data-bs-theme="dark"] .offcanvas-backdrop{visibility:hidden;background:rgba(23,24,28,0.5);opacity:0}.modal-backdrop.show,.offcanvas-backdrop.show{visibility:visible;opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.showing,.hiding{transition:none;display:none}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg{padding-right:0.75rem}.docs-content>h2[id]::before,.docs-content>[id].h2::before,.docs-content>h3[id]::before,.docs-content>[id].h3::before,.docs-content>h4[id]::before,.docs-content>[id].h4::before{display:block;height:6rem;margin-top:-6rem;content:""}.docs-content ul,.docs-content ol{margin-bottom:1rem}.anchor{visibility:hidden;margin-left:0.375rem}h1:hover a,.h1:hover a,h2:hover a,.h2:hover a,h3:hover a,.h3:hover a,h4:hover a,.h4:hover a{visibility:visible;text-decoration:none}.page-footer-meta{margin-top:2rem;margin-bottom:2rem}p.meta{margin-top:0.5rem;font-size:1rem}.breadcrumb{margin-top:2.25rem;font-size:1rem}.toc-mobile{margin-top:2rem;margin-bottom:2rem}.page-link:hover{text-decoration:none}ul li{margin:0.25rem 0}.page-nav .card .icon-tabler-arrow-left{margin-right:0.75rem}.page-nav .card .icon-tabler-arrow-right{margin-left:0.75rem}.page-nav .card:hover{border:1px solid #d9d9d9}[data-bs-theme="dark"] .page-nav .card{border:1px solid #353841}[data-bs-theme="dark"] .page-nav .card:hover{border:1px solid #888c96}.container-fw{max-width:1200px}.container-fw .docs-toc{margin-left:3rem}.home .card,.blog.list .card,.blog.single .card{margin-top:2rem;margin-bottom:2rem;transition:transform 0.3s}.home .content .card:hover,.blog.list .content .card:hover,.blog.single .content .card:hover{transform:scale(1.025)}.home .content .card-body,.blog.list .content .card-body,.blog.single .content .card-body{padding:0 2rem 1rem}.pagination{display:flex;justify-content:center}.page-item:first-child,.page-item:last-child,.page-item.disabled{display:none}.page-item a{margin-left:0.5rem;margin-right:0.5rem;padding-left:0.875rem;padding-right:0.875rem}.page-item a[aria-label="Previous"],.page-item a[aria-label="Next"]{border-radius:50%}.docs-links,.docs-toc{scrollbar-width:thin;scrollbar-color:#fff #fff}.docs-links::-webkit-scrollbar,.docs-toc::-webkit-scrollbar{width:5px}.docs-links::-webkit-scrollbar-track,.docs-toc::-webkit-scrollbar-track{background:#fff}.docs-links::-webkit-scrollbar-thumb,.docs-toc::-webkit-scrollbar-thumb{background:#fff}.docs-links:hover,.docs-toc:hover{scrollbar-width:thin;scrollbar-color:#e9ecef #fff}.docs-links:hover::-webkit-scrollbar-thumb,.docs-toc:hover::-webkit-scrollbar-thumb{background:#e9ecef}.docs-links::-webkit-scrollbar-thumb:hover,.docs-toc::-webkit-scrollbar-thumb:hover{background:#e9ecef}.docs-links h3,.docs-links .h3,.page-links h3,.page-links .h3{font-size:1.125rem;margin:1.25rem 0 0.5rem;padding:1.5rem 0 0}@media (min-width: 992px){.docs-links h3,.docs-links .h3,.page-links h3,.page-links .h3{margin:1.125rem 1.5rem 0.75rem 0;padding:1.375rem 0 0}}.docs-links h3:not(:first-child),.docs-links .h3:not(:first-child){border-top:1px solid #e9ecef}.page-links li{margin-top:0.375rem;padding-top:0.375rem}.page-links li ul li{border-top:none;padding-left:1rem;margin-top:0.125rem;padding-top:0.125rem}.page-links li:not(:first-child){border-top:1px dashed #e9ecef}.page-links a{color:#1d2d35;display:block;padding:0.125rem 0;font-size:.9375rem;text-decoration:none}.page-links a:hover,.page-links a.active{text-decoration:none;color:#3347ff}.nav-link.active{font-weight:500}.docs-sidebar{padding-left:1rem !important;padding-right:1rem !important}.docs-sidebar .section-nav{width:100% !important;padding-left:0 !important}.docs-sidebar .list-unstyled{margin-left:0 !important;padding-left:0 !important}.docs-sidebar .list-unstyled li{margin-left:0 !important;padding-left:0 !important}.docs-sidebar .list-unstyled li a{display:block;padding:0.375rem 0.75rem;text-decoration:none;border-radius:0.25rem}.docs-sidebar .list-nested{margin-top:0.5rem !important;margin-bottom:1rem !important;padding-left:1rem !important}.docs-sidebar .list-nested li a{padding:0.25rem 0.5rem;font-size:0.9rem;color:#6c757d}.docs-sidebar .list-nested li.active a{background-color:#e9ecef;color:#495057;font-weight:600}.docs-sidebar .list-nested li a:hover{background-color:#f8f9fa;color:#495057}.list.section.showcase .wrap.container-fluid,.list.section.showcase .wrap.container-lg{padding:0;max-width:100%}.list.section.showcase .content{padding:0}.list.section.showcase .container{max-width:100%}.col-main-section{flex:0 0 auto;width:calc(100% - 2rem);padding-left:1rem;padding-right:1rem}@media (min-width: 768px){.col-main-section{padding-left:2rem;padding-right:2rem}}@media (min-width: 1200px){.col-main-section{max-width:100rem}}.section-cards .card{margin:0;padding:1rem}.section-cards .card-title{margin-top:0}@media (min-width: 1200px){.showcase .col-main-section{max-width:80rem}}.showcase .card{height:auto;margin:1rem}.showcase .card-img-overlay{position:absolute;inset:auto 0 0;padding:var(--bs-card-img-overlay-padding);border-radius:0;background-color:rgba(35,38,47,0.95);transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-duration:0.3s;transition-property:opacity;opacity:0}.showcase .card-img-overlay .card-title{margin-top:0;color:var(--sl-color-gray-2)}.showcase .card-img-overlay .card-text{color:var(--sl-color-gray-2)}.showcase .card:hover .card-img-overlay{opacity:1}.pagination{margin-top:4rem}.page-item a[aria-label="Previous"],.page-item a[aria-label="Next"]{border-radius:50%}.navbar-brand svg{width:60px;height:100%;margin-right:0}@media (min-width: 992px){.navbar-brand svg{width:70px;height:100%}}.section-credits{padding-top:2.5rem;margin-bottom:2.5rem}@media (min-width: 992px){.section-credits{padding-top:4.5rem;margin-bottom:4.5rem}}.home .footer{width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.home .footer:not(caption){position:absolute !important}.home .footer *{overflow:hidden !important}.DocSearch-Container{z-index:2000 !important}.DocSearch-Hit-title{overflow:hidden}.DocSearch-Hit-icon{display:flex;align-items:center}.DocSearch-Hits mark,.DocSearch-Hits .mark{padding:0}.single.blog .content h2[id]::before,.single.blog .content [id].h2::before,.single.blog .content h3[id]::before,.single.blog .content [id].h3::before,.single.blog .content h4[id]::before,.single.blog .content [id].h4::before{display:block;height:6rem;margin-top:-6rem;content:""}.feedback-links h3,.feedback-links .h3{text-transform:none;font-size:1rem;margin:1.25rem 0 0.75rem;padding:1.5rem 0 0}.feedback-links li{margin-top:0.125rem;padding-top:0.125rem}.feedback-links a{color:#1d2d35;display:block;padding:0.125rem 0;font-size:.9375rem;text-decoration:none}.feedback-links a:hover,.feedback-links a.active{text-decoration:none;color:#3347ff}[data-bs-theme="dark"] .feedback-links a{color:#c1c3c8}[data-bs-theme="dark"] .feedback-links a:hover{text-decoration:none;color:#b3c7ff}.blog.single .card-nav .card{margin:0.5rem 0;transition:unset}.blog.single .card-nav .card:hover{transform:unset}.blog.single .card-nav .card-body{padding:1rem}.docs-links h3,.docs-links .h3,.page-links h3,.page-links .h3{text-transform:none}.img-lightmode.border{border:1px solid #e9ecef !important}.img-darkmode.border{border:1px solid var(--sl-color-gray-6) !important}[data-bs-theme="light"] .img-lightmode{display:block}[data-bs-theme="light"] .img-darkmode{display:none}[data-bs-theme="dark"] .img-lightmode{display:none}[data-bs-theme="dark"] .img-darkmode{display:block}.card-icon{padding:0.2em;border-radius:0.25rem}.icon-yellow{border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-high)}.icon-purple{border:1px solid var(--sl-color-purple);background-color:var(--sl-color-purple-high)}.icon-green{border:1px solid var(--sl-color-green);background-color:var(--sl-color-green-high)}.icon-red{border:1px solid var(--sl-color-red);background-color:var(--sl-color-red-high)}.icon-blue{border:1px solid var(--sl-color-blue);background-color:var(--sl-color-blue-high)}.card-nav .card-box svg{stroke:#1d2d35}[data-bs-theme="dark"] .icon-yellow{border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-low)}[data-bs-theme="dark"] .icon-purple{border:1px solid var(--sl-color-purple);background-color:var(--sl-color-purple-low)}[data-bs-theme="dark"] .icon-green{border:1px solid var(--sl-color-green);background-color:var(--sl-color-green-low)}[data-bs-theme="dark"] .icon-red{border:1px solid var(--sl-color-red);background-color:var(--sl-color-red-low)}[data-bs-theme="dark"] .icon-blue{border:1px solid var(--sl-color-blue);background-color:var(--sl-color-blue-low)}[data-bs-theme="dark"] .card-nav .card-box svg{stroke:#fff}.card-nav .card-box{border-radius:0;padding:1rem 1rem 0}.card-nav .card-box:hover{border:1px solid #e9ecef;background-color:transparent}[data-bs-theme="dark"] .card-nav .card-box{border:1px solid #353841}[data-bs-theme="dark"] .card-nav .card-box:hover{border:1px solid #353841;background-color:transparent}.expressive-code pre>code{line-height:1.7}.feedback-links h3,.feedback-links .h3{font-size:1.125rem;margin:1.25rem 0 0.75rem;padding:1.5rem 0 0}.bg-anna{background-color:#181422}img,.img-fluid{max-width:100%;height:auto} diff --git a/docs-gen/resources/_gen/assets/scss/app.scss_cdf9d7c9eb97e4550ded64a8776dd9e8.json b/docs-gen/resources/_gen/assets/scss/app.scss_cdf9d7c9eb97e4550ded64a8776dd9e8.json deleted file mode 100644 index d6e0895a..00000000 --- a/docs-gen/resources/_gen/assets/scss/app.scss_cdf9d7c9eb97e4550ded64a8776dd9e8.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"main.079e02a3a56372f2489147599005f1642f618c2d1813981a7195d47f6cc4dd9caa5f2a56ec2995a7ae33d3c986bd2d911cbb8c68be2b7a4395b5e3a8990cf165.css","MediaType":"text/css","Data":{"Integrity":"sha512-B54Co6VjcvJIkUdZkAXxZC9hjC0YE5gacZXUf2zE3ZyqXypW7CmVp64z08mGvS2RHLuMaL4rekOVteOomQzxZQ=="}} diff --git a/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_180x180_resize_lanczos_3.png b/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_180x180_resize_lanczos_3.png deleted file mode 100644 index be002792..00000000 Binary files a/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_180x180_resize_lanczos_3.png and /dev/null differ diff --git a/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_192x192_resize_lanczos_3.png b/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_192x192_resize_lanczos_3.png deleted file mode 100644 index cbe734cf..00000000 Binary files a/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_192x192_resize_lanczos_3.png and /dev/null differ diff --git a/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_32x32_resize_lanczos_3.png b/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_32x32_resize_lanczos_3.png deleted file mode 100644 index 3197a4b2..00000000 Binary files a/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_32x32_resize_lanczos_3.png and /dev/null differ diff --git a/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_512x512_resize_lanczos_3.png b/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_512x512_resize_lanczos_3.png deleted file mode 100644 index cb101fa0..00000000 Binary files a/docs-gen/resources/_gen/images/favicon_hu18ce15157ab1341ba06c4a679ea7c433_764_512x512_resize_lanczos_3.png and /dev/null differ diff --git a/docs-gen/resources/_gen/images/favicon_hu_717211f0bef91462.png b/docs-gen/resources/_gen/images/favicon_hu_717211f0bef91462.png deleted file mode 100644 index 3197a4b2..00000000 Binary files a/docs-gen/resources/_gen/images/favicon_hu_717211f0bef91462.png and /dev/null differ diff --git a/docs-gen/resources/_gen/images/favicon_hu_a25c30f46cc65729.png b/docs-gen/resources/_gen/images/favicon_hu_a25c30f46cc65729.png deleted file mode 100644 index cb101fa0..00000000 Binary files a/docs-gen/resources/_gen/images/favicon_hu_a25c30f46cc65729.png and /dev/null differ diff --git a/docs-gen/resources/_gen/images/favicon_hu_ed285ba5cd402a97.png b/docs-gen/resources/_gen/images/favicon_hu_ed285ba5cd402a97.png deleted file mode 100644 index cbe734cf..00000000 Binary files a/docs-gen/resources/_gen/images/favicon_hu_ed285ba5cd402a97.png and /dev/null differ diff --git a/docs-gen/resources/_gen/images/favicon_hu_f3b363eb0e6b0630.png b/docs-gen/resources/_gen/images/favicon_hu_f3b363eb0e6b0630.png deleted file mode 100644 index be002792..00000000 Binary files a/docs-gen/resources/_gen/images/favicon_hu_f3b363eb0e6b0630.png and /dev/null differ diff --git a/docs-gen/IMAGE_REFERENCE_GUIDE.md b/docs-gen/static/.gitkeep similarity index 100% rename from docs-gen/IMAGE_REFERENCE_GUIDE.md rename to docs-gen/static/.gitkeep diff --git a/docs-gen/static/cover.jpg b/docs-gen/static/cover.jpg new file mode 100644 index 00000000..76e2e6b8 Binary files /dev/null and b/docs-gen/static/cover.jpg differ diff --git a/docs-gen/static/examples/seat-capabilities/full_schema.graphql b/docs-gen/static/examples/seat-capabilities/full_schema.graphql new file mode 100644 index 00000000..9a538780 --- /dev/null +++ b/docs-gen/static/examples/seat-capabilities/full_schema.graphql @@ -0,0 +1,185 @@ +# Combined Seat Capabilities Schema +# Base seat types from seat-to-vspec +directive @range(min: Float, max: Float) on FIELD_DEFINITION + +directive @cardinality(min: Int, max: Int) on FIELD_DEFINITION + +directive @noDuplicates on FIELD_DEFINITION + +directive @instanceTag on OBJECT + +directive @metadata(comment: String, vssType: String) on FIELD_DEFINITION | OBJECT + +enum TwoRowsInCabinEnum { + ROW1 + ROW2 +} + +enum ThreeRowsInCabinEnum { + ROW1 + ROW2 + ROW3 +} + +enum TwoColumnsInCabinEnum { + DRIVERSIDE + PASSENGERSIDE +} + +enum ThreeColumnsInCabinEnum { + DRIVERSIDE + MIDDLE + PASSENGERSIDE +} + +type InCabinArea2x2 { + row: TwoRowsInCabinEnum + column: TwoColumnsInCabinEnum +} + +input InCabinArea2x2Input { + row: TwoRowsInCabinEnum + column: TwoColumnsInCabinEnum +} + +scalar Int8 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#byte") +scalar UInt8 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedByte") +scalar Int16 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#short") +scalar UInt16 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedShort") +scalar UInt32 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedInt") +scalar Int64 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#long") +scalar UInt64 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedLong") +scalar Float + +"""All in-cabin components, including doors.""" +type Cabin { + seats: [Seat] + + """The position of the driver seat in row 1.""" + driverPosition: DriverPositionEnum +} + +enum DriverPositionEnum { + LEFT + MIDDLE + RIGHT +} + +type Seat { + Heating or Cooling requested for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + heatingCooling(unit: Relation_Unit_Enum = PERCENT): Int8 + + Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported. + height(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + isOccupied: Boolean + + massageLevel(unit: Relation_Unit_Enum = PERCENT): UInt8 + + Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported. + position(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive +degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. + tilt(unit: Angle_Unit_Enum = DEGREE): Float + airbag: Airbag + backrest: Backrest + headrest: Headrest + seating: Seating + instanceTag: InCabinArea2x2 +} + +type Airbag { + Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. + isDeployed: Boolean +} + +type Backrest { + Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. + lumbarHeight(unit: Length_Unit_Enum = MILLIMETER): UInt8 + + Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + lumbarSupport(unit: Relation_Unit_Enum = PERCENT): Float + + Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. +Positive degrees for backward recline. + recline(unit: Angle_Unit_Enum = DEGREE): Float + + Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + sideBolsterSupport(unit: Relation_Unit_Enum = PERCENT): Float +} + +type Headrest { + Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. + angle(unit: Angle_Unit_Enum = DEGREE): Float + + Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported. + height(unit: Length_Unit_Enum = MILLIMETER): UInt8 +} + +type Seating { + Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + length(unit: Length_Unit_Enum = MILLIMETER): UInt16 +} + +type Vehicle { + id: VehicleIdentification! + cabin: Cabin +} + +type VehicleIdentification { + 17-character Vehicle Identification Number (VIN) as defined by ISO 3779. + vin: String! +} + +# Unit enums +enum Angle_Unit_Enum { + DEGREE +} + +enum Length_Unit_Enum { + CENTIMETER + INCH + KILOMETER + METER + MILLIMETER +} + +enum Relation_Unit_Enum { + DECIBEL + DECIBEL_MILLIWATT + NANO_METER_PER_KILOMETER + PERCENT + RATIO +} + +# Seat Capabilities Queries and Mutations +type Query { + vehicle(vin: String!): Vehicle + + seat(instanceTag: InCabinArea2x2Input!): Seat + + getSeat(instanceTag: InCabinArea2x2Input!): Seat + + getSeatPosition(instanceTag: InCabinArea2x2Input!): UInt16 + + getSeatHeight(instanceTag: InCabinArea2x2Input!): UInt16 + + getSeatTilt(instanceTag: InCabinArea2x2Input!): Float + + getSeatMassageLevel(instanceTag: InCabinArea2x2Input!): UInt8 + + isSeatOccupied(instanceTag: InCabinArea2x2Input!): Boolean +} + +type Mutation { + setSeatPosition(instanceTag: InCabinArea2x2Input!, value: UInt16!): Boolean + + setSeatHeight(instanceTag: InCabinArea2x2Input!, value: UInt16!): Boolean + + setSeatTilt(instanceTag: InCabinArea2x2Input!, value: Float!): Boolean + + setSeatMassageLevel(instanceTag: InCabinArea2x2Input!, value: UInt8!): Boolean + + setSeatHeatingCooling(instanceTag: InCabinArea2x2Input!, value: Int8!): Boolean +} diff --git a/docs-gen/static/examples/seat-domain-model/full_schema.graphql b/docs-gen/static/examples/seat-domain-model/full_schema.graphql new file mode 100644 index 00000000..d4dfa24c --- /dev/null +++ b/docs-gen/static/examples/seat-domain-model/full_schema.graphql @@ -0,0 +1,451 @@ +directive @range(min: Float, max: Float) on FIELD_DEFINITION + + directive @cardinality(min: Int, max: Int) on FIELD_DEFINITION + + directive @noDuplicates on FIELD_DEFINITION + + directive @instanceTag on OBJECT + + directive @metadata(comment: String, vssType: String) on FIELD_DEFINITION | OBJECT + + enum TwoRowsInCabinEnum { + ROW1 + ROW2 + } + + enum ThreeRowsInCabinEnum { + ROW1 + ROW2 + ROW3 + } + + enum TwoColumnsInCabinEnum { + DRIVERSIDE + PASSENGERSIDE + } + + enum ThreeColumnsInCabinEnum { + DRIVERSIDE + MIDDLE + PASSENGERSIDE + } + + type InCabinArea2x2 { + row: TwoRowsInCabinEnum + column: TwoColumnsInCabinEnum + } + + type InCabinArea2x3 { + row: TwoRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + type InCabinArea3x3 { + row: ThreeRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + input InCabinArea2x2Input { + row: TwoRowsInCabinEnum + column: TwoColumnsInCabinEnum + } + + input InCabinArea2x3Input { + row: TwoRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + input InCabinArea3x3Input { + row: ThreeRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + scalar Int8 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#byte") + + scalar UInt8 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedByte") + + scalar Int16 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#short") + + scalar UInt16 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedShort") + + scalar UInt32 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedInt") + + scalar Int64 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#long") + + scalar UInt64 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedLong") + + """All in-cabin components, including doors.""" + type Cabin { + seats: [Seat] + + """The position of the driver seat in row 1.""" + driverPosition: DriverPositionEnum + } + + enum DriverPositionEnum { + LEFT + MIDDLE + RIGHT + } + + enum TenRowsInCabinEnum { + ROW1 + ROW2 + ROW3 + ROW4 + ROW5 + ROW6 + ROW7 + ROW8 + ROW9 + ROW10 + } + + type ManySeatsInstanceTag { + row: TenRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + type Query { + vehicle(vin: String!): Vehicle + seat(instanceTag: InCabinArea2x2Input!): Seat + } + + """The model of a vehicle's Seat.""" + type Seat { + """ + Heating or Cooling requested for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + """ + heatingCooling(unit: Relation_Unit_Enum = PERCENT): Int8 + + """ + Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported. + """ + height(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """Seat backward switch engaged.""" + isBackwardSwitchEngaged: Boolean + + """Is the belt engaged.""" + isBelted: Boolean + + """Cooler switch for Seat heater.""" + isCoolerSwitchEngaged: Boolean + + """Decrease massage level switch engaged.""" + isDecreaseMassageLevelSwitchEngaged: Boolean + + """Seat down switch engaged.""" + isDownSwitchEngaged: Boolean + + """Seat forward switch engaged.""" + isForwardSwitchEngaged: Boolean + + """Increase massage level switch engaged.""" + isIncreaseMassageLevelSwitchEngaged: Boolean + + """Does the seat have a passenger in it.""" + isOccupied: Boolean + + """Tilt backward switch engaged.""" + isTiltBackwardSwitchEngaged: Boolean + + """Tilt forward switch engaged.""" + isTiltForwardSwitchEngaged: Boolean + + """Seat up switch engaged.""" + isUpSwitchEngaged: Boolean + + """Warmer switch for Seat heater.""" + isWarmerSwitchEngaged: Boolean + + """Seat massage level. 0 = off. 100 = max massage.""" + massage(unit: Relation_Unit_Enum = PERCENT): UInt8 @deprecated(reason: "v5.0 - refactored to Seat.MassageLevel") + + """Seat massage level. 0 = off. 100 = max massage.""" + massageLevel(unit: Relation_Unit_Enum = PERCENT): UInt8 + + """ + Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported. + """ + position(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """ + Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. + """ + seatBeltHeight(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """ + Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive + degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. + """ + tilt(unit: Angle_Unit_Enum = DEGREE): Float + airbag: Airbag + backrest: Backrest + headrest: Headrest + seating: Seating + instanceTag: InCabinArea2x2 + } + + """Airbag signals.""" + type Airbag { + """ + Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. + """ + isDeployed: Boolean + } + + """Describes signals related to the backrest of the seat.""" + type Backrest { + """Is switch for less lumbar support engaged.""" + isLessLumbarSupportSwitchEngaged: Boolean + + """Is switch for less side bolster support engaged.""" + isLessSideBolsterSupportSwitchEngaged: Boolean + + """Lumbar down switch engaged.""" + isLumbarDownSwitchEngaged: Boolean + + """Lumbar up switch engaged.""" + isLumbarUpSwitchEngaged: Boolean + + """Is switch for more lumbar support engaged.""" + isMoreLumbarSupportSwitchEngaged: Boolean + + """Is switch for more side bolster support engaged.""" + isMoreSideBolsterSupportSwitchEngaged: Boolean + + """Backrest recline backward switch engaged.""" + isReclineBackwardSwitchEngaged: Boolean + + """Backrest recline forward switch engaged.""" + isReclineForwardSwitchEngaged: Boolean + + """ + Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. + """ + lumbarHeight(unit: Length_Unit_Enum = MILLIMETER): UInt8 + + """ + Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + """ + lumbarSupport(unit: Relation_Unit_Enum = PERCENT): Float + + """ + Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. + Positive degrees for backward recline. + """ + recline(unit: Angle_Unit_Enum = DEGREE): Float + + """ + Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + """ + sideBolsterSupport(unit: Relation_Unit_Enum = PERCENT): Float + } + + """Headrest settings.""" + type Headrest { + """ + Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. + """ + angle(unit: Angle_Unit_Enum = DEGREE): Float + + """ + Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported. + """ + height(unit: Length_Unit_Enum = MILLIMETER): UInt8 + + """Head rest backward switch engaged.""" + isBackwardSwitchEngaged: Boolean + + """Head rest down switch engaged.""" + isDownSwitchEngaged: Boolean + + """Head rest forward switch engaged.""" + isForwardSwitchEngaged: Boolean + + """Head rest up switch engaged.""" + isUpSwitchEngaged: Boolean + } + + """Describes signals related to the seat bottom of the seat.""" + type Seating { + """Is switch to decrease seating length engaged.""" + isBackwardSwitchEngaged: Boolean + + """Is switch to increase seating length engaged.""" + isForwardSwitchEngaged: Boolean + + """ + Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + """ + length(unit: Length_Unit_Enum = MILLIMETER): UInt16 + } + + """High-level vehicle data.""" + type Vehicle { + id: VehicleIdentification! + cabin: Cabin + } + + """Attributes that identify a vehicle.""" + type VehicleIdentification { + """ + 17-character Vehicle Identification Number (VIN) as defined by ISO 3779. + """ + vin: String! + } + + enum Acceleration_Unit_Enum { + CENTIMETERS_PER_SECOND_SQUARED + METERS_PER_SECOND_SQUARED + } + + enum Angle_Unit_Enum { + DEGREE + } + + enum Angularspeed_Unit_Enum { + DEGREE_PER_SECOND + RADIANS_PER_SECOND + } + + enum Datetime_Unit_Enum { + ISO_8601 + UNIX_TIMESTAMP + } + + enum Distancepervolume_Unit_Enum { + KILOMETERS_PER_LITER + MILES_PER_GALLON + } + + enum Duration_Unit_Enum { + DAYS + HOUR + MILLISECOND + MINUTE + MONTHS + SECOND + WEEKS + YEARS + } + + enum Electriccharge_Unit_Enum { + AMPERE_HOURS + } + + enum Electriccurrent_Unit_Enum { + AMPERE + } + + enum Energyconsumptionperdistance_Unit_Enum { + KILOWATT_HOURS_PER_100_KILOMETERS + WATT_HOUR_PER_KM + } + + enum Force_Unit_Enum { + KILO_NEWTON + NEWTON + } + + enum Frequency_Unit_Enum { + BEATS_PER_MINUTE + CYCLES_PER_MINUTE + HERTZ + } + + enum Illuminance_Unit_Enum { + LUX + } + + enum Length_Unit_Enum { + CENTIMETER + INCH + KILOMETER + METER + MILLIMETER + } + + enum Mass_Unit_Enum { + GRAM + KILOGRAM + POUND + } + + enum Massperdistance_Unit_Enum { + GRAMS_PER_KILOMETER + } + + enum Masspertime_Unit_Enum { + GRAMS_PER_SECOND + } + + enum Power_Unit_Enum { + HORSEPOWER + KILOWATT + WATT + } + + enum Pressure_Unit_Enum { + KILOPASCAL + MILLIBAR + PASCAL + POUNDS_PER_SQUARE_INCH + } + + enum Rating_Unit_Enum { + STARS + } + + enum Relation_Unit_Enum { + DECIBEL + DECIBEL_MILLIWATT + NANO_METER_PER_KILOMETER + PERCENT + RATIO + } + + enum Resistance_Unit_Enum { + OHM + } + + enum Rotationalspeed_Unit_Enum { + REVOLUTIONS_PER_MINUTE + } + + enum Temperature_Unit_Enum { + DEGREE_CELSIUS + } + + enum Torque_Unit_Enum { + NEWTON_METER + } + + enum Velocity_Unit_Enum { + KILOMETER_PER_HOUR + METERS_PER_SECOND + } + + enum Voltage_Unit_Enum { + VOLT + } + + enum Volume_Unit_Enum { + CUBIC_CENTIMETERS + LITER + MILLILITER + } + + enum Volumeflowrate_Unit_Enum { + LITER_PER_HOUR + } + + enum Volumeperdistance_Unit_Enum { + LITER_PER_100_KILOMETERS + MILLILITER_PER_100_KILOMETERS + } + + enum Work_Unit_Enum { + KILOWATT_HOURS + } diff --git a/docs-gen/static/examples/seat-to-vspec/full_sdl.graphql b/docs-gen/static/examples/seat-to-vspec/full_sdl.graphql new file mode 100644 index 00000000..d4dfa24c --- /dev/null +++ b/docs-gen/static/examples/seat-to-vspec/full_sdl.graphql @@ -0,0 +1,451 @@ +directive @range(min: Float, max: Float) on FIELD_DEFINITION + + directive @cardinality(min: Int, max: Int) on FIELD_DEFINITION + + directive @noDuplicates on FIELD_DEFINITION + + directive @instanceTag on OBJECT + + directive @metadata(comment: String, vssType: String) on FIELD_DEFINITION | OBJECT + + enum TwoRowsInCabinEnum { + ROW1 + ROW2 + } + + enum ThreeRowsInCabinEnum { + ROW1 + ROW2 + ROW3 + } + + enum TwoColumnsInCabinEnum { + DRIVERSIDE + PASSENGERSIDE + } + + enum ThreeColumnsInCabinEnum { + DRIVERSIDE + MIDDLE + PASSENGERSIDE + } + + type InCabinArea2x2 { + row: TwoRowsInCabinEnum + column: TwoColumnsInCabinEnum + } + + type InCabinArea2x3 { + row: TwoRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + type InCabinArea3x3 { + row: ThreeRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + input InCabinArea2x2Input { + row: TwoRowsInCabinEnum + column: TwoColumnsInCabinEnum + } + + input InCabinArea2x3Input { + row: TwoRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + input InCabinArea3x3Input { + row: ThreeRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + scalar Int8 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#byte") + + scalar UInt8 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedByte") + + scalar Int16 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#short") + + scalar UInt16 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedShort") + + scalar UInt32 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedInt") + + scalar Int64 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#long") + + scalar UInt64 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedLong") + + """All in-cabin components, including doors.""" + type Cabin { + seats: [Seat] + + """The position of the driver seat in row 1.""" + driverPosition: DriverPositionEnum + } + + enum DriverPositionEnum { + LEFT + MIDDLE + RIGHT + } + + enum TenRowsInCabinEnum { + ROW1 + ROW2 + ROW3 + ROW4 + ROW5 + ROW6 + ROW7 + ROW8 + ROW9 + ROW10 + } + + type ManySeatsInstanceTag { + row: TenRowsInCabinEnum + column: ThreeColumnsInCabinEnum + } + + type Query { + vehicle(vin: String!): Vehicle + seat(instanceTag: InCabinArea2x2Input!): Seat + } + + """The model of a vehicle's Seat.""" + type Seat { + """ + Heating or Cooling requested for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + """ + heatingCooling(unit: Relation_Unit_Enum = PERCENT): Int8 + + """ + Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported. + """ + height(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """Seat backward switch engaged.""" + isBackwardSwitchEngaged: Boolean + + """Is the belt engaged.""" + isBelted: Boolean + + """Cooler switch for Seat heater.""" + isCoolerSwitchEngaged: Boolean + + """Decrease massage level switch engaged.""" + isDecreaseMassageLevelSwitchEngaged: Boolean + + """Seat down switch engaged.""" + isDownSwitchEngaged: Boolean + + """Seat forward switch engaged.""" + isForwardSwitchEngaged: Boolean + + """Increase massage level switch engaged.""" + isIncreaseMassageLevelSwitchEngaged: Boolean + + """Does the seat have a passenger in it.""" + isOccupied: Boolean + + """Tilt backward switch engaged.""" + isTiltBackwardSwitchEngaged: Boolean + + """Tilt forward switch engaged.""" + isTiltForwardSwitchEngaged: Boolean + + """Seat up switch engaged.""" + isUpSwitchEngaged: Boolean + + """Warmer switch for Seat heater.""" + isWarmerSwitchEngaged: Boolean + + """Seat massage level. 0 = off. 100 = max massage.""" + massage(unit: Relation_Unit_Enum = PERCENT): UInt8 @deprecated(reason: "v5.0 - refactored to Seat.MassageLevel") + + """Seat massage level. 0 = off. 100 = max massage.""" + massageLevel(unit: Relation_Unit_Enum = PERCENT): UInt8 + + """ + Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported. + """ + position(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """ + Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. + """ + seatBeltHeight(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """ + Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive + degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. + """ + tilt(unit: Angle_Unit_Enum = DEGREE): Float + airbag: Airbag + backrest: Backrest + headrest: Headrest + seating: Seating + instanceTag: InCabinArea2x2 + } + + """Airbag signals.""" + type Airbag { + """ + Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. + """ + isDeployed: Boolean + } + + """Describes signals related to the backrest of the seat.""" + type Backrest { + """Is switch for less lumbar support engaged.""" + isLessLumbarSupportSwitchEngaged: Boolean + + """Is switch for less side bolster support engaged.""" + isLessSideBolsterSupportSwitchEngaged: Boolean + + """Lumbar down switch engaged.""" + isLumbarDownSwitchEngaged: Boolean + + """Lumbar up switch engaged.""" + isLumbarUpSwitchEngaged: Boolean + + """Is switch for more lumbar support engaged.""" + isMoreLumbarSupportSwitchEngaged: Boolean + + """Is switch for more side bolster support engaged.""" + isMoreSideBolsterSupportSwitchEngaged: Boolean + + """Backrest recline backward switch engaged.""" + isReclineBackwardSwitchEngaged: Boolean + + """Backrest recline forward switch engaged.""" + isReclineForwardSwitchEngaged: Boolean + + """ + Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. + """ + lumbarHeight(unit: Length_Unit_Enum = MILLIMETER): UInt8 + + """ + Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + """ + lumbarSupport(unit: Relation_Unit_Enum = PERCENT): Float + + """ + Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. + Positive degrees for backward recline. + """ + recline(unit: Angle_Unit_Enum = DEGREE): Float + + """ + Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + """ + sideBolsterSupport(unit: Relation_Unit_Enum = PERCENT): Float + } + + """Headrest settings.""" + type Headrest { + """ + Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. + """ + angle(unit: Angle_Unit_Enum = DEGREE): Float + + """ + Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported. + """ + height(unit: Length_Unit_Enum = MILLIMETER): UInt8 + + """Head rest backward switch engaged.""" + isBackwardSwitchEngaged: Boolean + + """Head rest down switch engaged.""" + isDownSwitchEngaged: Boolean + + """Head rest forward switch engaged.""" + isForwardSwitchEngaged: Boolean + + """Head rest up switch engaged.""" + isUpSwitchEngaged: Boolean + } + + """Describes signals related to the seat bottom of the seat.""" + type Seating { + """Is switch to decrease seating length engaged.""" + isBackwardSwitchEngaged: Boolean + + """Is switch to increase seating length engaged.""" + isForwardSwitchEngaged: Boolean + + """ + Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + """ + length(unit: Length_Unit_Enum = MILLIMETER): UInt16 + } + + """High-level vehicle data.""" + type Vehicle { + id: VehicleIdentification! + cabin: Cabin + } + + """Attributes that identify a vehicle.""" + type VehicleIdentification { + """ + 17-character Vehicle Identification Number (VIN) as defined by ISO 3779. + """ + vin: String! + } + + enum Acceleration_Unit_Enum { + CENTIMETERS_PER_SECOND_SQUARED + METERS_PER_SECOND_SQUARED + } + + enum Angle_Unit_Enum { + DEGREE + } + + enum Angularspeed_Unit_Enum { + DEGREE_PER_SECOND + RADIANS_PER_SECOND + } + + enum Datetime_Unit_Enum { + ISO_8601 + UNIX_TIMESTAMP + } + + enum Distancepervolume_Unit_Enum { + KILOMETERS_PER_LITER + MILES_PER_GALLON + } + + enum Duration_Unit_Enum { + DAYS + HOUR + MILLISECOND + MINUTE + MONTHS + SECOND + WEEKS + YEARS + } + + enum Electriccharge_Unit_Enum { + AMPERE_HOURS + } + + enum Electriccurrent_Unit_Enum { + AMPERE + } + + enum Energyconsumptionperdistance_Unit_Enum { + KILOWATT_HOURS_PER_100_KILOMETERS + WATT_HOUR_PER_KM + } + + enum Force_Unit_Enum { + KILO_NEWTON + NEWTON + } + + enum Frequency_Unit_Enum { + BEATS_PER_MINUTE + CYCLES_PER_MINUTE + HERTZ + } + + enum Illuminance_Unit_Enum { + LUX + } + + enum Length_Unit_Enum { + CENTIMETER + INCH + KILOMETER + METER + MILLIMETER + } + + enum Mass_Unit_Enum { + GRAM + KILOGRAM + POUND + } + + enum Massperdistance_Unit_Enum { + GRAMS_PER_KILOMETER + } + + enum Masspertime_Unit_Enum { + GRAMS_PER_SECOND + } + + enum Power_Unit_Enum { + HORSEPOWER + KILOWATT + WATT + } + + enum Pressure_Unit_Enum { + KILOPASCAL + MILLIBAR + PASCAL + POUNDS_PER_SQUARE_INCH + } + + enum Rating_Unit_Enum { + STARS + } + + enum Relation_Unit_Enum { + DECIBEL + DECIBEL_MILLIWATT + NANO_METER_PER_KILOMETER + PERCENT + RATIO + } + + enum Resistance_Unit_Enum { + OHM + } + + enum Rotationalspeed_Unit_Enum { + REVOLUTIONS_PER_MINUTE + } + + enum Temperature_Unit_Enum { + DEGREE_CELSIUS + } + + enum Torque_Unit_Enum { + NEWTON_METER + } + + enum Velocity_Unit_Enum { + KILOMETER_PER_HOUR + METERS_PER_SECOND + } + + enum Voltage_Unit_Enum { + VOLT + } + + enum Volume_Unit_Enum { + CUBIC_CENTIMETERS + LITER + MILLILITER + } + + enum Volumeflowrate_Unit_Enum { + LITER_PER_HOUR + } + + enum Volumeperdistance_Unit_Enum { + LITER_PER_100_KILOMETERS + MILLILITER_PER_100_KILOMETERS + } + + enum Work_Unit_Enum { + KILOWATT_HOURS + } diff --git a/docs-gen/static/examples/trailer/full_schema.graphql b/docs-gen/static/examples/trailer/full_schema.graphql new file mode 100644 index 00000000..68e2f2f0 --- /dev/null +++ b/docs-gen/static/examples/trailer/full_schema.graphql @@ -0,0 +1,446 @@ +directive @range(min: Float, max: Float) on FIELD_DEFINITION + +directive @cardinality(min: Int, max: Int) on FIELD_DEFINITION + +directive @noDuplicates on FIELD_DEFINITION + +directive @instanceTag on OBJECT + +directive @metadata(comment: String, vssType: String) on FIELD_DEFINITION | OBJECT + +enum TwoRowsInCabinEnum { + ROW1 + ROW2 +} + +enum ThreeRowsInCabinEnum { + ROW1 + ROW2 + ROW3 +} + +enum TwoColumnsInCabinEnum { + DRIVERSIDE + PASSENGERSIDE +} + +enum ThreeColumnsInCabinEnum { + DRIVERSIDE + MIDDLE + PASSENGERSIDE +} + +type InCabinArea2x2 { + row: TwoRowsInCabinEnum + column: TwoColumnsInCabinEnum +} + +type InCabinArea2x3 { + row: TwoRowsInCabinEnum + column: ThreeColumnsInCabinEnum +} + +type InCabinArea3x3 { + row: ThreeRowsInCabinEnum + column: ThreeColumnsInCabinEnum +} + +input InCabinArea2x2Input { + row: TwoRowsInCabinEnum + column: TwoColumnsInCabinEnum +} + +input InCabinArea2x3Input { + row: TwoRowsInCabinEnum + column: ThreeColumnsInCabinEnum +} + +input InCabinArea3x3Input { + row: ThreeRowsInCabinEnum + column: ThreeColumnsInCabinEnum +} + +scalar Int8 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#byte") + +scalar UInt8 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedByte") + +scalar Int16 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#short") + +scalar UInt16 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedShort") + +scalar UInt32 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedInt") + +scalar Int64 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#long") + +scalar UInt64 @specifiedBy(url: "http://www.w3.org/2001/XMLSchema#unsignedLong") + +"""An object representing a vehicle.""" +type Vehicle { + vin: ID! + + """Maximum vertical weight on the tow ball of a trailer.""" + maxTowBallWeight(unit: Mass_Unit_Enum = KILOGRAM): UInt16 + + """Maximum weight of trailer.""" + maxTowWeight(unit: Mass_Unit_Enum = KILOGRAM): UInt16 + + """List of trailers attached to the vehicle.""" + trailers: [VehicleTrailer] + + """Number of trailers connected to the vehicle""" + trailerCount: UInt8 +} + +"""A trailer attached to a vehicle and its associated properties.""" +type VehicleTrailer { + """ + 17-character Vehicle Identification Number (VIN) as defined by ISO 3779. + """ + vin: ID! + + """Type of trailer as defined in ISO 11992-2""" + trailerKind: VehicleTrailerKindEnum + + """The sum of the static vertical loads of the trailer axles.""" + axleLoadSum(unit: Mass_Unit_Enum = KILOGRAM): UInt32 + + """The customer's name for the trailer""" + customerTrailerName: String + + """List of axles on the trailer.""" + axles: [VehicleTrailerAxle] + + """Number of axles on the trailer""" + axleCount: UInt8 + instanceTag: TrailerTag +} + +enum VehicleTrailerKindEnum { + UNDEFINED + SEMI_TRAILER + CENTER_AXLE_TRAILER + FULL_TRAILER + CONVERTER_DOLLY + LINK_TRAILER + TOWING_SEMI_TRAILER + TOWING_CENTRE_AXLE_TRAILER + TOWING_FULL_TRAILER +} + +"""Axle signals for vehicles (towing or towed) with 1 to 15 axles""" +type VehicleTrailerAxle { + """The static vertical load of a trailer axle in kilograms.""" + axleLoad: UInt16 + + """ + The lateral distance between the wheel mounting faces, measured along the spindle axis. + """ + axleWidth(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """ + Axle position from 1 to 15, 1 being in the front closest to the truck, according to ISO 11992-2. + """ + position: AxlePositionEnum + + """ + Single track two-axle model steering angle. Angle according to ISO 8855. Positive = degrees to the left. Negative = degrees to the right. + """ + steeringAngle(unit: Angle_Unit_Enum = DEGREE): Float + + """ + Aspect ratio between tire section height and tire section width, as per ETRTO / TRA standard. + """ + tireAspectRatio(unit: Relation_Unit_Enum = PERCENT): UInt8 + + """Outer diameter of tires, in inches, as per ETRTO / TRA standard.""" + tireDiameter(unit: Length_Unit_Enum = INCH): Float + + """Nominal section width of tires, in mm, as per ETRTO / TRA standard.""" + tireWidth(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """ + The lateral distance between the centers of the wheels, measured along the spindle, or axle axis. If there are dual rear wheels, measure +from the midway points between the inner and outer tires. + """ + trackWidth(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """ + The lateral distance between the centerlines of the base tires at ground, including camber angle. If there are dual rear wheels, measure +from the midway points between the inner and outer tires. + """ + treadWidth(unit: Length_Unit_Enum = MILLIMETER): UInt16 + + """ + Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard. + """ + wheelDiameter(unit: Length_Unit_Enum = INCH): Float + + """ + Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard. + """ + wheelWidth(unit: Length_Unit_Enum = INCH): Float + + """List of wheels on the axle.""" + wheels: [VehicleTrailerWheel] + + """Number of wheels on the axle""" + wheelCount: UInt8 + instanceTag: TrailerAxleTag +} + +""" +Wheel signals for axle. Instances. Counted from the center line (3:rd left is on the left side of 2:left in the vehicle direction) +""" +type VehicleTrailerWheel { + """Angular (Rotational) speed of a vehicle's wheel.""" + angularSpeed(unit: Angularspeed_Unit_Enum = DEGREE_PER_SECOND): Float + + """Linear speed of a vehicle's wheel.""" + speed(unit: Velocity_Unit_Enum = KILOMETER_PER_HOUR): Float + brake: TrailerWheelBrake + tire: TrailerWheelTire + instanceTag: TrailerWheelTag +} + +"""Brake signals for wheel""" +type TrailerWheelBrake { + """Brake fluid level as percent. 0 = Empty. 100 = Full.""" + fluidLevel(unit: Relation_Unit_Enum = PERCENT): UInt8 + + """Brake pad wear status. True = Worn. False = Not Worn.""" + isBrakesWorn: Boolean + + """ + Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK. + """ + isFluidLevelLow: Boolean + + """Brake pad wear as percent. 0 = No Wear. 100 = Worn.""" + padWear(unit: Relation_Unit_Enum = PERCENT): UInt8 +} + +"""Tire signals for wheel.""" +type TrailerWheelTire { + """ + Tire Pressure Status. True = Low tire pressure. False = Good tire pressure. + """ + isPressureLow: Boolean + + """Tire pressure in kilo-Pascal.""" + pressure(unit: Pressure_Unit_Enum = KILOPASCAL): UInt16 + + """Tire temperature in Celsius.""" + temperature(unit: Temperature_Unit_Enum = DEGREE_CELSIUS): Float +} + +type TrailerTag { + instance: ThreeTrailers +} + +enum ThreeTrailers { + TRAILER_1 + TRAILER_2 + TRAILER_3 +} + +type TrailerAxleTag { + position: AxlePositionEnum +} + +enum AxlePositionEnum { + POSITION_1 + POSITION_2 + POSITION_3 + POSITION_4 + POSITION_5 + POSITION_6 + POSITION_7 + POSITION_8 + POSITION_9 + POSITION_10 + POSITION_11 + POSITION_12 + POSITION_13 + POSITION_14 + POSITION_15 +} + +type TrailerWheelTag { + axle: AxlePositionEnum + side: TwoSides + outsideInNumber: EightOutsideInNumber +} + +enum TwoSides { + LEFT + RIGHT +} + +enum EightOutsideInNumber { + _1ST + _2ND + _3RD + _4TH + _5TH + _6TH + _7TH + _8TH +} + +enum Acceleration_Unit_Enum { + CENTIMETERS_PER_SECOND_SQUARED + METERS_PER_SECOND_SQUARED +} + +enum Angle_Unit_Enum { + DEGREE +} + +enum Angularspeed_Unit_Enum { + DEGREE_PER_SECOND + RADIANS_PER_SECOND +} + +enum Datetime_Unit_Enum { + ISO_8601 + UNIX_TIMESTAMP +} + +enum Distancepervolume_Unit_Enum { + KILOMETERS_PER_LITER + MILES_PER_GALLON +} + +enum Duration_Unit_Enum { + DAYS + HOUR + MILLISECOND + MINUTE + MONTHS + SECOND + WEEKS + YEARS +} + +enum Electriccharge_Unit_Enum { + AMPERE_HOURS +} + +enum Electriccurrent_Unit_Enum { + AMPERE +} + +enum Energyconsumptionperdistance_Unit_Enum { + KILOWATT_HOURS_PER_100_KILOMETERS + WATT_HOUR_PER_KM +} + +enum Force_Unit_Enum { + KILO_NEWTON + NEWTON +} + +enum Frequency_Unit_Enum { + BEATS_PER_MINUTE + CYCLES_PER_MINUTE + HERTZ +} + +enum Illuminance_Unit_Enum { + LUX +} + +enum Length_Unit_Enum { + CENTIMETER + INCH + KILOMETER + METER + MILLIMETER +} + +enum Mass_Unit_Enum { + GRAM + KILOGRAM + POUND +} + +enum Massperdistance_Unit_Enum { + GRAMS_PER_KILOMETER +} + +enum Masspertime_Unit_Enum { + GRAMS_PER_SECOND +} + +enum Power_Unit_Enum { + HORSEPOWER + KILOWATT + WATT +} + +enum Pressure_Unit_Enum { + KILOPASCAL + MILLIBAR + PASCAL + POUNDS_PER_SQUARE_INCH +} + +enum Rating_Unit_Enum { + STARS +} + +enum Relation_Unit_Enum { + DECIBEL + DECIBEL_MILLIWATT + NANO_METER_PER_KILOMETER + PERCENT + RATIO +} + +enum Resistance_Unit_Enum { + OHM +} + +enum Rotationalspeed_Unit_Enum { + REVOLUTIONS_PER_MINUTE +} + +enum Temperature_Unit_Enum { + DEGREE_CELSIUS +} + +enum Torque_Unit_Enum { + NEWTON_METER +} + +enum Velocity_Unit_Enum { + KILOMETER_PER_HOUR + METERS_PER_SECOND +} + +enum Voltage_Unit_Enum { + VOLT +} + +enum Volume_Unit_Enum { + CUBIC_CENTIMETERS + LITER + MILLILITER +} + +enum Volumeflowrate_Unit_Enum { + LITER_PER_HOUR +} + +enum Volumeperdistance_Unit_Enum { + LITER_PER_100_KILOMETERS + MILLILITER_PER_100_KILOMETERS +} + +enum Work_Unit_Enum { + KILOWATT_HOURS +} + +type Query { + ping: String +} diff --git a/docs-gen/static/favicon.ico b/docs-gen/static/favicon.ico new file mode 100644 index 00000000..53d1e2cb Binary files /dev/null and b/docs-gen/static/favicon.ico differ diff --git a/docs-gen/static/favicon.png b/docs-gen/static/favicon.png new file mode 100644 index 00000000..3f920f52 Binary files /dev/null and b/docs-gen/static/favicon.png differ diff --git a/docs-gen/static/icon.svg b/docs-gen/static/icon.svg new file mode 100644 index 00000000..ec3e5d19 --- /dev/null +++ b/docs-gen/static/icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs-gen/static/images/Frame 1.png b/docs-gen/static/images/Frame 1.png deleted file mode 100644 index b28c71cc..00000000 Binary files a/docs-gen/static/images/Frame 1.png and /dev/null differ diff --git a/docs-gen/static/images/Frame 2.png b/docs-gen/static/images/Frame 2.png deleted file mode 100644 index 1442d589..00000000 Binary files a/docs-gen/static/images/Frame 2.png and /dev/null differ diff --git a/docs-gen/static/images/Frame 3.png b/docs-gen/static/images/Frame 3.png deleted file mode 100644 index e249f8a5..00000000 Binary files a/docs-gen/static/images/Frame 3.png and /dev/null differ diff --git a/docs-gen/static/images/Frame 4.png b/docs-gen/static/images/Frame 4.png deleted file mode 100644 index 56ce38c0..00000000 Binary files a/docs-gen/static/images/Frame 4.png and /dev/null differ diff --git a/docs-gen/static/images/Frame 5.png b/docs-gen/static/images/Frame 5.png deleted file mode 100644 index 3d9ca476..00000000 Binary files a/docs-gen/static/images/Frame 5.png and /dev/null differ diff --git a/docs-gen/static/images/Frame 6.png b/docs-gen/static/images/Frame 6.png deleted file mode 100644 index 4bcc2308..00000000 Binary files a/docs-gen/static/images/Frame 6.png and /dev/null differ diff --git a/docs-gen/test/.codesandbox/tasks.json b/docs-gen/test/.codesandbox/tasks.json new file mode 100644 index 00000000..0eefb4b2 --- /dev/null +++ b/docs-gen/test/.codesandbox/tasks.json @@ -0,0 +1,22 @@ +{ + // These tasks will run in order when initializing your CodeSandbox project. + "setupTasks": [ + { + "name": "Install Dependencies", + "command": "npm install" + } + ], + + // These tasks can be run from CodeSandbox. Running one will open a log in the app. + "tasks": { + "start": { + "name": "dev", + "command": "npm run dev -- --baseURL=/ --appendPort=false --liveReloadPort=443 --bind=0.0.0.0", + "runAtStart": true + }, + "install": { + "name": "install dependencies", + "command": "npm install" + } + } +} diff --git a/docs-gen/test/.devcontainer/Dockerfile b/docs-gen/test/.devcontainer/Dockerfile new file mode 100644 index 00000000..c2c1fa55 --- /dev/null +++ b/docs-gen/test/.devcontainer/Dockerfile @@ -0,0 +1,19 @@ +FROM mcr.microsoft.com/devcontainers/base:ubuntu-22.04 + +RUN apt-get update && \ + apt-get install -y \ + ca-certificates \ + nodejs \ + npm \ + wget && \ + update-ca-certificates + +ARG HUGO_VERSION="0.148.1" +RUN wget --quiet "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz" && \ + tar xzf hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz && \ + rm -r hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz && \ + mv hugo /usr/bin && \ + chmod 755 /usr/bin/hugo + +WORKDIR /src +COPY ./ /src diff --git a/docs-gen/test/.devcontainer/devcontainer.json b/docs-gen/test/.devcontainer/devcontainer.json new file mode 100644 index 00000000..3ca14d34 --- /dev/null +++ b/docs-gen/test/.devcontainer/devcontainer.json @@ -0,0 +1,5 @@ +{ + "build": { + "dockerfile": "./Dockerfile" + } +} diff --git a/docs-gen/.npmignore b/docs-gen/test/.gitignore similarity index 51% rename from docs-gen/.npmignore rename to docs-gen/test/.gitignore index 7be0f0ef..8e409ce0 100644 --- a/docs-gen/.npmignore +++ b/docs-gen/test/.gitignore @@ -1,8 +1,6 @@ -.eslintcache -.stylelintcache +.env .netlify .hugo_build.lock -yarn-error.log node_modules public resources diff --git a/docs-gen/test/.gitpod.yml b/docs-gen/test/.gitpod.yml new file mode 100644 index 00000000..df19ef50 --- /dev/null +++ b/docs-gen/test/.gitpod.yml @@ -0,0 +1,13 @@ +# Source: https://github.com/gitpod-io/template-hugo/blob/main/.gitpod.yml + +# List the start up tasks. Learn more https://www.gitpod.io/docs/config-start-tasks/ +tasks: + - name: Run start up tasks + before: brew install hugo + init: pnpm install + command: hugo server --baseURL $(gp url 1313) --liveReloadPort=443 --appendPort=false --bind=0.0.0.0 --disableFastRender --noHTTPCache --navigateToChanged + +# List the ports to expose. Learn more https://www.gitpod.io/docs/config-ports/ +ports: + - port: 1313 + onOpen: open-preview diff --git a/docs-gen/test/.npmignore b/docs-gen/test/.npmignore new file mode 100644 index 00000000..7bc52e6b --- /dev/null +++ b/docs-gen/test/.npmignore @@ -0,0 +1,2 @@ +!.npmrc +!.gitignore diff --git a/docs-gen/test/.npmrc b/docs-gen/test/.npmrc new file mode 100644 index 00000000..b667d298 --- /dev/null +++ b/docs-gen/test/.npmrc @@ -0,0 +1,4 @@ +enable-pre-post-scripts=true +auto-install-peers=true +node-linker=hoisted +prefer-symlinked-executables=false diff --git a/docs-gen/test/.prettierignore b/docs-gen/test/.prettierignore new file mode 100644 index 00000000..a9468c15 --- /dev/null +++ b/docs-gen/test/.prettierignore @@ -0,0 +1,12 @@ +*.html +*.ico +*.png +*.jp*g +*.toml +*.*ignore +*.svg +*.xml +LICENSE +.npmrc +.gitkeep +*.woff* diff --git a/docs-gen/test/.prettierrc.yaml b/docs-gen/test/.prettierrc.yaml new file mode 100644 index 00000000..cf3ba7bf --- /dev/null +++ b/docs-gen/test/.prettierrc.yaml @@ -0,0 +1,19 @@ +# Default config +tabWidth: 4 +endOfLine: crlf +singleQuote: true +printWidth: 100000 +trailingComma: none +bracketSameLine: true +quoteProps: consistent +experimentalTernaries: true + +# Overrided config +overrides: + - files: ["*.md", "*.json", "*.yaml"] + options: + tabWidth: 2 + singleQuote: false + - files: ["*.scss"] + options: + singleQuote: false diff --git a/docs-gen/test/LICENSE b/docs-gen/test/LICENSE new file mode 100644 index 00000000..055ea019 --- /dev/null +++ b/docs-gen/test/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020-2025 Thulite + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs-gen/test/assets/favicon.png b/docs-gen/test/assets/favicon.png new file mode 100644 index 00000000..4338eea4 Binary files /dev/null and b/docs-gen/test/assets/favicon.png differ diff --git a/docs-gen/test/assets/favicon.svg b/docs-gen/test/assets/favicon.svg new file mode 100644 index 00000000..995a190a --- /dev/null +++ b/docs-gen/test/assets/favicon.svg @@ -0,0 +1 @@ + diff --git a/docs-gen/assets/js/search.js b/docs-gen/test/assets/images/.gitkeep similarity index 100% rename from docs-gen/assets/js/search.js rename to docs-gen/test/assets/images/.gitkeep diff --git a/docs-gen/test/assets/js/custom.js b/docs-gen/test/assets/js/custom.js new file mode 100644 index 00000000..c5525d04 --- /dev/null +++ b/docs-gen/test/assets/js/custom.js @@ -0,0 +1 @@ +// Put your custom JS code here diff --git a/docs-gen/test/assets/scss/common/_custom.scss b/docs-gen/test/assets/scss/common/_custom.scss new file mode 100644 index 00000000..f7c13617 --- /dev/null +++ b/docs-gen/test/assets/scss/common/_custom.scss @@ -0,0 +1 @@ +// Put your custom SCSS code here diff --git a/docs-gen/test/assets/scss/common/_variables-custom.scss b/docs-gen/test/assets/scss/common/_variables-custom.scss new file mode 100644 index 00000000..d2280ccd --- /dev/null +++ b/docs-gen/test/assets/scss/common/_variables-custom.scss @@ -0,0 +1 @@ +// Put your custom SCSS variables here diff --git a/docs-gen/layouts/_default/_markup/render-image.html b/docs-gen/test/assets/svgs/.gitkeep similarity index 100% rename from docs-gen/layouts/_default/_markup/render-image.html rename to docs-gen/test/assets/svgs/.gitkeep diff --git a/docs-gen/test/config/_default/hugo.toml b/docs-gen/test/config/_default/hugo.toml new file mode 100644 index 00000000..74713e7a --- /dev/null +++ b/docs-gen/test/config/_default/hugo.toml @@ -0,0 +1,87 @@ +title = "S2DM" +baseurl = "http://localhost/" +disableAliases = true +disableHugoGeneratorInject = true +# disableKinds = ["taxonomy", "term"] +enableEmoji = true +enableGitInfo = false +enableRobotsTXT = true +languageCode = "en-US" +rssLimit = 10 +summarylength = 20 # 70 (default) + +# Multilingual +defaultContentLanguage = "en" +disableLanguages = ["de", "nl"] +defaultContentLanguageInSubdir = false + +copyRight = "Copyright (c) 2020-2024 Thulite" + +[build.buildStats] + enable = true + +[outputs] + home = ["HTML", "RSS", "searchIndex"] + section = ["HTML", "RSS", "SITEMAP"] + +[outputFormats.searchIndex] + mediaType = "application/json" + baseName = "search-index" + isPlainText = true + notAlternative = true + +# Add output format for section sitemap.xml +[outputFormats.SITEMAP] + mediaType = "application/xml" + baseName = "sitemap" + isHTML = false + isPlainText = true + noUgly = true + rel = "sitemap" + +[sitemap] + changefreq = "monthly" + filename = "sitemap.xml" + priority = 0.5 + +[caches] + [caches.getjson] + dir = ":cacheDir/:project" + maxAge = -1 # "30m" + +[taxonomies] + contributor = "contributors" + category = "categories" + tag = "tags" + +[permalinks] + blog = "/blog/:slug/" + docs = "/docs/:sections[1:]/:slug/" +# docs = "/docs/1.0/:sections[1:]/:slug/" + +[minify.tdewolff.html] + keepWhitespace = false + +[pagination] + pagerSize = 10 + +[related] + threshold = 80 + includeNewer = true + toLower = false + [[related.indices]] + name = "categories" + weight = 100 + [[related.indices]] + name = "tags" + weight = 80 + [[related.indices]] + name = "date" + weight = 10 + +[imaging] + anchor = "Center" + bgColor = "#ffffff" + hint = "photo" + quality = 85 + resampleFilter = "Lanczos" diff --git a/docs-gen/test/config/_default/languages.toml b/docs-gen/test/config/_default/languages.toml new file mode 100644 index 00000000..523b236a --- /dev/null +++ b/docs-gen/test/config/_default/languages.toml @@ -0,0 +1,32 @@ +[en] + languageName = "English" + contentDir = "content/en" + weight = 10 + [en.params] + languageISO = "EN" + languageTag = "en-US" + footer = 'Brought to you by Thulite' + alertText = 'Doks version 1.0 just shipped!' + +[de] + languageName = "German" + contentDir = "content/de" + weight = 15 + [de.params] + languageISO = "DE" + languageTag = "de-DE" + footer = 'Gebaut mit Thulite' + alertText = 'Neue Version ist da! Doks v0.5' + +[nl] + languageName = "Nederlands" + contentDir = "content/nl" + weight = 20 + [nl.params] + languageISO = "NL" + languageTag = "nl-NL" + titleAddition = "Modern documentatie-thema" + description = "Doks is een Hugo-thema waarmee je moderne documentatie-websites kunt bouwen die veilig, snel en klaar voor SEO zijn — standaard." + titleHome = "Doks thema" + footer = 'Mogelijk gemaakt door Netlify, Hugo, en Doks' + alertText = 'Introductie van het Doks-kinderthema, verschillende DX + UX-updates en meer! Bekijk Doks v0.2' diff --git a/docs-gen/test/config/_default/markup.toml b/docs-gen/test/config/_default/markup.toml new file mode 100644 index 00000000..23e8d429 --- /dev/null +++ b/docs-gen/test/config/_default/markup.toml @@ -0,0 +1,33 @@ +defaultMarkdownHandler = "goldmark" + +[goldmark] + [goldmark.extensions] + linkify = false + [goldmark.parser] + autoHeadingID = true + autoHeadingIDType = "github" + [goldmark.parser.attribute] + block = true + title = true + [goldmark.renderer] + unsafe = true + +[highlight] + anchorLineNos = false + codeFences = true + guessSyntax = false + hl_Lines = '' + hl_inline = false + lineAnchors = '' + lineNoStart = 1 + lineNos = false + lineNumbersInTable = false + noClasses = false + noHl = false + style = 'monokai' + tabWidth = 2 + +[tableOfContents] + endLevel = 3 + ordered = false + startLevel = 2 diff --git a/docs-gen/test/config/_default/menus/menus.en.toml b/docs-gen/test/config/_default/menus/menus.en.toml new file mode 100644 index 00000000..7ef7577e --- /dev/null +++ b/docs-gen/test/config/_default/menus/menus.en.toml @@ -0,0 +1,16 @@ +[[main]] + name = "Docs" + url = "/docs/introduction/s2dm-documentation/" +# url = "/docs/1.0/prologue/introduction/" + weight = 10 + +[[main]] + name = "Examples" + url = "/examples/examples-introduction/introduction/" + weight = 20 + +[[social]] + name = "GitHub" + pre = '' + url = "https://github.com/COVESA/s2dm" + weight = 30 diff --git a/docs-gen/test/config/_default/menus/menus.nl.toml b/docs-gen/test/config/_default/menus/menus.nl.toml new file mode 100644 index 00000000..53aaaeba --- /dev/null +++ b/docs-gen/test/config/_default/menus/menus.nl.toml @@ -0,0 +1,39 @@ +[[docs]] + name = "Prologue" + weight = 10 + identifier = "prologue" + url = "/docs/prologue/" + +[[docs]] + name = "Help" + weight = 60 + identifier = "help" + url = "/docs/help/" + +[[main]] + name = "Docs" + url = "/docs/prologue/introduction/" + weight = 10 + +# [[main]] +# name = "Blog" +# url = "/blog/" +# weight = 20 + +[[social]] + name = "GitHub" + pre = "" + url = "https://github.com/h-enk/doks" + post = "v0.1.0" + weight = 10 + +[[social]] + name = "Twitter" + pre = "" + url = "https://twitter.com/getdoks" + weight = 20 + +# [[footer]] +# name = "Privacy" +# url = "/privacy-policy/" +# weight = 10 diff --git a/docs-gen/test/config/_default/module.toml b/docs-gen/test/config/_default/module.toml new file mode 100644 index 00000000..34cf8e32 --- /dev/null +++ b/docs-gen/test/config/_default/module.toml @@ -0,0 +1,97 @@ +# Module Configuration File +# +# This file configures Hugo module settings, particularly module mounts which +# define how content is organized within the project. +# +# Mounts specify file paths in your project that Hugo should use when building +# the site. They allow for custom directory structures and integrating content +# from different locations. + +## content +[[mounts]] + source = "content" + target = "content" + +## data +[[mounts]] + source = "node_modules/@thulite/doks-core/data" + target = "data" + +[[mounts]] + source = "data" + target = "data" + +## layouts +[[mounts]] + source = "layouts" + target = "layouts" + +[[mounts]] + # Exclude 'home.html' to avoid conflicts with custom home page layouts defined in the local 'layouts' directory. + excludeFiles = "home.html" + source = "node_modules/@thulite/doks-core/layouts" + target = "layouts" + +[[mounts]] + source = "node_modules/@thulite/core/layouts" + target = "layouts" + +[[mounts]] + source = "node_modules/@thulite/seo/layouts" + target = "layouts" + +[[mounts]] + source = "node_modules/@thulite/images/layouts" + target = "layouts" + +[[mounts]] + source = "node_modules/@thulite/inline-svg/layouts" + target = "layouts" + +## i18n +[[mounts]] + source = "node_modules/@thulite/doks-core/i18n" + target = "i18n" + +[[mounts]] + source = "i18n" + target = "i18n" + +## archetypes +[[mounts]] + source = "node_modules/@thulite/doks-core/archetypes" + target = "archetypes" + +[[mounts]] + source = "archetypes" + target = "archetypes" + +## assets +[[mounts]] + source = "node_modules/@thulite/core/assets" + target = "assets" + +[[mounts]] + source = "node_modules/@thulite/doks-core/assets" + target = "assets" + +[[mounts]] + source = "node_modules/@tabler/icons/icons" + target = "assets/svgs/tabler-icons" + +[[mounts]] + source = "node_modules/@thulite/images/assets" + target = "assets" + +[[mounts]] + source = "assets" + target = "assets" + +## static +[[mounts]] + source = "node_modules/@thulite/doks-core/static" + target = "static" + +[[mounts]] + source = "static" + target = "static" diff --git a/docs-gen/test/config/_default/params.toml b/docs-gen/test/config/_default/params.toml new file mode 100644 index 00000000..702387a0 --- /dev/null +++ b/docs-gen/test/config/_default/params.toml @@ -0,0 +1,140 @@ +# Hugo +title = "S2DM" +description = "Simplified Semantic Data Modelling" +images = ["cover.png"] + +# mainSections +mainSections = ["docs"] + +[social] + twitter = "getdoks" + +# Doks (@thulite/doks-core) +[doks] + # Color mode + colorMode = "auto" # auto (default), light or dark + colorModeToggler = true # true (default) or false (this setting is only relevant when colorMode = auto) + + # Navbar + navbarSticky = true # true (default) or false + containerBreakpoint = "lg" # "", "sm", "md", "lg" (default), "xl", "xxl", or "fluid" + + ## Button + navBarButton = false # false (default) or true + navBarButtonUrl = "/docs/prologue/introduction/" + navBarButtonText = "Get started" + + # FlexSearch + flexSearch = true # true (default) or false + searchExclKinds = [] # list of page kinds to exclude from search indexing (e.g. ["home", "taxonomy", "term"] ) + searchExclTypes = [] # list of content types to exclude from search indexing (e.g. ["blog", "docs", "legal", "contributors", "categories"]) + showSearch = [] # [] (all pages, default) or homepage (optionally) and list of sections (e.g. ["homepage", "blog", "guides"]) + indexSummary = false # true or false (default); whether to index only the `.Summary` instead of the full `.Content`; limits the respective JSON field size and thus increases loading time + + ## Search results + showDate = false # false (default) or true + showSummary = true # true (default) or false + searchLimit = 99 # 0 (no limit, default) or natural number + + # Global alert + alert = false # false (default) or true + alertDismissable = true # true (default) or false + + # Bootstrap + bootstrapJavascript = false # false (default) or true + + # Nav + sectionNav = ["docs"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"]) + toTopButton = false # false (default) or true + breadcrumbTrail = false # false (default) or true + headlineHash = true # true (default) or false + scrollSpy = true # true (default) or false + + # Multilingual + multilingualMode = false # false (default) or true + showMissingLanguages = true # whether or not to show untranslated languages in the language menu; true (default) or false + + # Versioning + docsVersioning = false # false (default) or true + docsVersion = "1.0" + + # UX + headerBar = false # true (default) or false + backgroundDots = true # true (default) or false + + # Homepage + sectionFooter = false # false (default) or true + + # Blog + relatedPosts = false # false (default) or true + imageList = true # true (default) or false + imageSingle = true # true (default) or false + + # Repository + editPage = false # false (default) or true + lastMod = false # false (default) or true + repoHost = "GitHub" # GitHub (default), Gitea, GitLab, Bitbucket, or BitbucketServer + docsRepo = "https://github.com/h-enk/doks" + docsRepoBranch = "main" # main (default), master, or + docsRepoSubPath = "" # "" (none, default) or + + krokiURL = "https://kroki.io" # "https://kroki.io" (default) or custom URL like http://localhost:8000. + + # SCSS colors + # backGround = "yellowgreen" + ## Dark theme + # textDark = "#dee2e6" # "#dee2e6" (default), "#dee2e6" (orignal), or custom color + # accentDark = "#5d2f86" # "#5d2f86" (default), "#5d2f86" (original), or custom color + ## Light theme + # textLight = "#1d2d35" # "#1d2d35" (default), "#1d2d35" (orignal), or custom color + # accentLight = "#8ed6fb" # "#8ed6fb" (default), "#8ed6fb" (orignal), or custom color + + # [doks.menu] + # [doks.menu.section] + # auto = true # true (default) or false + # collapsibleSidebar = true # true (default) or false + +# Debug +[render_hooks.image] + errorLevel = 'ignore' # ignore (default), warning, or error (fails the build) + +[render_hooks.link] + errorLevel = 'ignore' # ignore (default), warning, or error (fails the build) + highlightBroken = false # true or false (default) + +# Images (@thulite/images) +[thulite_images] + [thulite_images.defaults] + decoding = "async" # sync, async, or auto (default) + fetchpriority = "auto" # high, low, or auto (default) + loading = "lazy" # eager or lazy (default) + widths = [480, 576, 768, 1025, 1200, 1440] # [640, 768, 1024, 1366, 1600, 1920] for example + sizes = "auto" # 100vw (default), 75vw, or auto for example + process = "" # "fill 1600x900" or "fill 2100x900" for example + lqip = "16x webp q20" # "16x webp q20" or "21x webp q20" for example + +# Inline SVG (@thulite/inline-svg) +[inline_svg] + iconSetDir = "tabler-icons" # "tabler-icons" (default) + +# SEO (@thulite/seo) +[seo] + [seo.title] + separator = " | " + suffix = "" + [seo.favicons] + sizes = [] + icon = "favicon.png" # favicon.png (default) + svgIcon = "favicon.svg" # favicon.svg (default) + maskIcon = "mask-icon.svg" # mask-icon.svg (default) + maskIconColor = "white" # white (default) + [seo.schemas] + type = "Organization" # Organization (default) or Person + logo = "favicon-512x512.png" # Logo of Organization — favicon-512x512.png (default) + name = "Thulite" # Name of Organization or Person + sameAs = [] # E.g. ["https://github.com/thuliteio/thulite", "https://fosstodon.org/@thulite"] + images = ["cover.png"] # ["cover.png"] (default) + article = [] # Article sections + newsArticle = [] # NewsArticle sections + blogPosting = ["blog"] # BlogPosting sections + product = [] # Product sections diff --git a/docs-gen/test/config/babel.config.js b/docs-gen/test/config/babel.config.js new file mode 100644 index 00000000..9a65c09a --- /dev/null +++ b/docs-gen/test/config/babel.config.js @@ -0,0 +1,17 @@ +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + targets: { + browsers: [ + // Best practice: https://github.com/babel/babel/issues/7789 + '>=1%', + 'not ie 11', + 'not op_mini all' + ] + } + } + ] + ] +}; diff --git a/docs-gen/test/config/next/hugo.toml b/docs-gen/test/config/next/hugo.toml new file mode 100644 index 00000000..8821061a --- /dev/null +++ b/docs-gen/test/config/next/hugo.toml @@ -0,0 +1,2 @@ +# Overrides for next environment +baseurl = "/" diff --git a/docs-gen/test/config/postcss.config.js b/docs-gen/test/config/postcss.config.js new file mode 100644 index 00000000..e1493719 --- /dev/null +++ b/docs-gen/test/config/postcss.config.js @@ -0,0 +1,64 @@ +const autoprefixer = require('autoprefixer'); +const { purgeCSSPlugin } = require('@fullhuman/postcss-purgecss'); +const whitelister = require('purgecss-whitelister'); + +module.exports = { + plugins: [ + autoprefixer(), + purgeCSSPlugin({ + content: ['./hugo_stats.json'], + extractors: [ + { + extractor: (content) => { + const els = JSON.parse(content).htmlElements; + return els.tags.concat(els.classes, els.ids); + }, + extensions: ['json'] + } + ], + dynamicAttributes: [ + 'aria-expanded', + 'data-bs-popper', + 'data-bs-target', + 'data-bs-theme', + 'data-dark-mode', + 'data-global-alert', + 'data-pane', // tabs.js + 'data-popper-placement', + 'data-sizes', + 'data-toggle-tab', // tabs.js + 'id', + 'size', + 'type' + ], + safelist: [ + 'active', + 'btn-clipboard', // clipboards.js + 'clipboard', // clipboards.js + 'disabled', + 'hidden', + 'modal-backdrop', // search-modal.js + 'selected', // search-modal.js + 'show', + 'img-fluid', + 'blur-up', + 'lazyload', + 'lazyloaded', + 'alert-link', + 'container-fw ', + 'container-lg', + 'container-fluid', + 'offcanvas-backdrop', + 'figcaption', + 'dt', + 'dd', + 'showing', + 'hiding', + 'page-item', + 'page-link', + 'not-content', + ...whitelister(['./assets/scss/**/*.scss', './node_modules/@thulite/doks-core/assets/scss/components/_code.scss', './node_modules/@thulite/doks-core/assets/scss/components/_expressive-code.scss', './node_modules/@thulite/doks-core/assets/scss/common/_syntax.scss']) + ] + }) + ] +}; diff --git a/docs-gen/test/config/production/hugo.toml b/docs-gen/test/config/production/hugo.toml new file mode 100644 index 00000000..25b66839 --- /dev/null +++ b/docs-gen/test/config/production/hugo.toml @@ -0,0 +1,2 @@ +# Overrides for production environment +baseurl = "/" diff --git a/docs-gen/test/content/_index.md b/docs-gen/test/content/_index.md new file mode 100644 index 00000000..e7d8c500 --- /dev/null +++ b/docs-gen/test/content/_index.md @@ -0,0 +1,13 @@ +--- +title: "Welcome to Doks" +description: "" +lead: "Congrats on setting up a new Doks project!" +date: 2023-09-07T16:33:54+02:00 +lastmod: 2023-09-07T16:33:54+02:00 +draft: false +seo: + title: "Welcome to Doks" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/test/content/blog/_index.md b/docs-gen/test/content/blog/_index.md new file mode 100644 index 00000000..a99c1bdf --- /dev/null +++ b/docs-gen/test/content/blog/_index.md @@ -0,0 +1,19 @@ +--- +title: "Blog" +description: "" +summary: "" +date: 2023-09-07T16:21:44+02:00 +lastmod: 2023-09-07T16:21:44+02:00 +draft: false +weight: 50 +categories: [] +tags: [] +contributors: [] +pinned: false +homepage: false +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/test/content/blog/example/index.md b/docs-gen/test/content/blog/example/index.md new file mode 100644 index 00000000..ad2a4ddd --- /dev/null +++ b/docs-gen/test/content/blog/example/index.md @@ -0,0 +1,25 @@ +--- +title: "Example Post" +description: "Just an example post." +summary: "You can use blog posts for announcing product updates and features." +date: 2023-09-07T16:27:22+02:00 +lastmod: 2023-09-07T16:27:22+02:00 +draft: false +weight: 50 +categories: [] +tags: [] +contributors: [] +pinned: false +homepage: false +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- + +Well-thought-through product announcements will help increase feature awareness and engage users with new functionality. Just like [sharing your public roadmap](https://canny.io/blog/should-you-have-a-public-roadmap/), it's also a great way to let potential customers see that you're constantly improving. + +## Further reading + +- Read [How to announce product updates and features](https://canny.io/blog/announce-product-updates-features/) diff --git a/docs-gen/test/content/docs/_index.md b/docs-gen/test/content/docs/_index.md new file mode 100644 index 00000000..afc39df9 --- /dev/null +++ b/docs-gen/test/content/docs/_index.md @@ -0,0 +1,15 @@ +--- +title: "Docs" +description: "" +summary: "" +date: 2023-09-07T16:12:03+02:00 +lastmod: 2023-09-07T16:12:03+02:00 +draft: false +weight: 999 +toc: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/test/content/docs/guides/_index.md b/docs-gen/test/content/docs/guides/_index.md new file mode 100644 index 00000000..4e11d962 --- /dev/null +++ b/docs-gen/test/content/docs/guides/_index.md @@ -0,0 +1,15 @@ +--- +title: "Guides" +description: "" +summary: "" +date: 2023-09-07T16:06:50+02:00 +lastmod: 2023-09-07T16:06:50+02:00 +draft: false +weight: 800 +toc: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/test/content/docs/guides/example.md b/docs-gen/test/content/docs/guides/example.md new file mode 100644 index 00000000..96d01211 --- /dev/null +++ b/docs-gen/test/content/docs/guides/example.md @@ -0,0 +1,21 @@ +--- +title: "Example Guide" +description: "Guides lead a user through a specific task they want to accomplish, often with a sequence of steps." +summary: "" +date: 2023-09-07T16:04:48+02:00 +lastmod: 2023-09-07T16:04:48+02:00 +draft: false +weight: 810 +toc: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- + +Guides lead a user through a specific task they want to accomplish, often with a sequence of steps. Writing a good guide requires thinking about what your users are trying to do. + +## Further reading + +- Read [about how-to guides](https://diataxis.fr/how-to-guides/) in the Diátaxis framework diff --git a/docs-gen/test/content/docs/reference/_index.md b/docs-gen/test/content/docs/reference/_index.md new file mode 100644 index 00000000..8321078d --- /dev/null +++ b/docs-gen/test/content/docs/reference/_index.md @@ -0,0 +1,17 @@ +--- +title: "Reference" +description: "" +summary: "" +date: 2023-09-07T16:12:37+02:00 +lastmod: 2023-09-07T16:12:37+02:00 +draft: false +weight: 900 +toc: true +sidebar: + collapsed: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/test/content/docs/reference/example.md b/docs-gen/test/content/docs/reference/example.md new file mode 100644 index 00000000..4cc712d3 --- /dev/null +++ b/docs-gen/test/content/docs/reference/example.md @@ -0,0 +1,21 @@ +--- +title: "Example Reference" +description: "Reference pages are ideal for outlining how things work in terse and clear terms." +summary: "" +date: 2023-09-07T16:13:18+02:00 +lastmod: 2023-09-07T16:13:18+02:00 +draft: false +weight: 910 +toc: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- + +Reference pages are ideal for outlining how things work in terse and clear terms. Less concerned with telling a story or addressing a specific use case, they should give a comprehensive outline of what your documenting. + +## Further reading + +- Read [about reference](https://diataxis.fr/reference/) in the Diátaxis framework diff --git a/docs-gen/test/content/docs/resources.md b/docs-gen/test/content/docs/resources.md new file mode 100644 index 00000000..8d1e452c --- /dev/null +++ b/docs-gen/test/content/docs/resources.md @@ -0,0 +1,17 @@ +--- +title: "Resources" +description: "" +summary: "" +date: 2024-02-27T09:30:56+01:00 +lastmod: 2024-02-27T09:30:56+01:00 +draft: false +weight: 999 +toc: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- + +Link to valuable, relevant resources. diff --git a/docs-gen/test/content/privacy.md b/docs-gen/test/content/privacy.md new file mode 100644 index 00000000..5d589539 --- /dev/null +++ b/docs-gen/test/content/privacy.md @@ -0,0 +1,14 @@ +--- +title: "Privacy Policy" +description: "" +summary: "" +date: 2023-09-07T17:19:07+02:00 +lastmod: 2023-09-07T17:19:07+02:00 +draft: false +type: "legal" +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- diff --git a/docs-gen/layouts/partials/footer/script-footer-custom.html b/docs-gen/test/layouts/_partials/footer/script-footer-custom.html similarity index 100% rename from docs-gen/layouts/partials/footer/script-footer-custom.html rename to docs-gen/test/layouts/_partials/footer/script-footer-custom.html diff --git a/docs-gen/test/layouts/_partials/head/custom-head.html b/docs-gen/test/layouts/_partials/head/custom-head.html new file mode 100644 index 00000000..21e7beaf --- /dev/null +++ b/docs-gen/test/layouts/_partials/head/custom-head.html @@ -0,0 +1 @@ + diff --git a/docs-gen/layouts/partials/head/script-header.html b/docs-gen/test/layouts/_partials/head/script-header.html similarity index 100% rename from docs-gen/layouts/partials/head/script-header.html rename to docs-gen/test/layouts/_partials/head/script-header.html diff --git a/docs-gen/test/layouts/home.html b/docs-gen/test/layouts/home.html new file mode 100644 index 00000000..d519ea2e --- /dev/null +++ b/docs-gen/test/layouts/home.html @@ -0,0 +1,59 @@ +{{ define "main" }} +
+
+
+

{{ .Title }}

+
+
+

{{ .Params.lead | safeHTML }}

+ {{ i18n "get_started" }} + {{ .Content }} +
+
+
+{{ end }} + +{{ define "sidebar-prefooter" }} + {{ if site.Params.doks.backgroundDots -}} +
+
+
+ {{ end -}} + {{ if eq $.Site.Language.LanguageName "English" }} +
+
+
+
+

Update content

+

Edit content/_index.md to see this page change.

+
+
+

Add new content

+

Add Markdown files to content to create new pages.

+
+
+

Configure your site

+

Edit your config in config/_default/params.toml.

+
+
+

Read the docs

+

Learn more in the Docs.

+
+
+
+
+ {{ end }} +{{ end }} + +{{ define "sidebar-footer" }} +{{ if site.Params.doks.sectionFooter -}} +
+
+
+

Start building with Doks today

+ {{ i18n "get-started" }} +
+
+
+{{ end -}} +{{ end }} diff --git a/docs-gen/test/netlify.toml b/docs-gen/test/netlify.toml new file mode 100644 index 00000000..3457dbeb --- /dev/null +++ b/docs-gen/test/netlify.toml @@ -0,0 +1,35 @@ +[build] + publish = "public" + functions = "functions" + command = "npm run build" + +[build.environment] + NODE_VERSION = "22.17.0" + NPM_VERSION = "10.9.2" + HUGO_VERSION = "0.148.1" + +[dev] + framework = "#custom" + command = "npm run dev" + targetPort = 1313 + port = 8888 + publish = "public" + autoLaunch = false + +# Redirects and rewrites — https://docs.netlify.com/routing/redirects/#syntax-for-the-netlify-configuration-file + +# Custom headers — https://docs.netlify.com/routing/headers/#syntax-for-the-netlify-configuration-file +[[headers]] + for = "/*" + [headers.values] + Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload" + X-Content-Type-Options = "nosniff" + X-XSS-Protection = "1; mode=block" + Content-Security-Policy = "default-src 'self'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self' https://avatars.githubusercontent.com data:; script-src 'self' 'nonce-dXNlcj0iaGVsbG8iLGRvbWFpbj0iaGVua3ZlcmxpbmRlLmNvbSIsZG9jdW1lbnQud3JpdGUodXNlcisiQCIrZG9tYWluKTs=' 'sha256-aWZ3y/RxbBYKHXH0z8+8ljrHG1mSBvyzSfxSMjBSaXk='; style-src 'self'" + X-Frame-Options = "SAMEORIGIN" + Referrer-Policy = "strict-origin" + Permissions-Policy = "geolocation=(self), microphone=(), camera=()" + Cache-Control= ''' + public, + max-age=31536000''' + Access-Control-Allow-Origin = "*" diff --git a/docs-gen/test/package.json b/docs-gen/test/package.json new file mode 100644 index 00000000..cc007167 --- /dev/null +++ b/docs-gen/test/package.json @@ -0,0 +1,39 @@ +{ + "name": "test", + "version": "1.8.0", + "description": "Doks theme", + "author": "Thulite", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/thuliteio/doks.git" + }, + "scripts": { + "create": "hugo new", + "dev": "hugo server --disableFastRender --noHTTPCache", + "format": "prettier **/** -w -c", + "build": "hugo --minify --gc", + "preview": "vite preview --outDir public" + }, + "dependencies": { + "@thulite/doks-core": "^1.8.3", + "@thulite/images": "^3.3.1", + "@thulite/inline-svg": "^1.2.0", + "@thulite/seo": "^2.4.1", + "@tabler/icons": "^3.34.1", + "thulite": "^2.6.3" + }, + "devDependencies": { + "@changesets/changelog-github": "^0.5.1", + "@changesets/cli": "^2.29.5", + "prettier": "^3.6.2", + "vite": "^7.0.6" + }, + "engines": { + "node": ">=20.11.0" + }, + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + } +} diff --git a/docs-gen/layouts/partials/footer.html b/docs-gen/test/static/.gitkeep similarity index 100% rename from docs-gen/layouts/partials/footer.html rename to docs-gen/test/static/.gitkeep diff --git a/docs-gen/test/static/apple-touch-icon.png b/docs-gen/test/static/apple-touch-icon.png new file mode 100644 index 00000000..42576716 Binary files /dev/null and b/docs-gen/test/static/apple-touch-icon.png differ diff --git a/docs-gen/test/static/cover.jpg b/docs-gen/test/static/cover.jpg new file mode 100644 index 00000000..76e2e6b8 Binary files /dev/null and b/docs-gen/test/static/cover.jpg differ diff --git a/docs-gen/test/static/favicon.ico b/docs-gen/test/static/favicon.ico new file mode 100644 index 00000000..152695cf Binary files /dev/null and b/docs-gen/test/static/favicon.ico differ diff --git a/docs-gen/test/static/icon.svg b/docs-gen/test/static/icon.svg new file mode 100644 index 00000000..995a190a --- /dev/null +++ b/docs-gen/test/static/icon.svg @@ -0,0 +1 @@ + diff --git a/docs-gen/theme.toml b/docs-gen/theme.toml new file mode 100644 index 00000000..c5f4a427 --- /dev/null +++ b/docs-gen/theme.toml @@ -0,0 +1,14 @@ +name = "Doks" +license = "MIT" +licenselink = "https://github.com/thuliteio/doks/blob/master/LICENSE" +description = "Build beautiful, high-performance documentation websites with Doks." + +homepage = "https://github.com/thuliteio/doks" +demosite = "https://doks.netlify.app" + +tags = ["landing page", "documentation", "blog", "minimal", "modern", "customizable", "search", "dark mode", "bootstrap"] +features = ["secure by design", "fast by default", "search optimized", "full text search", "page layouts", "dark mode"] + +[author] + name = "Henk Verlinde" + homepage = "https://henkverlinde.com"