From c29f46dd19fc1f9170b7d14ed4323ef12ad241f1 Mon Sep 17 00:00:00 2001 From: David Young Date: Thu, 23 Oct 2025 07:24:11 -0600 Subject: [PATCH] Umami --- .../docs/software-catalog/software-catalog.md | 4 + hugo.toml | 2 +- public/404.html | 16 +- public/categories/index.xml | 4 +- .../federated-company-backgrounder/index.html | 86 +++++------ .../docs/about-federated-computer/index.html | 90 ++++++------ .../docs/about-federated-computer/index.xml | 12 +- .../roadmap/index.html | 86 +++++------ .../account-management-and-billing/index.html | 86 +++++------ .../billing/index.html | 88 +++++------ .../federated-core-platform/billing/index.xml | 8 +- .../index.html | 86 +++++------ .../core-workflow-intelligence/index.html | 86 +++++------ .../customization/index.html | 94 ++++++------ .../customization/index.xml | 20 +-- .../customization/whitelabel/index.html | 86 +++++------ .../index.html | 86 +++++------ .../federated-core-platform/index.html | 86 +++++------ .../docs/federated-core-platform/index.html | 98 ++++++------- public/docs/federated-core-platform/index.xml | 8 +- .../management/core-scanner/index.html | 86 +++++------ .../management/index.html | 92 ++++++------ .../management/index.xml | 16 +- .../management/monitor-and-fix/index.html | 86 +++++------ .../management/update-and-upgrade/index.html | 86 +++++------ .../provisioning/authentication/index.html | 86 +++++------ .../provisioning/computer/index.html | 86 +++++------ .../provisioning/core-desktop/index.html | 86 +++++------ .../provisioning/core-mini/index.html | 86 +++++------ .../provisioning/core-server/index.html | 86 +++++------ .../provisioning/dashboard/index.html | 86 +++++------ .../provisioning/index.html | 104 ++++++------- .../provisioning/index.xml | 44 +++--- .../provisioning/provisioner/index.html | 86 +++++------ .../provisioning/unified-messaging/index.html | 86 +++++------ .../provisioning/unified-storage/index.html | 86 +++++------ .../customer-service-and-support/index.html | 86 +++++------ .../services/federated-management/index.html | 86 +++++------ .../services/index.html | 90 ++++++------ .../services/index.xml | 12 +- public/docs/index.html | 96 ++++++------ public/docs/index.xml | 10 +- public/docs/overview/index.html | 86 +++++------ public/docs/partners/index.html | 94 ++++++------ public/docs/partners/index.xml | 20 +-- .../managed-service-providers/index.html | 86 +++++------ .../partners/on-line-affiliates/index.html | 86 +++++------ .../operators-networks-platforms/index.html | 86 +++++------ public/docs/partners/pro-customers/index.html | 86 +++++------ ...d1915e82b463fec53b50fde52c55a4b05916eb.css | 3 + .../docs/software-catalog/bundles/index.html | 86 +++++------ .../federated-commerce/index.html | 86 +++++------ .../federated-omnimedia/index.html | 86 +++++------ public/docs/software-catalog/index.html | 94 ++++++------ public/docs/software-catalog/index.xml | 24 +-- .../software-catalog/index.html | 88 +++++------ public/index.html | 18 +-- public/index.xml | 138 +++++++++--------- ...2ebb26fe16efc5b3046411d13ade6533b6daf7.css | 3 + public/sitemap.xml | 88 +++++------ public/tags/index.xml | 4 +- ...s_2559dcb36d17cc8382d1803115bae9e1.content | 2 +- ...scss_2559dcb36d17cc8382d1803115bae9e1.json | 2 +- ...s_8c911ff330bb5ca9491c098c46a3173d.content | 2 +- ...scss_8c911ff330bb5ca9491c098c46a3173d.json | 2 +- resources/_gen/images/images/logos/star.png | Bin 2578 -> 0 bytes ...s_docs_screenshot_hu_96a4be244a204161.webp | Bin 53046 -> 0 bytes .../card-base-2_hu_175f5a44546d4bb4.png | Bin 34217 -> 0 bytes .../card-base-2_hu_31b032575c8c7401.png | Bin 47792 -> 0 bytes .../card-base-2_hu_6d67a1b00c964011.png | Bin 60697 -> 0 bytes .../card-base-2_hu_91f7166aabb5235b.png | Bin 34217 -> 0 bytes .../card-base-2_hu_be62d49e46818fbe.png | Bin 47646 -> 0 bytes .../card-base-2_hu_cc06f218b0207f88.png | Bin 41154 -> 0 bytes .../card-base-2_hu_f86177aaad91e4d7.png | Bin 36588 -> 0 bytes 74 files changed, 2041 insertions(+), 2029 deletions(-) create mode 100644 public/docs/scss/style.min.9e935c13517a7a741ae7c65525d3831f86c449b1cdefe30cef8faab8c1d1915e82b463fec53b50fde52c55a4b05916eb.css create mode 100644 public/scss/style.min.e3e1bc5be46f578c60e8e3b09a46990466da286e0629c07ce7dd74e1ed2ebb26fe16efc5b3046411d13ade6533b6daf7.css delete mode 100644 resources/_gen/images/images/logos/star.png delete mode 100644 resources/_gen/images/images/lotus_docs_screenshot_hu_96a4be244a204161.webp delete mode 100644 resources/_gen/images/opengraph/card-base-2_hu_175f5a44546d4bb4.png delete mode 100644 resources/_gen/images/opengraph/card-base-2_hu_31b032575c8c7401.png delete mode 100644 resources/_gen/images/opengraph/card-base-2_hu_6d67a1b00c964011.png delete mode 100644 resources/_gen/images/opengraph/card-base-2_hu_91f7166aabb5235b.png delete mode 100644 resources/_gen/images/opengraph/card-base-2_hu_be62d49e46818fbe.png delete mode 100644 resources/_gen/images/opengraph/card-base-2_hu_cc06f218b0207f88.png delete mode 100644 resources/_gen/images/opengraph/card-base-2_hu_f86177aaad91e4d7.png diff --git a/content/docs/software-catalog/software-catalog.md b/content/docs/software-catalog/software-catalog.md index 563684b..c9506de 100644 --- a/content/docs/software-catalog/software-catalog.md +++ b/content/docs/software-catalog/software-catalog.md @@ -60,6 +60,8 @@ Each entry has a link to the code repository for the project and the open source ***Immich:*** multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE +***Home Assistant:*** open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md + ***Maybe Finance:*** Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE ***WGER:*** personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt @@ -136,6 +138,8 @@ Each entry has a link to the code repository for the project and the open source ***Snapify:*** open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md +***Umami:*** website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE + ### Publishing **Castopod:** podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md diff --git a/hugo.toml b/hugo.toml index 7495d9c..7909220 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,4 +1,4 @@ -baseURL = 'http://enterprise.federated.computer' +baseURL = 'https://enterprise.federated.computer' languageCode = 'en-us' title = 'Federated Computer Enterprise' # contentDir = 'content' diff --git a/public/404.html b/public/404.html index db638ae..a7da492 100644 --- a/public/404.html +++ b/public/404.html @@ -44,12 +44,12 @@ - - - - - - + + + + + + @@ -69,7 +69,7 @@ - + @@ -177,7 +177,7 @@ - + diff --git a/public/categories/index.xml b/public/categories/index.xml index d0c0ffa..d28d5a6 100644 --- a/public/categories/index.xml +++ b/public/categories/index.xml @@ -2,10 +2,10 @@ Categories on Federated Computer Enterprise - http://enterprise.federated.computer/categories/ + https://enterprise.federated.computer/categories/ Recent content in Categories on Federated Computer Enterprise Hugo en-us - + diff --git a/public/docs/about-federated-computer/federated-company-backgrounder/index.html b/public/docs/about-federated-computer/federated-company-backgrounder/index.html index 8ad4ea6..00c2239 100644 --- a/public/docs/about-federated-computer/federated-company-backgrounder/index.html +++ b/public/docs/about-federated-computer/federated-company-backgrounder/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp - + @@ -72,7 +72,7 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp - + @@ -96,7 +96,7 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp
  • - + article Overview @@ -116,7 +116,7 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -692,7 +692,7 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp - + @@ -1351,7 +1351,7 @@ Team linkWe are a small group of pioneers. We include founders of the cloud comp href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/about-federated-computer/index.html b/public/docs/about-federated-computer/index.html index d62e658..dc673f9 100644 --- a/public/docs/about-federated-computer/index.html +++ b/public/docs/about-federated-computer/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -560,7 +560,7 @@
    - +
    article @@ -577,7 +577,7 @@
    - +
    article @@ -651,7 +651,7 @@ - + @@ -1310,7 +1310,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/about-federated-computer/index.xml b/public/docs/about-federated-computer/index.xml index 5f67909..29fa41f 100644 --- a/public/docs/about-federated-computer/index.xml +++ b/public/docs/about-federated-computer/index.xml @@ -2,24 +2,24 @@ About Federated Computer on Federated Computer Enterprise - http://enterprise.federated.computer/docs/about-federated-computer/ + https://enterprise.federated.computer/docs/about-federated-computer/ Recent content in About Federated Computer on Federated Computer Enterprise Hugo en-us Thu, 28 Aug 2025 13:41:48 -0600 - + Federated Company Backgrounder - http://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ + https://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ Mon, 25 Aug 2025 12:40:08 -0600 - http://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ + https://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ <p>Federated Computer is on a mission to transform all business software with open-source. All business software has an open-source alternative that is feature-complete, &ldquo;free,&rdquo; and flexible for integration with other open-source software. We provide automated IT services, allowing our customers to adopt open-source software with confidence. Our open-source solutions are used by tens of millions of users around the globe.</p> <h3 id="team">Team <a href="#team" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>We are a small group of pioneers. We include founders of the cloud computer industry. We want a world and internet where big company black-holes don&rsquo;t suck away all our money, data, and sovereignty. We are FedQ&rsquo;d in Colorado Springs, Colorado, USA with colleagues around the globe.</p> Roadmap - http://enterprise.federated.computer/docs/about-federated-computer/roadmap/ + https://enterprise.federated.computer/docs/about-federated-computer/roadmap/ Thu, 28 Aug 2025 13:41:48 -0600 - http://enterprise.federated.computer/docs/about-federated-computer/roadmap/ + https://enterprise.federated.computer/docs/about-federated-computer/roadmap/ <p>Federated Computer is working on the following initiatives for the benefit of our customers and partners:</p> <h3 id="fall-2025">Fall, 2025 <a href="#fall-2025" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p><strong>Computer.</strong> Our take on a central web application for managing all SaaS workloads, dates, clients, messages.</p> <h3 id="first-half-2026">First Half, 2026 <a href="#first-half-2026" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p><strong>Core Workflow Intelligence.</strong> AI services for building application workflows combined between 2 or more open source SaaS applications.</p> <h3 id="second-half-2026">Second Half, 2026 <a href="#second-half-2026" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p><strong>On Premise Provisioning of Federated Cores.</strong> This will support customers that want to connect to high bandwidth, synchronous networks (eg Fiber) and have a Federated Core running on their own hardware with all the management services provided by Federated Core Platform.</p> diff --git a/public/docs/about-federated-computer/roadmap/index.html b/public/docs/about-federated-computer/roadmap/index.html index 5afcf7a..8cb4a4d 100644 --- a/public/docs/about-federated-computer/roadmap/index.html +++ b/public/docs/about-federated-computer/roadmap/index.html @@ -24,22 +24,22 @@ - - - - - - + + + + + + - + - + + @@ -76,7 +76,7 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp - + @@ -100,7 +100,7 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp
  • - + article Overview @@ -120,7 +120,7 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -135,47 +135,47 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -195,17 +195,17 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -225,22 +225,22 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -260,7 +260,7 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -280,12 +280,12 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -310,22 +310,22 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -345,22 +345,22 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -380,12 +380,12 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -683,7 +683,7 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp - + @@ -1342,7 +1342,7 @@ Second Half, 2026 linkOn Premise Provisioning of Federated Cores. This will supp href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/billing/account-management-and-billing/index.html b/public/docs/federated-core-platform/billing/account-management-and-billing/index.html index 27aeb5b..057198f 100644 --- a/public/docs/federated-core-platform/billing/account-management-and-billing/index.html +++ b/public/docs/federated-core-platform/billing/account-management-and-billing/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ The billing engine is the accounting engine that tallies all the various product - + @@ -72,7 +72,7 @@ The billing engine is the accounting engine that tallies all the various product - + @@ -96,7 +96,7 @@ The billing engine is the accounting engine that tallies all the various product
  • - + article Overview @@ -116,7 +116,7 @@ The billing engine is the accounting engine that tallies all the various product -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ The billing engine is the accounting engine that tallies all the various product -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ The billing engine is the accounting engine that tallies all the various product -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ The billing engine is the accounting engine that tallies all the various product -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ The billing engine is the accounting engine that tallies all the various product -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ The billing engine is the accounting engine that tallies all the various product -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ The billing engine is the accounting engine that tallies all the various product -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ The billing engine is the accounting engine that tallies all the various product -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ The billing engine is the accounting engine that tallies all the various product -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -668,7 +668,7 @@ The billing engine is the accounting engine that tallies all the various product - + @@ -1327,7 +1327,7 @@ The billing engine is the accounting engine that tallies all the various product href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/billing/index.html b/public/docs/federated-core-platform/billing/index.html index 8dae15c..5ea03e4 100644 --- a/public/docs/federated-core-platform/billing/index.html +++ b/public/docs/federated-core-platform/billing/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -568,7 +568,7 @@
    - +
    article @@ -642,7 +642,7 @@ - + @@ -1301,7 +1301,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/billing/index.xml b/public/docs/federated-core-platform/billing/index.xml index 2a0dbd4..02e49ea 100644 --- a/public/docs/federated-core-platform/billing/index.xml +++ b/public/docs/federated-core-platform/billing/index.xml @@ -2,17 +2,17 @@ Billing on Federated Computer Enterprise - http://enterprise.federated.computer/docs/federated-core-platform/billing/ + https://enterprise.federated.computer/docs/federated-core-platform/billing/ Recent content in Billing on Federated Computer Enterprise Hugo en-us Mon, 25 Aug 2025 12:33:38 -0600 - + Account Management and Billing - http://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ + https://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ Mon, 25 Aug 2025 12:33:38 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ + https://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ <p>Federated Core Platform includes a service allowing your customers to navigate to an information website to learn about Federated Core services and offerings, sign up for a management account, then procure/modify/cancel Core subscriptions.</p> <p>The billing engine is the accounting engine that tallies all the various product offerings delivered to a customers. It is <em>not</em> a payment platform but works with your payment platform of choice including Stripe, Auth.net, various crypto services, or something built in-house.</p> diff --git a/public/docs/federated-core-platform/customization/adding-software-to-federated-core/index.html b/public/docs/federated-core-platform/customization/adding-software-to-federated-core/index.html index edf4d91..65df6e2 100644 --- a/public/docs/federated-core-platform/customization/adding-software-to-federated-core/index.html +++ b/public/docs/federated-core-platform/customization/adding-software-to-federated-core/index.html @@ -24,19 +24,19 @@ - - - - - - + + + + + + - + - + @@ -48,7 +48,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -94,7 +94,7 @@
  • - + article Overview @@ -114,7 +114,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -129,47 +129,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -189,17 +189,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -219,22 +219,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -254,7 +254,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -274,12 +274,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -304,22 +304,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -339,22 +339,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -374,12 +374,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -666,7 +666,7 @@ - + @@ -1325,7 +1325,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/customization/core-workflow-intelligence/index.html b/public/docs/federated-core-platform/customization/core-workflow-intelligence/index.html index beeda0c..20e4837 100644 --- a/public/docs/federated-core-platform/customization/core-workflow-intelligence/index.html +++ b/public/docs/federated-core-platform/customization/core-workflow-intelligence/index.html @@ -24,19 +24,19 @@ - - - - - - + + + + + + - + - + @@ -48,7 +48,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -94,7 +94,7 @@
  • - + article Overview @@ -114,7 +114,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -129,47 +129,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -189,17 +189,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -219,22 +219,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -254,7 +254,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -274,12 +274,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -304,22 +304,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -339,22 +339,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -374,12 +374,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -666,7 +666,7 @@ - + @@ -1325,7 +1325,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/customization/index.html b/public/docs/federated-core-platform/customization/index.html index 2dae43c..df5a3ee 100644 --- a/public/docs/federated-core-platform/customization/index.html +++ b/public/docs/federated-core-platform/customization/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -568,7 +568,7 @@
    - +
    article @@ -585,7 +585,7 @@
    - +
    article @@ -602,7 +602,7 @@
    - +
    article @@ -619,7 +619,7 @@
    - +
    article @@ -693,7 +693,7 @@ - + @@ -1352,7 +1352,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/customization/index.xml b/public/docs/federated-core-platform/customization/index.xml index 8f0dbc5..c9a83a1 100644 --- a/public/docs/federated-core-platform/customization/index.xml +++ b/public/docs/federated-core-platform/customization/index.xml @@ -2,38 +2,38 @@ Customization on Federated Computer Enterprise - http://enterprise.federated.computer/docs/federated-core-platform/customization/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/ Recent content in Customization on Federated Computer Enterprise Hugo en-us Thu, 28 Aug 2025 12:01:52 -0600 - + Core Workflow Intelligence - http://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ Mon, 25 Aug 2025 12:34:45 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ <p>Federated will be delivering in early 2026 an &ldquo;on premise&rdquo; solution for using artificial intelligence to create and deploy workflows between open source SaaS applications offered by Federated Core Platform. The design goal is to empower a customer to, for example, use Core Workflow Intelligence to take a grouping of customers from EspoCRM, connect them, based on conditions or parameters, to the mailing list software, and send AI-generated email communications to those customers based on actions taken in the Woocommerce store on Core.</p> Adding Software to Federated Core - http://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ Mon, 25 Aug 2025 12:35:31 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ <p>It is easy to package an open source SaaS application to work on Federated Core Platform. The project simply needs to create a package for the docker container, service files describing how the application connects to LDAP and Authelia for authentication, descriptions of premium licenses and how Federated Core Platform needs to recognize those for inclusion in premium services (example: OIDC), and then a template file for allowing for the correct choice of virtual machine resources and the Federated Monitor and Fix to ensure great experience for the customer. This package is dropped into the Provisioner service manager and is ready to be purchased/deployed by the billing system.</p> Why Open Source Projects Work With Federated - http://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ Mon, 25 Aug 2025 12:36:40 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ <p>More and more, open source projects work with Federated Computer because we simplify the go-to-market. An open-source project hoping to monetize by selling a cloud service is now in the business of creating great SaaS software but also making it multi-tenant, building an ecommerce experience, and building and running a (hopefully) large cloud service. With Federated Core Platform, open source SaaS companies can off-load much of that to Federated while still maintaining the ability to charge for premium features and services.</p> Whitelabel - http://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ Thu, 28 Aug 2025 12:01:52 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ <p>Federated Core Platform can be entirely white-labeled for all customer-facing services. Included services are: Dashboard, Panel, Computer, Core Desktop, Core Scanner, Core Workflow Intelligence, Account Management and Billing, and the &ldquo;home&rdquo; website for information and ordering.</p> diff --git a/public/docs/federated-core-platform/customization/whitelabel/index.html b/public/docs/federated-core-platform/customization/whitelabel/index.html index ee5f22d..aacd7ca 100644 --- a/public/docs/federated-core-platform/customization/whitelabel/index.html +++ b/public/docs/federated-core-platform/customization/whitelabel/index.html @@ -24,19 +24,19 @@ - - - - - - + + + + + + - + - + @@ -48,7 +48,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -94,7 +94,7 @@
  • - + article Overview @@ -114,7 +114,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -129,47 +129,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -189,17 +189,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -219,22 +219,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -254,7 +254,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -274,12 +274,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -304,22 +304,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -339,22 +339,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -374,12 +374,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -665,7 +665,7 @@ - + @@ -1324,7 +1324,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/index.html b/public/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/index.html index d0821aa..0b987af 100644 --- a/public/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/index.html +++ b/public/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/index.html @@ -24,19 +24,19 @@ - - - - - - + + + + + + - + - + @@ -48,7 +48,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -94,7 +94,7 @@
  • - + article Overview @@ -114,7 +114,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -129,47 +129,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -189,17 +189,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -219,22 +219,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -254,7 +254,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -274,12 +274,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -304,22 +304,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -339,22 +339,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -374,12 +374,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -667,7 +667,7 @@ - + @@ -1326,7 +1326,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/federated-core-platform/index.html b/public/docs/federated-core-platform/federated-core-platform/index.html index 495ff1b..2a7a317 100644 --- a/public/docs/federated-core-platform/federated-core-platform/index.html +++ b/public/docs/federated-core-platform/federated-core-platform/index.html @@ -24,12 +24,12 @@ - - - - - - + + + + + + - + - + + @@ -128,7 +128,7 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo - + @@ -152,7 +152,7 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo
  • - + article Overview @@ -172,7 +172,7 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -187,47 +187,47 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -247,17 +247,17 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -277,22 +277,22 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -312,7 +312,7 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -332,12 +332,12 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -362,22 +362,22 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -397,22 +397,22 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -432,12 +432,12 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -776,7 +776,7 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo - + @@ -1435,7 +1435,7 @@ Customer Service and Support: let Federated Computer provide 24/7 customer suppo href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/index.html b/public/docs/federated-core-platform/index.html index cdb4f61..55085af 100644 --- a/public/docs/federated-core-platform/index.html +++ b/public/docs/federated-core-platform/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -560,7 +560,7 @@
    - +
    article @@ -577,7 +577,7 @@
    - +
    article @@ -594,7 +594,7 @@
    - +
    article @@ -611,7 +611,7 @@
    - +
    article @@ -628,7 +628,7 @@
    - +
    article @@ -645,7 +645,7 @@
    - +
    article @@ -719,7 +719,7 @@ - + @@ -1378,7 +1378,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/index.xml b/public/docs/federated-core-platform/index.xml index a986605..7a4c8d4 100644 --- a/public/docs/federated-core-platform/index.xml +++ b/public/docs/federated-core-platform/index.xml @@ -2,17 +2,17 @@ Federated Core Platform on Federated Computer Enterprise - http://enterprise.federated.computer/docs/federated-core-platform/ + https://enterprise.federated.computer/docs/federated-core-platform/ Recent content in Federated Core Platform on Federated Computer Enterprise Hugo en-us Mon, 25 Aug 2025 12:32:20 -0600 - + Federated Core Platform - http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ + https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ Mon, 25 Aug 2025 12:32:20 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ + https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ <p>The Federated Core Platform is a suite of software providing everything needed to deliver open source SaaS applications: integrate them to work well together; manage, patch, update the software; and provide bespoke customer service for customers.</p> <p>The main component groups of Federated Core Platform are:</p> <h3 id="provisioning">Provisioning <a href="#provisioning" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>Provisioner:</strong> interacts with cloud platform (eg Hetzner, Cloud Stack, OpenStack, Triton) to spin up virtual machine and install software and network;</li> <li><strong>Core Server:</strong> Federated Linux distribution for X64 and ARM virtual machines;</li> <li><strong>Core Mini:</strong> The minimal amount of software that must always be installed for a Core;</li> <li><strong>Unified Storage:</strong> architecture for shared storage between Core docker images;</li> <li><strong>Unified Messaging:</strong> email infrastructure for all docker images including autodiscover services;</li> <li><strong>Authentication:</strong> OIDC provider;</li> <li><strong>Dashboard:</strong> user creation, domain and application preferences;</li> <li><strong>Computer:</strong> end-user application for managing software links and workflows.</li> </ol> <h3 id="maintenance">Maintenance <a href="#maintenance" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>CoreScanner:</strong> customer support application for monitoring and locked-down actions on customer infrastructure;</li> <li><strong>Update and Upgrade:</strong> system for discovering new software versions and pushing to customers;</li> <li><strong>Monitor and Fix:</strong> machine-learning to identify and solve operational issues based on customer support patterns.</li> </ol> <h3 id="customization">Customization <a href="#customization" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>Core Workflow Intelligence:</strong> AI-driven workflows between SaaS applications;</li> <li><strong>Adding Software to Federated Core:</strong> how to add SaaS applications to Federated Core Platform;</li> <li><strong>Why Open Source Projects Work With Federated:</strong> the benefits of Federated Core Platform for open source SaaS projects.</li> </ol> <h3 id="billing">Billing <a href="#billing" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>Account Management and Billing:</strong> tracking what is used and billed.</li> </ol> <h3 id="services">Services <a href="#services" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>Federated Management:</strong> let Federated Computer run your cloud for or alongside your team;</li> <li><strong>Customer Service and Support:</strong> let Federated Computer provide 24/7 customer support for or alongside your team.</li> </ol> <p>(Note: you can learn more about these components by selecting the documentation in the left navigation.)</p> diff --git a/public/docs/federated-core-platform/management/core-scanner/index.html b/public/docs/federated-core-platform/management/core-scanner/index.html index 83edac7..b1adc27 100644 --- a/public/docs/federated-core-platform/management/core-scanner/index.html +++ b/public/docs/federated-core-platform/management/core-scanner/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ Each installation of Core Scanner includes user and group priveleges so that the - + @@ -72,7 +72,7 @@ Each installation of Core Scanner includes user and group priveleges so that the - + @@ -96,7 +96,7 @@ Each installation of Core Scanner includes user and group priveleges so that the
  • - + article Overview @@ -116,7 +116,7 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ Each installation of Core Scanner includes user and group priveleges so that the -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -670,7 +670,7 @@ Each installation of Core Scanner includes user and group priveleges so that the - + @@ -1329,7 +1329,7 @@ Each installation of Core Scanner includes user and group priveleges so that the href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/management/index.html b/public/docs/federated-core-platform/management/index.html index f3bd69b..c2080e0 100644 --- a/public/docs/federated-core-platform/management/index.html +++ b/public/docs/federated-core-platform/management/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -568,7 +568,7 @@
    - +
    article @@ -585,7 +585,7 @@
    - +
    article @@ -602,7 +602,7 @@
    - +
    article @@ -676,7 +676,7 @@ - + @@ -1335,7 +1335,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/management/index.xml b/public/docs/federated-core-platform/management/index.xml index 5cb86a2..b987037 100644 --- a/public/docs/federated-core-platform/management/index.xml +++ b/public/docs/federated-core-platform/management/index.xml @@ -2,31 +2,31 @@ Management on Federated Computer Enterprise - http://enterprise.federated.computer/docs/federated-core-platform/management/ + https://enterprise.federated.computer/docs/federated-core-platform/management/ Recent content in Management on Federated Computer Enterprise Hugo en-us Mon, 25 Aug 2025 12:36:19 -0600 - + Core Scanner - http://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ + https://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ Mon, 25 Aug 2025 12:34:24 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ + https://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ <p>Core Scanner is a utility to examine and manage each Core on a given installation of Federated Core Platform. It allows a customer service person to examine the Core, look at all the configuration files, see any anomalies in the files, track usage of resources (CPU, RAM, storage, network), and perform tightly managed actions on the Core to take remedial steps as needed.</p> <p>Each installation of Core Scanner includes user and group priveleges so that the owner of the Federated Core Platform can look at all Cores running, but also partners can examine and manage the Cores of their customers. For example, a managed service provider may have a number of Cores for which they will want to be able to provide monitor and fix service3. Core Scanner allows them to see those Cores, only.</p> Update and Upgrade - http://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ + https://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ Mon, 25 Aug 2025 12:36:19 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ + https://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ <p>Each Federated Core Platform installation has a Gitea respository where the software (OS, utilities, platform, open source SaaS) for the entire system is tracked. The operator of each installation is able to package those updates into regular upgrades pushed out to some/all Cores on the system, push them out individually for testing to some Cores, or schedule updates for a given list of Cores.</p> <p>Since the nature of the Federated Core Platform is delivering open source SaaS to customers, there needs to be a testing protocol set up to ensure updates are in fact needed/wanted. Federated Computer does this centrally, so operators using Federated Core Platform can know the software will &ldquo;work&rdquo;. However, there may be additional concerns with respect to security, other customizations that need to be tested, etc.</p> Monitor and Fix - http://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ + https://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ Mon, 25 Aug 2025 12:35:43 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ + https://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ <p>Every Core running on an installation of Federated Core Platform, every application running on every Core, and every service not an application running on every Core, is monitored in real time to ensure it runs, has the system resources needed, and provides customers with the best experience. If there are anomalies detected, alerts are created and can be sent to the local Matrix server, and Federated Monitor and Fix system attempts to solve the problem using patterns and the service definitions in place.</p> diff --git a/public/docs/federated-core-platform/management/monitor-and-fix/index.html b/public/docs/federated-core-platform/management/monitor-and-fix/index.html index 4e18c44..3218de5 100644 --- a/public/docs/federated-core-platform/management/monitor-and-fix/index.html +++ b/public/docs/federated-core-platform/management/monitor-and-fix/index.html @@ -24,19 +24,19 @@ - - - - - - + + + + + + - + - + @@ -48,7 +48,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -94,7 +94,7 @@
  • - + article Overview @@ -114,7 +114,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -129,47 +129,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -189,17 +189,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -219,22 +219,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -254,7 +254,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -274,12 +274,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -304,22 +304,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -339,22 +339,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -374,12 +374,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -667,7 +667,7 @@ - + @@ -1326,7 +1326,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/management/update-and-upgrade/index.html b/public/docs/federated-core-platform/management/update-and-upgrade/index.html index 867de9b..9d4b79d 100644 --- a/public/docs/federated-core-platform/management/update-and-upgrade/index.html +++ b/public/docs/federated-core-platform/management/update-and-upgrade/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t - + @@ -72,7 +72,7 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t - + @@ -96,7 +96,7 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t
  • - + article Overview @@ -116,7 +116,7 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -669,7 +669,7 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t - + @@ -1328,7 +1328,7 @@ Since the nature of the Federated Core Platform is delivering open source SaaS t href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/authentication/index.html b/public/docs/federated-core-platform/provisioning/authentication/index.html index 1aba316..8990803 100644 --- a/public/docs/federated-core-platform/provisioning/authentication/index.html +++ b/public/docs/federated-core-platform/provisioning/authentication/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every - + @@ -72,7 +72,7 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every - + @@ -96,7 +96,7 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every
  • - + article Overview @@ -116,7 +116,7 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -699,7 +699,7 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every - + @@ -1358,7 +1358,7 @@ LDAP linkThe foundation of Federated Core Platform authentication is LDAP. Every href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/computer/index.html b/public/docs/federated-core-platform/provisioning/computer/index.html index 8f4ae6f..b0140bb 100644 --- a/public/docs/federated-core-platform/provisioning/computer/index.html +++ b/public/docs/federated-core-platform/provisioning/computer/index.html @@ -24,19 +24,19 @@ - - - - - - + + + + + + - + - + @@ -48,7 +48,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -94,7 +94,7 @@
  • - + article Overview @@ -114,7 +114,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -129,47 +129,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -189,17 +189,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -219,22 +219,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -254,7 +254,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -274,12 +274,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -304,22 +304,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -339,22 +339,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -374,12 +374,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -665,7 +665,7 @@ - + @@ -1324,7 +1324,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/core-desktop/index.html b/public/docs/federated-core-platform/provisioning/core-desktop/index.html index 1b682ff..ae5f95d 100644 --- a/public/docs/federated-core-platform/provisioning/core-desktop/index.html +++ b/public/docs/federated-core-platform/provisioning/core-desktop/index.html @@ -24,19 +24,19 @@ - - - - - - + + + + + + - + - + @@ -48,7 +48,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -94,7 +94,7 @@
  • - + article Overview @@ -114,7 +114,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -129,47 +129,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -189,17 +189,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -219,22 +219,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -254,7 +254,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -274,12 +274,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -304,22 +304,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -339,22 +339,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -374,12 +374,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -666,7 +666,7 @@ - + @@ -1325,7 +1325,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/core-mini/index.html b/public/docs/federated-core-platform/provisioning/core-mini/index.html index 2178e73..a4d3d69 100644 --- a/public/docs/federated-core-platform/provisioning/core-mini/index.html +++ b/public/docs/federated-core-platform/provisioning/core-mini/index.html @@ -24,12 +24,12 @@ - - - - - - + + + + + + - + - + + @@ -82,7 +82,7 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely - + @@ -106,7 +106,7 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely
  • - + article Overview @@ -126,7 +126,7 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -141,47 +141,47 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -201,17 +201,17 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -231,22 +231,22 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -266,7 +266,7 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -286,12 +286,12 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -316,22 +316,22 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -351,22 +351,22 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -386,12 +386,12 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -723,7 +723,7 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely - + @@ -1382,7 +1382,7 @@ MariaDB linkDatabase engine for SaaS services requiring MariaDB. The will likely href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/core-server/index.html b/public/docs/federated-core-platform/provisioning/core-server/index.html index 4313c69..beeebc9 100644 --- a/public/docs/federated-core-platform/provisioning/core-server/index.html +++ b/public/docs/federated-core-platform/provisioning/core-server/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp - + @@ -72,7 +72,7 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp - + @@ -96,7 +96,7 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp
  • - + article Overview @@ -116,7 +116,7 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -668,7 +668,7 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp - + @@ -1327,7 +1327,7 @@ Core Server is based on OpenMandriva a Linux distribution lead by Federated Comp href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/dashboard/index.html b/public/docs/federated-core-platform/provisioning/dashboard/index.html index 33faeef..1e5b206 100644 --- a/public/docs/federated-core-platform/provisioning/dashboard/index.html +++ b/public/docs/federated-core-platform/provisioning/dashboard/index.html @@ -24,12 +24,12 @@ - - - - - - + + + + + + - + - + + @@ -94,7 +94,7 @@ - + @@ -118,7 +118,7 @@
  • - + article Overview @@ -138,7 +138,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -153,47 +153,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -213,17 +213,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -243,22 +243,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -278,7 +278,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -298,12 +298,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -328,22 +328,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -363,22 +363,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -398,12 +398,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -701,7 +701,7 @@ - + @@ -1360,7 +1360,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/index.html b/public/docs/federated-core-platform/provisioning/index.html index 8326af5..c9df1e7 100644 --- a/public/docs/federated-core-platform/provisioning/index.html +++ b/public/docs/federated-core-platform/provisioning/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -568,7 +568,7 @@
    - +
    article @@ -585,7 +585,7 @@
    - +
    article @@ -602,7 +602,7 @@
    - +
    article @@ -619,7 +619,7 @@
    - +
    article @@ -636,7 +636,7 @@
    - +
    article @@ -653,7 +653,7 @@
    - +
    article @@ -670,7 +670,7 @@
    - +
    article @@ -687,7 +687,7 @@
    - +
    article @@ -704,7 +704,7 @@
    - +
    article @@ -778,7 +778,7 @@ - + @@ -1437,7 +1437,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/index.xml b/public/docs/federated-core-platform/provisioning/index.xml index 4114752..476b8cd 100644 --- a/public/docs/federated-core-platform/provisioning/index.xml +++ b/public/docs/federated-core-platform/provisioning/index.xml @@ -2,73 +2,73 @@ Provisioning on Federated Computer Enterprise - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/ Recent content in Provisioning on Federated Computer Enterprise Hugo en-us Tue, 26 Aug 2025 14:43:09 -0600 - + Provisioner - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ Mon, 25 Aug 2025 12:35:51 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ - <p>The &ldquo;Provisioner&rdquo; is responsible for setting up, updating/upgrading, and tearing down Cores. It does this in an entirely stateless way communicating with either the aacount management and billing system or the management system. Naturally, there are command-line utilities and an API available to accomplish all functions.</p> <h3 id="order">Order <a href="#order" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>When and order comes through the account management and billing system, a manifest is created asking for a Core to be create with the required SaaS titles. This <em>manifest</em> is sent to the Provisioner which then requests a virtual machine (or machines, if the manifest includes load balancing or other extended Core services), then begins to build the Core software from the manifest. You can read more about the minimal build at <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/'><p>PROVISIONING</p> + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ + <p>The &ldquo;Provisioner&rdquo; is responsible for setting up, updating/upgrading, and tearing down Cores. It does this in an entirely stateless way communicating with either the aacount management and billing system or the management system. Naturally, there are command-line utilities and an API available to accomplish all functions.</p> <h3 id="order">Order <a href="#order" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>When and order comes through the account management and billing system, a manifest is created asking for a Core to be create with the required SaaS titles. This <em>manifest</em> is sent to the Provisioner which then requests a virtual machine (or machines, if the manifest includes load balancing or other extended Core services), then begins to build the Core software from the manifest. You can read more about the minimal build at <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/'><p>PROVISIONING</p> Core Server - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ Mon, 25 Aug 2025 12:34:34 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ <p>Federated maintains its own Linux distribution for the specific purpose of control of the types and versions of software used in virtual machine. This descrease the surface area for attacks, increased maintainability for the Cores built on top, and assures our systems work on X64 and Arm (example: Ampere) systems as well as fully supporting IPv4 and IPv6 for cloud deployment.</p> <p>Core Server is based on <a href="https://www.openmandriva.org" rel="external" target="_blank">OpenMandriva<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z"/></svg></a> a Linux distribution lead by Federated Computer&rsquo;s chief systems engineer. OpenMandriva is base on Fedora, in part.</p> Core Mini - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ Mon, 25 Aug 2025 12:34:18 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ <p>Core Mini is the minimal install of software on a Core before adding additional SaaS and any scaling services (e.g. load balancing). These are the fundamental services used by ever other SaaS application.</p> <h3 id="traefik">Traefik <a href="#traefik" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Firewall and network management.</p> <h3 id="powerdns">PowerDNS <a href="#powerdns" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Domain name service.</p> <h3 id="authelia">Authelia <a href="#authelia" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>OIDC authentication provider.</p> <h3 id="mail-services">Mail Services <a href="#mail-services" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>SMTP and IMAP services.</p> <h3 id="postgresql">Postgresql <a href="#postgresql" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Database engine for SaaS services requiring Postgresql.</p> <h3 id="mariadb">MariaDB <a href="#mariadb" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Database engine for SaaS services requiring MariaDB. The will likely be obsolete in the coming months.</p> Unified Storage - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ Mon, 25 Aug 2025 12:36:10 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ <p>Every SaaS software deployed to a Federated Core using a single expandable storage service. This is a BTRFS file system on the Core but can be deployed as block storage (if the cloud provides such a service). It can be expanded and contracted based on customer demand/usage</p> <p>Every SaaS software deployed to a Federated Core using a single expandable storage service. This is a BTRFS file system on the Core but can be deployed as block storage (if the cloud provides such a service). It can be expanded and contracted based on customer demand/usage.</p> Unified Messaging - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ Mon, 25 Aug 2025 12:36:03 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ <p>Federated Core includes three systems for messaging.</p> <h3 id="email">Email <a href="#email" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>There is a full-featured IMAP/SMTP service available for any needed notifications to users.</p> <h3 id="container-to-container">Container-to-Container <a href="#container-to-container" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>There is a service for container-to-container communication allowing for complete workflow creation between SaaS applications when the native APIs are not enough.</p> <h3 id="optional-matrix">Optional: Matrix <a href="#optional-matrix" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>If the Matrix service is loaded, you can use it like a message-bus for application notification to users.</p> Authentication - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ Mon, 25 Aug 2025 12:33:49 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ <p>One of the obstacles to deploying open source SaaS is user management. When each application has its own user management, it becomes complicated to build a workable system for the business or team, to build reliable workflows across applications, and to ensure security for the business or team for data. Federated Core Platform provides two layers of authentication to deal with these problems.</p> <h3 id="ldap">LDAP <a href="#ldap" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>The foundation of Federated Core Platform authentication is LDAP. Every application connects to LDAP. If it doesn&rsquo;t use LDAP, it doesn&rsquo;t work on the platform. There are some applications for which the <em>only</em> account in LDAP is the administrator and the other users are created in the application itself. And example is Vaultwarden (password manager) because of the very sensitive nature of the information in Vaultwarden <em>outside</em> of access to Core services. You create the user in Vaultwarden as the administrative user but then, the account is connected to Core LDAP (if desired).</p> Dashboard - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ Tue, 26 Aug 2025 14:43:09 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ - <p>Federated Dashboard is a simple launcher for users. It shows the applications available, a link to helpful documentation, and a note about user management. There are significant improvements planned for Dashboard in the coming months as it transitions to Federated <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/'><p>PROVISIONING</p><strong>Computer</strong><br></a>" data-bs-toggle="tooltip" href="http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/">Computer</a>.</p> <p> </p> + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ + <p>Federated Dashboard is a simple launcher for users. It shows the applications available, a link to helpful documentation, and a note about user management. There are significant improvements planned for Dashboard in the coming months as it transitions to Federated <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/'><p>PROVISIONING</p><strong>Computer</strong><br></a>" data-bs-toggle="tooltip" href="https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/">Computer</a>.</p> <p> </p> Computer - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ Mon, 25 Aug 2025 12:33:56 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ <p>Federated &ldquo;Computer&rdquo; is a new application coming in Fall, 2025 delivering a fully customizable front-end experience for Core users. It is a bookmarking application extended to support reminders, folders for watching applications, documents, events, the ability to pick up AI workloads and customizations, and more. Federated &ldquo;Computer&rdquo; is intended to be fully open-sourced, will work with other SaaS applications that support URLs, and will work natively on desktops, tablets, and mobile devices.</p> Core Desktop - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ Mon, 25 Aug 2025 12:34:05 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ <p>Federated Core supports PXE-booting two different Linux distributions (OpenMandriva and Core Desktop based on Arch) when a customer wants to complete solution for their team or office. These desktops are tied into Federated Core Authentication, have all the desktop applications (email, calendar, contacts, bookmarks, file synchronization, applications that take advantage of Nextcloud and other desktop applications) pre-configured and redy to use for the particular user as they log in to Core Desktop. This is a great solution for offices or use cases where it is important that each desktop be closely managed for the &ldquo;correct&rdquo; software and services so that it &ldquo;just works&rdquo;.</p> diff --git a/public/docs/federated-core-platform/provisioning/provisioner/index.html b/public/docs/federated-core-platform/provisioning/provisioner/index.html index 91b4053..9a6fe27 100644 --- a/public/docs/federated-core-platform/provisioning/provisioner/index.html +++ b/public/docs/federated-core-platform/provisioning/provisioner/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ Order linkWhen and order comes through the account management and billing system - + @@ -72,7 +72,7 @@ Order linkWhen and order comes through the account management and billing system - + @@ -96,7 +96,7 @@ Order linkWhen and order comes through the account management and billing system
  • - + article Overview @@ -116,7 +116,7 @@ Order linkWhen and order comes through the account management and billing system -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ Order linkWhen and order comes through the account management and billing system -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ Order linkWhen and order comes through the account management and billing system -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ Order linkWhen and order comes through the account management and billing system -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ Order linkWhen and order comes through the account management and billing system -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ Order linkWhen and order comes through the account management and billing system -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ Order linkWhen and order comes through the account management and billing system -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ Order linkWhen and order comes through the account management and billing system -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ Order linkWhen and order comes through the account management and billing system -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -699,7 +699,7 @@ Order linkWhen and order comes through the account management and billing system - + @@ -1358,7 +1358,7 @@ Order linkWhen and order comes through the account management and billing system href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/unified-messaging/index.html b/public/docs/federated-core-platform/provisioning/unified-messaging/index.html index 3e68f61..aa0411f 100644 --- a/public/docs/federated-core-platform/provisioning/unified-messaging/index.html +++ b/public/docs/federated-core-platform/provisioning/unified-messaging/index.html @@ -24,22 +24,22 @@ - - - - - - + + + + + + - + - + + @@ -76,7 +76,7 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess - + @@ -100,7 +100,7 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess
  • - + article Overview @@ -120,7 +120,7 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -135,47 +135,47 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -195,17 +195,17 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -225,22 +225,22 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -260,7 +260,7 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -280,12 +280,12 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -310,22 +310,22 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -345,22 +345,22 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -380,12 +380,12 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -702,7 +702,7 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess - + @@ -1361,7 +1361,7 @@ Optional: Matrix linkIf the Matrix service is loaded, you can use it like a mess href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/provisioning/unified-storage/index.html b/public/docs/federated-core-platform/provisioning/unified-storage/index.html index f15bc62..437a868 100644 --- a/public/docs/federated-core-platform/provisioning/unified-storage/index.html +++ b/public/docs/federated-core-platform/provisioning/unified-storage/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ Every SaaS software deployed to a Federated Core using a single expandable stora - + @@ -72,7 +72,7 @@ Every SaaS software deployed to a Federated Core using a single expandable stora - + @@ -96,7 +96,7 @@ Every SaaS software deployed to a Federated Core using a single expandable stora
  • - + article Overview @@ -116,7 +116,7 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ Every SaaS software deployed to a Federated Core using a single expandable stora -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -668,7 +668,7 @@ Every SaaS software deployed to a Federated Core using a single expandable stora - + @@ -1327,7 +1327,7 @@ Every SaaS software deployed to a Federated Core using a single expandable stora href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/services/customer-service-and-support/index.html b/public/docs/federated-core-platform/services/customer-service-and-support/index.html index 80e91c2..59ac735 100644 --- a/public/docs/federated-core-platform/services/customer-service-and-support/index.html +++ b/public/docs/federated-core-platform/services/customer-service-and-support/index.html @@ -24,21 +24,21 @@ - - - - - - + + + + + + - + - + + @@ -74,7 +74,7 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F - + @@ -98,7 +98,7 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F
  • - + article Overview @@ -118,7 +118,7 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -133,47 +133,47 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -193,17 +193,17 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -223,22 +223,22 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -258,7 +258,7 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -278,12 +278,12 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -308,22 +308,22 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -343,22 +343,22 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -378,12 +378,12 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -701,7 +701,7 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F - + @@ -1360,7 +1360,7 @@ End-user Businesses and Team linkFederated Computer can use Freescout (a great F href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/services/federated-management/index.html b/public/docs/federated-core-platform/services/federated-management/index.html index d1b9871..60db705 100644 --- a/public/docs/federated-core-platform/services/federated-management/index.html +++ b/public/docs/federated-core-platform/services/federated-management/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ Complete Management linkWe can run your installation of Federated Core Platform - + @@ -72,7 +72,7 @@ Complete Management linkWe can run your installation of Federated Core Platform - + @@ -96,7 +96,7 @@ Complete Management linkWe can run your installation of Federated Core Platform
  • - + article Overview @@ -116,7 +116,7 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ Complete Management linkWe can run your installation of Federated Core Platform -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -695,7 +695,7 @@ Complete Management linkWe can run your installation of Federated Core Platform - + @@ -1354,7 +1354,7 @@ Complete Management linkWe can run your installation of Federated Core Platform href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/services/index.html b/public/docs/federated-core-platform/services/index.html index 8619b47..6efe25d 100644 --- a/public/docs/federated-core-platform/services/index.html +++ b/public/docs/federated-core-platform/services/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -568,7 +568,7 @@
    - +
    article @@ -585,7 +585,7 @@
    - +
    article @@ -659,7 +659,7 @@ - + @@ -1318,7 +1318,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/federated-core-platform/services/index.xml b/public/docs/federated-core-platform/services/index.xml index 2e7d8fb..7df9cc6 100644 --- a/public/docs/federated-core-platform/services/index.xml +++ b/public/docs/federated-core-platform/services/index.xml @@ -2,24 +2,24 @@ Services on Federated Computer Enterprise - http://enterprise.federated.computer/docs/federated-core-platform/services/ + https://enterprise.federated.computer/docs/federated-core-platform/services/ Recent content in Services on Federated Computer Enterprise Hugo en-us Tue, 26 Aug 2025 14:47:00 -0600 - + Federated Management - http://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ + https://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ Mon, 25 Aug 2025 12:35:12 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ + https://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ <p>Federated Computer can work to get your to market in the fastest and most convenient way for your organization.</p> <h3 id="complete-management">Complete Management <a href="#complete-management" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>We can run your installation of Federated Core Platform for your business. This includes 24/7/365 NOC operations on-top of your cloud installation or included with a Federated Computer cloud installation. In these scenarios, we ensure all software for Federated Core Platform is up and running, we work with your team to design specific product offerings and bundles, and run the updates/upgrades, we fix any Core faults in the system. The entire platform &ldquo;just runs&rdquo; and your team focuses on sales and marketing (working in conjunction with the Federated team for understanding use cases, content, blog posts, successful go-to-market).</p> Customer Service and Support - http://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ + https://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ Tue, 26 Aug 2025 14:47:00 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ + https://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ <p>Federated Computer can provide end-to-end customer support for your installation of Federated Core Platform. Whether your customers are end-user businesses and team or partners such as managed-service-providers.</p> <p>In addition to customer support (offered during the timeframes you want), we offer a comprehensive documentation service and community for helping customers with self-service.</p> <h3 id="end-user-businesses-and-team">End-user Businesses and Team <a href="#end-user-businesses-and-team" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Federated Computer can use Freescout (a great Federated Core offering) to provide full customer support via email, SMS, or telephone to your customers. We have lots of experience providing great experiences to customers including 30-day on-boarding sequences, 3 hour response and 12 hour resolution, webinars, and other ways to ensure customer success and low churn for your go-to-market efforts.</p> diff --git a/public/docs/index.html b/public/docs/index.html index d3ae9d2..0d33176 100644 --- a/public/docs/index.html +++ b/public/docs/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -552,7 +552,7 @@
    - +
    article @@ -569,7 +569,7 @@
    - +
    article @@ -586,7 +586,7 @@
    - +
    article @@ -603,7 +603,7 @@
    - +
    article @@ -620,7 +620,7 @@
    - +
    article @@ -694,7 +694,7 @@ - + @@ -1353,7 +1353,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/index.xml b/public/docs/index.xml index 422a813..02cca44 100644 --- a/public/docs/index.xml +++ b/public/docs/index.xml @@ -2,18 +2,18 @@ Docs on Federated Computer Enterprise - http://enterprise.federated.computer/docs/ + https://enterprise.federated.computer/docs/ Recent content in Docs on Federated Computer Enterprise Hugo en-us Mon, 25 Aug 2025 12:25:51 -0600 - + Overview - http://enterprise.federated.computer/docs/overview/ + https://enterprise.federated.computer/docs/overview/ Mon, 25 Aug 2025 12:25:51 -0600 - http://enterprise.federated.computer/docs/overview/ - <p>This portal helps you can learn about Federated Computer enterprise offerings.</p> <h2 id="federated-core-platform">Federated Core Platform <a href="#federated-core-platform" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h2><p><a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/'><p>FEDERATED CORE PLATFORM</p><strong>Federated Core Platform</strong><br></a>" data-bs-toggle="tooltip" href="http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/">Federated Core Platform</a> delivers offerings and services based on the best open source SaaS software useful to businesses, teams, individuals looking for breaktrhough price, privacy, flexiblity and value. The <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/'><p>FEDERATED CORE PLATFORM</p><strong>Federated Core Platform</strong><br></a>" data-bs-toggle="tooltip" href="http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/">Federated Core Platfrom</a> enables operators and networks, managed service providers, &ldquo;pro&rdquo; customer partners, and on-line affiliates to deliver great software and services to their customers.</p> + https://enterprise.federated.computer/docs/overview/ + <p>This portal helps you can learn about Federated Computer enterprise offerings.</p> <h2 id="federated-core-platform">Federated Core Platform <a href="#federated-core-platform" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h2><p><a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/'><p>FEDERATED CORE PLATFORM</p><strong>Federated Core Platform</strong><br></a>" data-bs-toggle="tooltip" href="https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/">Federated Core Platform</a> delivers offerings and services based on the best open source SaaS software useful to businesses, teams, individuals looking for breaktrhough price, privacy, flexiblity and value. The <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/'><p>FEDERATED CORE PLATFORM</p><strong>Federated Core Platform</strong><br></a>" data-bs-toggle="tooltip" href="https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/">Federated Core Platfrom</a> enables operators and networks, managed service providers, &ldquo;pro&rdquo; customer partners, and on-line affiliates to deliver great software and services to their customers.</p> diff --git a/public/docs/overview/index.html b/public/docs/overview/index.html index 2738ce7..f897b1b 100644 --- a/public/docs/overview/index.html +++ b/public/docs/overview/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi - + @@ -72,7 +72,7 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi - + @@ -96,7 +96,7 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi
  • - + article Overview @@ -116,7 +116,7 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -691,7 +691,7 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi - + @@ -1350,7 +1350,7 @@ Federated Core Platform linkFederated Core Platform delivers offerings and servi href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/partners/index.html b/public/docs/partners/index.html index bc071f0..2dc5ca5 100644 --- a/public/docs/partners/index.html +++ b/public/docs/partners/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -560,7 +560,7 @@
    - +
    article @@ -577,7 +577,7 @@
    - +
    article @@ -594,7 +594,7 @@
    - +
    article @@ -611,7 +611,7 @@
    - +
    article @@ -685,7 +685,7 @@ - + @@ -1344,7 +1344,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/partners/index.xml b/public/docs/partners/index.xml index 32782a0..3bc8611 100644 --- a/public/docs/partners/index.xml +++ b/public/docs/partners/index.xml @@ -2,38 +2,38 @@ Partners on Federated Computer Enterprise - http://enterprise.federated.computer/docs/partners/ + https://enterprise.federated.computer/docs/partners/ Recent content in Partners on Federated Computer Enterprise Hugo en-us Tue, 26 Aug 2025 11:12:45 -0600 - + Operators, Networks, Platforms - http://enterprise.federated.computer/docs/partners/operators-networks-platforms/ + https://enterprise.federated.computer/docs/partners/operators-networks-platforms/ Mon, 25 Aug 2025 12:38:19 -0600 - http://enterprise.federated.computer/docs/partners/operators-networks-platforms/ + https://enterprise.federated.computer/docs/partners/operators-networks-platforms/ <p>Federated Core Platform is the best way for hosting companies, fiber networks, workshare companies, on-line communities, large enterprises to take control of the offering of SaaS software within their operational boundaries. Now, more than ever, open source SaaS software meets or exceeds the capabilities of proprietary SaaS, but the complexities of marshalling and delivering these solutions to customers are immense. Federated Core Platform solves the problem with technical sophistication, at a price designed to provide you with maximum margin, and with programs allowing you to get up and running in a matter of weeks.</p> Managed Service Provider - http://enterprise.federated.computer/docs/partners/managed-service-providers/ + https://enterprise.federated.computer/docs/partners/managed-service-providers/ Mon, 25 Aug 2025 12:37:54 -0600 - http://enterprise.federated.computer/docs/partners/managed-service-providers/ + https://enterprise.federated.computer/docs/partners/managed-service-providers/ <p>Federated Computer has all the tools needed to allow a managed service provider to replace proprietary SaaS products such as Google Workplace, Microsoft Office 365, Slack, Salesforce, and many, many others with easy-to-use, high-value, priavate, flexible open source SaaS alternatives.</p> <p>This leaves MORE money on the table for the managed service provider to provide high-value services.</p> <h3 id="solutions">Solutions <a href="#solutions" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Federated solutions include Core Scanner for active monitoring and fix of customer Cores. Our AI tools will allow you to easily build workflows for customers on top of existing open source SaaS. And our authentication services and facilities for adding software to Federated Core Platform allow MSPs to extend offerings while maintaining the security and ease-of-use of unified storage and messaging and authentication. With Federated Core Platform, you can build the comprehensive solution for a customer that includes all of their software, devices, and services in a single pane-of-glass.</p> Pro Customers - http://enterprise.federated.computer/docs/partners/pro-customers/ + https://enterprise.federated.computer/docs/partners/pro-customers/ Tue, 26 Aug 2025 11:12:45 -0600 - http://enterprise.federated.computer/docs/partners/pro-customers/ + https://enterprise.federated.computer/docs/partners/pro-customers/ <p>Federated Core Platform includes a number of bundles (collections of open source SaaS software and services) specifically designed for specific enterprise customers and market types. Examples of these are <a href="content/docs/software-catalog/federated-commerce.md">Commerce</a> and <a href="content/docs/software-catalog/federated-omnimedia.md">Omnimedia</a>.</p> <p>It is possible to address &ldquo;pro&rdquo; customers in a couple ways. The first would be to design, build, and deliver a total solution using the building blocks available in Federated Core Platform and its software catalog.</p> <p>However, there will be many opportunities to build out additional collections/bundles for customers requiring different sets of software and services delivered bespoke for their particular needs. These don&rsquo;t have to come from Federated Computer but can be designed and delivered by our partners and sold through all available channels including other operators, networks, and platforms. Open source allows us maximum flexibility to deliver great solutions to customers without re-inventing every wheel.</p> On Line Affiliates - http://enterprise.federated.computer/docs/partners/on-line-affiliates/ + https://enterprise.federated.computer/docs/partners/on-line-affiliates/ Mon, 25 Aug 2025 12:38:06 -0600 - http://enterprise.federated.computer/docs/partners/on-line-affiliates/ + https://enterprise.federated.computer/docs/partners/on-line-affiliates/ <p>Outlets with significant communities can use Federated&rsquo;s affilaite programs to earn up to 30% (the number is really dependent on your own installation&rsquo;s exigencies!) on sales. Affiliates are a great way to build reputation and trust with customers while compensating those affiliate channels for their endorsements.</p> <p>We have found the best affiliates are those that use Federated Core products. When an affiliate is emeshed in open source and especially the open source SaaS offered through Federated Core Platform, the crediblity of the recommendation to the affiliate&rsquo;s community is sterling.</p> diff --git a/public/docs/partners/managed-service-providers/index.html b/public/docs/partners/managed-service-providers/index.html index 26f0eb0..b56e8bf 100644 --- a/public/docs/partners/managed-service-providers/index.html +++ b/public/docs/partners/managed-service-providers/index.html @@ -24,21 +24,21 @@ - - - - - - + + + + + + - + - + + @@ -74,7 +74,7 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and - + @@ -98,7 +98,7 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and
  • - + article Overview @@ -118,7 +118,7 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -133,47 +133,47 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -193,17 +193,17 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -223,22 +223,22 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -258,7 +258,7 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -278,12 +278,12 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -308,22 +308,22 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -343,22 +343,22 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -378,12 +378,12 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -687,7 +687,7 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and - + @@ -1346,7 +1346,7 @@ Solutions linkFederated solutions include Core Scanner for active monitoring and href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/partners/on-line-affiliates/index.html b/public/docs/partners/on-line-affiliates/index.html index 9708323..5ba988c 100644 --- a/public/docs/partners/on-line-affiliates/index.html +++ b/public/docs/partners/on-line-affiliates/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ We have found the best affiliates are those that use Federated Core products. Wh - + @@ -72,7 +72,7 @@ We have found the best affiliates are those that use Federated Core products. Wh - + @@ -96,7 +96,7 @@ We have found the best affiliates are those that use Federated Core products. Wh
  • - + article Overview @@ -116,7 +116,7 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ We have found the best affiliates are those that use Federated Core products. Wh -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -660,7 +660,7 @@ We have found the best affiliates are those that use Federated Core products. Wh - + @@ -1319,7 +1319,7 @@ We have found the best affiliates are those that use Federated Core products. Wh href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/partners/operators-networks-platforms/index.html b/public/docs/partners/operators-networks-platforms/index.html index 8e92abd..65d371a 100644 --- a/public/docs/partners/operators-networks-platforms/index.html +++ b/public/docs/partners/operators-networks-platforms/index.html @@ -24,19 +24,19 @@ - - - - - - + + + + + + - + - + @@ -48,7 +48,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -94,7 +94,7 @@
  • - + article Overview @@ -114,7 +114,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -129,47 +129,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -189,17 +189,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -219,22 +219,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -254,7 +254,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -274,12 +274,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -304,22 +304,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -339,22 +339,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -374,12 +374,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -659,7 +659,7 @@ - + @@ -1318,7 +1318,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/partners/pro-customers/index.html b/public/docs/partners/pro-customers/index.html index c116e0c..0887986 100644 --- a/public/docs/partners/pro-customers/index.html +++ b/public/docs/partners/pro-customers/index.html @@ -24,21 +24,21 @@ - - - - - - + + + + + + - + - + + @@ -74,7 +74,7 @@ However, there will be many opportunities to build out additional collections/bu - + @@ -98,7 +98,7 @@ However, there will be many opportunities to build out additional collections/bu
  • - + article Overview @@ -118,7 +118,7 @@ However, there will be many opportunities to build out additional collections/bu -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -133,47 +133,47 @@ However, there will be many opportunities to build out additional collections/bu -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -193,17 +193,17 @@ However, there will be many opportunities to build out additional collections/bu -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -223,22 +223,22 @@ However, there will be many opportunities to build out additional collections/bu -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -258,7 +258,7 @@ However, there will be many opportunities to build out additional collections/bu -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -278,12 +278,12 @@ However, there will be many opportunities to build out additional collections/bu -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -308,22 +308,22 @@ However, there will be many opportunities to build out additional collections/bu -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -343,22 +343,22 @@ However, there will be many opportunities to build out additional collections/bu -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -378,12 +378,12 @@ However, there will be many opportunities to build out additional collections/bu -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -663,7 +663,7 @@ However, there will be many opportunities to build out additional collections/bu - + @@ -1322,7 +1322,7 @@ However, there will be many opportunities to build out additional collections/bu href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/scss/style.min.9e935c13517a7a741ae7c65525d3831f86c449b1cdefe30cef8faab8c1d1915e82b463fec53b50fde52c55a4b05916eb.css b/public/docs/scss/style.min.9e935c13517a7a741ae7c65525d3831f86c449b1cdefe30cef8faab8c1d1915e82b463fec53b50fde52c55a4b05916eb.css new file mode 100644 index 0000000..346d206 --- /dev/null +++ b/public/docs/scss/style.min.9e935c13517a7a741ae7c65525d3831f86c449b1cdefe30cef8faab8c1d1915e82b463fec53b50fde52c55a4b05916eb.css @@ -0,0 +1,3 @@ +@charset "UTF-8";@font-face{font-family:material symbols outlined;font-weight:400 700;font-display:block;font-style:normal;src:local("Material Symbols Outlined"),local("Material Icons"),local("MaterialIcons-Outlined"),url(../fonts/material-symbols-outlined.woff2)format("woff2")}:root{--primary:var(--blue);--primary-50:var(--blue-50);--primary-100:var(--blue-100);--primary-200:var(--blue-200);--primary-300:var(--blue-300);--primary-400:var(--blue-400);--primary-800:var(--blue-800);--primary-hsl:var(--blue-500-hsl);--primary-50-hsl:var(--blue-50-hsl);--primary-100-hsl:var(--blue-100-hsl);--primary-200-hsl:var(--blue-200-hsl);--primary-300-hsl:var(--blue-300-hsl);--primary-800-hsl:var(--blue-800-hsl)}/*!* Bootstrap v5.3.3 (https://getbootstrap.com/) +* Copyright 2011-2024 The Bootstrap Authors +* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)*/:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--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:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--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:Inter;--bs-font-monospace:Fira Code;--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:#212529;--bs-body-color-rgb:33, 37, 41;--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(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--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(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,*::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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width)solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;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}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:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.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:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}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}caption{padding-top:.5rem;padding-bottom:.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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@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}::-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:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.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}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.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:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--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:1140px}}@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:1.5rem;--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}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.33333333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.66666667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333333%}.col-2{flex:none;width:16.66666667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.33333333%}.col-5{flex:none;width:41.66666667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.33333333%}.col-8{flex:none;width:66.66666667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.33333333%}.col-11{flex:none;width:91.66666667%}.col-12{flex:none;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--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}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.33333333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.66666667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333333%}.col-sm-2{flex:none;width:16.66666667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.33333333%}.col-sm-5{flex:none;width:41.66666667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.33333333%}.col-sm-8{flex:none;width:66.66666667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.33333333%}.col-sm-11{flex:none;width:91.66666667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--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}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.33333333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.66666667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333333%}.col-md-2{flex:none;width:16.66666667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.33333333%}.col-md-5{flex:none;width:41.66666667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.33333333%}.col-md-8{flex:none;width:66.66666667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.33333333%}.col-md-11{flex:none;width:91.66666667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--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}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.33333333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.66666667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333333%}.col-lg-2{flex:none;width:16.66666667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.33333333%}.col-lg-5{flex:none;width:41.66666667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.33333333%}.col-lg-8{flex:none;width:66.66666667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.33333333%}.col-lg-11{flex:none;width:91.66666667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--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}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.33333333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.66666667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333333%}.col-xl-2{flex:none;width:16.66666667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.33333333%}.col-xl-5{flex:none;width:41.66666667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.33333333%}.col-xl-8{flex:none;width:66.66666667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.33333333%}.col-xl-11{flex:none;width:91.66666667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--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}.row-cols-xxl-auto>*{flex:none;width:auto}.row-cols-xxl-1>*{flex:none;width:100%}.row-cols-xxl-2>*{flex:none;width:50%}.row-cols-xxl-3>*{flex:none;width:33.33333333%}.row-cols-xxl-4>*{flex:none;width:25%}.row-cols-xxl-5>*{flex:none;width:20%}.row-cols-xxl-6>*{flex:none;width:16.66666667%}.col-xxl-auto{flex:none;width:auto}.col-xxl-1{flex:none;width:8.33333333%}.col-xxl-2{flex:none;width:16.66666667%}.col-xxl-3{flex:none;width:25%}.col-xxl-4{flex:none;width:33.33333333%}.col-xxl-5{flex:none;width:41.66666667%}.col-xxl-6{flex:none;width:50%}.col-xxl-7{flex:none;width:58.33333333%}.col-xxl-8{flex:none;width:66.66666667%}.col-xxl-9{flex:none;width:75%}.col-xxl-10{flex:none;width:83.33333333%}.col-xxl-11{flex:none;width:91.66666667%}.col-xxl-12{flex:none;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--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}}.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)>*>*{padding:.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{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2)solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.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:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--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:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--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:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--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:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--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:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--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{--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:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-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);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 .15s ease-in-out,box-shadow .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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.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::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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:initial;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 + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.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}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .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 + .75rem + calc(var(--bs-border-width) * 2));padding:.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 + .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:.375rem 2.25rem .375rem .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 .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 .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.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='%23dee2e6' 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:.125rem}.form-check .form-check-input{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{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.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:50%;background-size:contain;border:var(--bs-border-width)solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-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]{--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{background-color:#0d6efd;border-color:#0d6efd;--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{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--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:0;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input: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='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:100%;--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{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,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input: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:1.5rem;padding:0;appearance:none;background-color:initial}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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,.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;height:100%;padding:1rem .75rem;overflow:hidden;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 .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.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}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .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,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.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,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23198754' 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.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--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.25rem 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;text-decoration:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-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)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,: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)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{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:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49, 132, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--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:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60, 153, 110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11, 172, 204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217, 164, 6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225, 83, 97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.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:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13, 110, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--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:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25, 135, 84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13, 202, 240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255, 193, 7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220, 53, 69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--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:49, 132, 253;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{--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{--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 .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 .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .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:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.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:#0d6efd;--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:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.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:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.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:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.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;text-decoration:none;white-space:nowrap;background-color:initial;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);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:initial}.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:.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:#0d6efd;--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,.btn-group-vertical>.btn{position:relative;flex:auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{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{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);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .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)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link: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{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 .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{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:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{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{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width)solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:initial}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:initial}.nav-fill>.nav-link,.nav-fill .nav-item{flex:auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--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%2833, 37, 41, 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.25rem;--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);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.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 .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.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-basis:100%;flex-grow:1;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:initial;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:50%;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{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:initial!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{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:initial!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{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:initial!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{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:initial!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{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:initial!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{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:initial!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:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--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='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--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%28255, 255, 255, 0.55%29' 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:var(--bs-border-color-translucent);--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:0.75rem;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: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+.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{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;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='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%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='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--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-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{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='%236ea8fe'%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-.708z'/%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='%236ea8fe'%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-.708z'/%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,"/")}.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(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--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);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width)solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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);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(var(--bs-border-width) * -1)}.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{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--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:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.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:1rem}}.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:#0d6efd;--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,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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:#0d6efd;--bs-list-group-active-border-color:#0d6efd;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-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action: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:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.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);text-decoration:none;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-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.414z'/%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(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:var(--bs-btn-close-bg)50%/1em no-repeat;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;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--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: ;--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{transition:transform .3s ease-out;transform:translate(0,-50px)}@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:calc(-.5 * var(--bs-modal-header-padding-y))calc(-.5 * var(--bs-modal-header-padding-x))calc(-.5 * var(--bs-modal-header-padding-y))auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex: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)}.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)}.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)}.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)}.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)}.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)}.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)}.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)}.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 .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 .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:0 0;border:0;opacity:.5;transition:opacity .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:.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 0z'/%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-.708z'/%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:initial;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1)grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1)grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.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)}}.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;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:400px;--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:initial!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:.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:calc(-.5 * var(--bs-offcanvas-padding-y))calc(-.5 * var(--bs-offcanvas-padding-x))calc(-.5 * var(--bs-offcanvas-padding-y))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:.5}.placeholder.btn::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:.2}}.placeholder-wave{mask-image:linear-gradient(130deg,#000 55%,rgba(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%}}.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:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!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:#fff!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(10,88,202,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(10,88,202,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(20,108,67,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(20,108,67,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(61,213,243,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(61,213,243,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(255,205,57,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,205,57,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(176,42,55,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(176,42,55,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,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.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:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.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(.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: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}.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:.25}.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:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.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: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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.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:.25rem!important}.gap-2{gap:.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:.25rem!important}.row-gap-2{row-gap:.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:.25rem!important}.column-gap-2{column-gap:.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 + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .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}.text-break{word-wrap:break-word!important;word-break:break-word!important}.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,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.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:.125em!important}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2{text-underline-offset:.25em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3{text-underline-offset:.375em!important}.link-offset-3-hover:hover{text-underline-offset:.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:initial!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: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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.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:.25rem!important}.gap-sm-2{gap:.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:.25rem!important}.row-gap-sm-2{row-gap:.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:.25rem!important}.column-gap-sm-2{column-gap:.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: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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.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:.25rem!important}.gap-md-2{gap:.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:.25rem!important}.row-gap-md-2{row-gap:.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:.25rem!important}.column-gap-md-2{column-gap:.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: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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.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:.25rem!important}.gap-lg-2{gap:.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:.25rem!important}.row-gap-lg-2{row-gap:.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:.25rem!important}.column-gap-lg-2{column-gap:.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: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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.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:.25rem!important}.gap-xl-2{gap:.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:.25rem!important}.row-gap-xl-2{row-gap:.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:.25rem!important}.column-gap-xl-2{column-gap:.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: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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.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:.25rem!important}.gap-xxl-2{gap:.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:.25rem!important}.row-gap-xxl-2{row-gap:.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:.25rem!important}.column-gap-xxl-2{column-gap:.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}}:root{--blue-900-hsl:243, 72%, 25%;--blue-800-hsl:239, 70%, 32%;--blue-700-hsl:235, 68%, 38%;--blue-600-hsl:231, 66%, 45%;--blue-500-hsl:226, 66%, 51%;--blue-400-hsl:221, 77%, 60%;--blue-300-hsl:217, 88%, 69%;--blue-200-hsl:212, 100%, 79%;--blue-100-hsl:207, 100%, 88%;--blue-50-hsl:198, 100%, 97%;--green-900-hsl:153, 54%, 20%;--green-800-hsl:145, 57%, 25%;--green-700-hsl:136, 60%, 29%;--green-600-hsl:128, 63%, 34%;--green-500-hsl:119, 66%, 39%;--green-400-hsl:114, 49%, 51%;--green-300-hsl:110, 56%, 62%;--green-200-hsl:105, 64%, 74%;--green-100-hsl:102, 69%, 86%;--green-50-hsl:98, 73%, 97%;--red-900-hsl:344, 48%, 33%;--red-800-hsl:348, 50%, 40%;--red-700-hsl:352, 53%, 46%;--red-600-hsl:356, 62%, 53%;--red-500-hsl:1, 84%, 59%;--red-400-hsl:356, 98%, 67%;--red-300-hsl:350, 100%, 73%;--red-200-hsl:345, 100%, 80%;--red-100-hsl:339, 100%, 88%;--red-50-hsl:332, 100%, 97%;--yellow-900-hsl:44, 60%, 17%;--yellow-800-hsl:45, 59%, 25%;--yellow-700-hsl:46, 58%, 33%;--yellow-600-hsl:48, 57%, 41%;--yellow-500-hsl:48, 55%, 49%;--yellow-400-hsl:50, 72%, 57%;--yellow-300-hsl:51, 98%, 65%;--yellow-200-hsl:54, 100%, 72%;--yellow-100-hsl:54, 100%, 81%;--yellow-50-hsl:55, 100%, 93%;--cyan-900-hsl:194, 100%, 16%;--cyan-800-hsl:193, 100%, 21%;--cyan-700-hsl:192, 100%, 27%;--cyan-600-hsl:191, 100%, 32%;--cyan-500-hsl:190, 98%, 37%;--cyan-400-hsl:189, 94%, 43%;--cyan-300-hsl:187, 85%, 58%;--cyan-200-hsl:185, 100%, 72%;--cyan-100-hsl:180, 100%, 83%;--cyan-50-hsl:180, 100%, 94%;--cardinal-900-hsl:355, 68%, 21%;--cardinal-800-hsl:353, 67%, 29%;--cardinal-700-hsl:353, 65%, 37%;--cardinal-600-hsl:352, 63%, 45%;--cardinal-500-hsl:351, 67%, 52%;--cardinal-400-hsl:350, 89%, 60%;--cardinal-300-hsl:347, 100%, 68%;--cardinal-200-hsl:343, 100%, 75%;--cardinal-100-hsl:340, 100%, 83%;--cardinal-50-hsl:338, 100%, 96%;--magenta-900-hsl:297, 63%, 21%;--magenta-800-hsl:296, 62%, 29%;--magenta-700-hsl:295, 61%, 37%;--magenta-600-hsl:294, 58%, 45%;--magenta-500-hsl:293, 63%, 53%;--magenta-400-hsl:292, 84%, 61%;--magenta-300-hsl:291, 100%, 69%;--magenta-200-hsl:292, 100%, 75%;--magenta-100-hsl:293, 100%, 84%;--magenta-50-hsl:293, 100%, 94%;--emerald-900-hsl:165, 97%, 13%;--emerald-800-hsl:164, 96%, 18%;--emerald-700-hsl:163, 93%, 23%;--emerald-600-hsl:162, 89%, 29%;--emerald-500-hsl:161, 87%, 34%;--emerald-400-hsl:160, 84%, 39%;--emerald-300-hsl:158, 66%, 53%;--emerald-200-hsl:154, 77%, 68%;--emerald-100-hsl:149, 89%, 82%;--emerald-50-hsl:145, 100%, 94%;--blue-900:hsl(var(--blue-900-hsl));--blue-800:hsl(var(--blue-800-hsl));--blue-700:hsl(var(--blue-700-hsl));--blue-600:hsl(var(--blue-600-hsl));--blue-500:hsl(var(--blue-500-hsl));--blue-400:hsl(var(--blue-400-hsl));--blue-300:hsl(var(--blue-300-hsl));--blue-200:hsl(var(--blue-200-hsl));--blue-100:hsl(var(--blue-100-hsl));--blue-50:hsl(var(--blue-50-hsl));--green-900:hsl(var(--green-900-hsl));--green-800:hsl(var(--green-800-hsl));--green-700:hsl(var(--green-700-hsl));--green-600:hsl(var(--green-600-hsl));--green-500:hsl(var(--green-500-hsl));--green-400:hsl(var(--green-400-hsl));--green-300:hsl(var(--green-300-hsl));--green-200:hsl(var(--green-200-hsl));--green-100:hsl(var(--green-100-hsl));--green-50:hsl(var(--green-50-hsl));--red-900:hsl(var(--red-900-hsl));--red-800:hsl(var(--red-800-hsl));--red-700:hsl(var(--red-700-hsl));--red-600:hsl(var(--red-600-hsl));--red-500:hsl(var(--red-500-hsl));--red-400:hsl(var(--red-400-hsl));--red-300:hsl(var(--red-300-hsl));--red-200:hsl(var(--red-200-hsl));--red-100:hsl(var(--red-100-hsl));--red-50:hsl(var(--red-50-hsl));--yellow-900:hsl(var(--yellow-900-hsl));--yellow-800:hsl(var(--yellow-800-hsl));--yellow-700:hsl(var(--yellow-700-hsl));--yellow-600:hsl(var(--yellow-600-hsl));--yellow-500:hsl(var(--yellow-500-hsl));--yellow-400:hsl(var(--yellow-400-hsl));--yellow-300:hsl(var(--yellow-300-hsl));--yellow-200:hsl(var(--yellow-200-hsl));--yellow-100:hsl(var(--yellow-100-hsl));--yellow-50:hsl(var(--yellow-50-hsl));--cyan-900:hsl(var(--cyan-900-hsl));--cyan-800:hsl(var(--cyan-800-hsl));--cyan-700:hsl(var(--cyan-700-hsl));--cyan-600:hsl(var(--cyan-600-hsl));--cyan-500:hsl(var(--cyan-500-hsl));--cyan-400:hsl(var(--cyan-400-hsl));--cyan-300:hsl(var(--cyan-300-hsl));--cyan-200:hsl(var(--cyan-200-hsl));--cyan-100:hsl(var(--cyan-100-hsl));--cyan-50:hsl(var(--cyan-50-hsl));--cardinal-900:hsl(var(--cardinal-900-hsl));--cardinal-800:hsl(var(--cardinal-800-hsl));--cardinal-700:hsl(var(--cardinal-700-hsl));--cardinal-600:hsl(var(--cardinal-600-hsl));--cardinal-500:hsl(var(--cardinal-500-hsl));--cardinal-400:hsl(var(--cardinal-400-hsl));--cardinal-300:hsl(var(--cardinal-300-hsl));--cardinal-200:hsl(var(--cardinal-200-hsl));--cardinal-100:hsl(var(--cardinal-100-hsl));--cardinal-50:hsl(var(--cardinal-50-hsl));--magenta-900:hsl(var(--magenta-900-hsl));--magenta-800:hsl(var(--magenta-800-hsl));--magenta-700:hsl(var(--magenta-700-hsl));--magenta-600:hsl(var(--magenta-600-hsl));--magenta-500:hsl(var(--magenta-500-hsl));--magenta-400:hsl(var(--magenta-400-hsl));--magenta-300:hsl(var(--magenta-300-hsl));--magenta-200:hsl(var(--magenta-200-hsl));--magenta-100:hsl(var(--magenta-100-hsl));--magenta-50:hsl(var(--magenta-50-hsl));--emerald-900:hsl(var(--emerald-900-hsl));--emerald-800:hsl(var(--emerald-800-hsl));--emerald-700:hsl(var(--emerald-700-hsl));--emerald-600:hsl(var(--emerald-600-hsl));--emerald-500:hsl(var(--emerald-500-hsl));--emerald-400:hsl(var(--emerald-400-hsl));--emerald-300:hsl(var(--emerald-300-hsl));--emerald-200:hsl(var(--emerald-200-hsl));--emerald-100:hsl(var(--emerald-100-hsl));--emerald-50:hsl(var(--emerald-50-hsl));--blue:var(--blue-500);--green:var(--green-500);--red:var(--red-500);--yellow:var(--yellow-500);--cyan:var(--cyan-500);--cardinal:var(--cardinal-500);--magenta:var(--magenta-500);--emerald:var(--emerald-500);--secondary:var(--gray-600);--success:var(--green);--info:var(--cyan);--warning:var(--yellow);--danger:var(--red);--light:var(--gray-100);--dark:#181921;--dark-alt:#212529;--dark-secondary:#292a35;--white:#ffffff;--gray-50:#f7fafc;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--black:#000000;--link-color:var(--primary);--link-decoration:underline;--link-shade-percentage:20%;--link-hover-decoration:null;--text-default:var(--text-dark);--text-default-inv:var(--text-light);--text-muted:var(--gray-600);--bs-secondary-color:var(--gray-600);--body-color:var(--text-default);--body-bg:var(--white);--text-dark:#3C4257;--text-light:#dee2e6;--fw-medium:600;--shadow-sm:0 .125rem .25rem rgba(var(--dark), .15);--shadow:0 0 3px rgba(var(--dark), .15);--shadow-md:0 5px 13px rgba(var(--dark), .2);--shadow-lg:0 10px 25px rgba(var(--dark), 0.15);--overlay:rgba(var(--dark), 0.7);--bg-overlay-white:rgba(var(--white), 0.5);--back-to-top-color:var(--white);--simplebar-color:#adb5bd;--footer:#202942;--footer-bg:var(--white);--foot-social-color:#adb5bd;--social-border-color:#adb5bd;--foot-social-color-white:var(--white);--l-100:100%;--btn-soft-color:var(--primary);--btn-soft-bg:transparent;--btn-soft-border:var(--gray-200);--btn-primary-color:var(--white);--btn-primary-bg:var(--primary);--btn-primary-border:transparent;--btn-default-color:var(--text-default);--btn-default-hover-color:var(--primary);--btn-default-bg:transparent;--btn-default-border:transparent;--icon-color:var(--primary);--folder:"\e2c7";--article:"\ef42";--dash:"\f88a";--dir-right:"\e5da";--card-bg:var(--white);--card-border-color:var(--gray-400);--card-border-hover-color:var(--primary);--sidebar-primary:var(--primary);--sidebar-bg:var(--white);--top-header-bg:hsla(255,100%,100%,0.8);--sidebar-text-color:#606770;--sidebar-border-color:var(--gray-200);--sidebar-dropdown-hover-bg:#eff1f4;--sidebar-menu-active-bg:#f5f6f8;--sidebar-icon-bg:#f8f9fa;--sidebar-light-icon:#f8f9fa;--sidebar-scrollbar-thumb-color:var(--gray-200);--sidebar-directory-icon:var(--dir-right);--sidebar-file-icon:var(--dash)}[data-dark-mode]{--body-bg:var(--dark);--text-default:var(--text-light);--text-default-inv:var(--text-dark);--text-muted:#b6b9be;--bs-secondary-color:#6c757d;--btn-soft-color:var(--gray-400);--btn-soft-bg:none;--btn-soft-border:var(--gray-800);--btn-primary-color:var(--primary-200);--btn-primary-bg:none;--btn-primary-border:var(--gray-700);--btn-default-color:var(--text-default);--btn-default-hover-color:var(--primary-300);--btn-default-bg:transparent;--btn-default-border:transparent;--icon-color:#b6bbc9;--card-bg:none;--card-border-color:var(--gray-800);--card-border-hover-color:var(--primary-200);--sidebar-primary:var(--primary-300);--sidebar-bg:var(--dark);--top-header-bg:hsla(233,16%,11%,0.8);--sidebar-text-color:#b6bbc9;--sidebar-border-color:var(--gray-900);--sidebar-dropdown-hover-bg:#2b303b;--sidebar-menu-active-bg:#2b303b;--sidebar-icon-bg:#2b303b;--sidebar-light-icon:#f8f9fa;--sidebar-scrollbar-thumb-color:var(--gray-800)}html{scroll-padding-top:80px;background-color:var(--body-bg)}body{font-family:Inter;overflow-x:hidden!important;font-size:1rem;color:var(--body-color);background-color:var(--body-bg)}@media(max-width:1199px){html{scroll-padding-top:120px}body{font-size:.9rem}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--bs-font-sans-serif);line-height:1.4;font-weight:600}::selection{background:var(--primary);color:var(--white);opacity:.9}a{text-decoration:none;transition:all .5s ease;color:var(--primary)}a:hover{color:var(--primary-800)}p{line-height:1.6}img{height:auto}:root{--content-icon-color:var(--primary);--content-icon-bg:var(--sidebar-icon-bg);--content-icon-border:var(--sidebar-icon-bg);--content-link-color:var(--primary);--ordered-list-bg:var(--gray-300);--ordered-list-color:var(--gray-800);--blockquote-border-color:var(--gray-300);--code-block-bg:#212d63;--inline-code-bg:var(--gray-100);--inline-code-border:1px solid var(--gray-400)}[data-dark-mode]{--content-icon-color:var(--primary-200);--content-icon-bg:hsl(var(--primary-hsl), 0.15);--content-icon-border:var(--primary-800);--content-link-color:var(--primary-300);--ordered-list-bg:var(--gray-700);--ordered-list-color:var(--gray-200);--blockquote-border-color:var(--primary-200);--code-block-bg:var(--gray-900);--inline-code-bg:var(--gray-800);--inline-code-border:1px solid var(--gray-600)}.docs-content{order:1}.docs-content .main-content a{font-weight:600;color:var(--content-link-color)}.docs-content .main-content a:hover{text-decoration:underline 2px var(--primary-200);text-underline-offset:2.5px!important;transition:0s!important}.docs-content .main-content a code{color:var(--content-link-color)}.docs-content .main-content #edit-this-page a:hover,.docs-content .main-content #list-item a:hover{text-decoration:none!important}.docs-content .main-content li{color:var(--text-default)}.docs-content .main-content h1,.docs-content .main-content .h1,.docs-content .main-content h2,.docs-content .main-content .h2,.docs-content .main-content h3,.docs-content .main-content .h3,.docs-content .main-content h4,.docs-content .main-content .h4,.docs-content .main-content h5,.docs-content .main-content .h5{font-weight:700;color:var(--body-color)}.docs-content .content-title{font-weight:700;align-self:center}i.title-icon{width:44px;height:44px;color:var(--content-icon-color);background-color:var(--content-icon-bg);display:inline-flex!important;align-self:center;align-items:center;justify-content:center;font-size:24px;border-radius:5px}@media(max-width:768px){i.title-icon{align-self:auto}}.docs-content p.lead{color:var(--text-muted);font-weight:400}@media(max-width:1199px){.docs-content{padding-left:calc(var(--bs-gutter-x) * 1.05);padding-right:calc(var(--bs-gutter-x) * 1.05)}.docs-content h2,.docs-content .h2{margin-bottom:1rem}.docs-content p.lead{font-size:1rem}}.docs-content .main-content img,.docs-content .main-content svg{max-width:100%;height:auto}.docs-content .main-content a svg{vertical-align:middle;padding-bottom:.25rem;margin-left:3px}.docs-content .main-content ul{padding-left:0}.docs-content .main-content ul>li{position:relative;padding-left:32px}.docs-content .main-content ul>li::before{content:"";position:absolute;width:6px;height:6px;left:8px;top:10px;border-radius:30%;background:var(--gray-500)}.docs-content .main-content ol{counter-reset:listitem}.docs-content .main-content ol>li{counter-increment:listitem;position:relative;padding-left:32px}.docs-content .main-content ol>li::before{content:counter(listitem);background:var(--ordered-list-bg);color:var(--ordered-list-color);font-size:12px;font-weight:500;line-height:10px;text-align:center;padding:5px 0;width:20px;height:20px;border-radius:5px;position:absolute;left:0;top:3px}.docs-content .main-content ol,.docs-content .main-content ul{list-style:none;line-height:26px}.docs-content .main-content blockquote{margin-bottom:1rem;font-size:1.25rem;border-left:3px solid var(--blockquote-border-color);padding-left:1rem}.docs-content .main-content div.highlight{margin:16px 0;padding:0;background:var(--code-block-bg);border-radius:4px}.docs-content .main-content div.highlight pre{padding:0}.docs-content .main-content code{font-size:inherit;font-weight:400;padding:1px 2px;background:var(--inline-code-bg);border:var(--inline-code-border);border-radius:4px}.docs-content .main-content pre{margin:0;border-radius:4px;padding:0}.docs-content .main-content pre code{font-size:.8rem;display:block;border:none;overflow-x:auto;line-height:1.5;padding:0 2.5rem 1.25rem;tab-size:4;scrollbar-width:thin}.docs-content .main-content strong code{font-weight:700}.docs-content .main-content td pre code{overflow-x:unset!important}.docs-content .main-content .alert ul{font-size:var(--font-size-sm)}.docs-content figcaption{font-size:small}.page-wrapper{height:100vh}.page-wrapper .sidebar-wrapper{transition:all .3s ease;width:300px;height:100%;max-height:100%;position:fixed;top:0;left:-300px;z-index:999}@media(min-width:1025px){.page-wrapper .sidebar-wrapper{z-index:1000}}@media(max-width:1024px){.page-wrapper .sidebar-wrapper{left:0}}@media(max-width:425px){.page-wrapper .sidebar-wrapper{width:260px}}.page-wrapper .sidebar-wrapper ul{list-style-type:none;padding:0;margin:0}.page-wrapper .sidebar-wrapper a{text-decoration:none}.page-wrapper .sidebar-wrapper .sidebar-content{background:var(--sidebar-bg);max-height:calc(100% - 30px);height:calc(100% - 30px);overflow:scroll;overflow-x:hidden;overflow-y:overlay;position:relative;border-right:1px solid var(--sidebar-border-color);scrollbar-width:thin;scrollbar-color:var(--sidebar-bg)var(--sidebar-bg)}.page-wrapper .sidebar-wrapper .sidebar-content.desktop{overflow-y:hidden}.page-wrapper .sidebar-wrapper .sidebar-content:hover{scrollbar-color:var(--sidebar-scrollbar-thumb-color)var(--sidebar-bg)}.page-wrapper .sidebar-wrapper .sidebar-content::-webkit-scrollbar{width:5px;height:8px}.page-wrapper .sidebar-wrapper .sidebar-content::-webkit-scrollbar-track{background:var(--sidebar-bg);display:none}.page-wrapper .sidebar-wrapper .sidebar-content:hover::-webkit-scrollbar-thumb{background:var(--sidebar-scrollbar-thumb-color)}.page-wrapper .sidebar-wrapper .sidebar-brand{background:var(--sidebar-bg);padding:10px 20px;border-bottom:1px solid var(--sidebar-border-color);display:flex;align-items:center;height:72px}.page-wrapper .sidebar-wrapper .sidebar-brand>a{text-transform:uppercase;font-weight:700;flex-grow:1;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-brand>a:focus{outline:none}.page-wrapper .sidebar-wrapper .sidebar-brand>a svg{height:26px}.page-wrapper .sidebar-wrapper .sidebar-brand #close-sidebar{cursor:pointer;font-size:24px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-header{padding:20px;overflow:hidden}.page-wrapper .sidebar-wrapper .sidebar-menu{padding:16px 0 16px 10px}.page-wrapper .sidebar-wrapper .sidebar-menu .header-menu span{font-weight:700;font-size:14px;padding:15px 20px 5px;display:inline-block}.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{display:inline-block;color:var(--sidebar-text-color);width:100%;text-decoration:none;position:relative;padding:4px 35px 5px 10px;margin:4px 0;border:none;letter-spacing:normal;transition:all .3s ease;display:flex;align-items:center;text-align:left}@media(max-width:1024px){.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{padding:6px 24px}}@media screen and (max-width:425px){.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{padding:6px 26px 6px 12px}}.page-wrapper .sidebar-wrapper .sidebar-menu li a:hover>i::before,.page-wrapper .sidebar-wrapper .sidebar-menu li button:hover>i::before{display:inline-block}.page-wrapper .sidebar-wrapper .sidebar-menu li a:focus,.page-wrapper .sidebar-wrapper .sidebar-menu li button:focus{outline:none}.page-wrapper .sidebar-wrapper .sidebar-menu li a i,.page-wrapper .sidebar-wrapper .sidebar-menu li button i{min-width:36px;height:36px;background-color:var(--sidebar-icon-bg);display:inline-flex!important;align-items:center;justify-content:center;font-size:20px;text-align:center;border-radius:4px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu li a.sidebar-nested-link,.page-wrapper .sidebar-wrapper .sidebar-menu li button.sidebar-nested-link{align-items:normal}.page-wrapper .sidebar-wrapper .sidebar-menu li a:hover,.page-wrapper .sidebar-wrapper .sidebar-menu li.sidebar-dropdown button:hover{background-color:var(--sidebar-dropdown-hover-bg);border-radius:4px 0 0 4px;margin:4px 0}.page-wrapper .sidebar-wrapper .sidebar-menu li:hover i,.page-wrapper .sidebar-wrapper .sidebar-menu li.active i{background-color:var(--sidebar-menu-active-bg)}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>a:before{content:none!important}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>button{margin:1px 0}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>button:hover{margin:1px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-root-link{font-size:1rem}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.no-icon>button:after{top:inherit!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown>button:after{content:"\e5cc"!important;color:var(--sidebar-text-color);font-family:material symbols outlined;font-weight:500;font-size:22px;position:absolute;right:15px;top:7px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested.no-icon>button:after{top:inherit!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested.no-icon>button:before{content:none!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button{font-size:14px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button:before{content:var(--sidebar-directory-icon);color:var(--sidebar-text-color);font-family:material symbols outlined;margin-right:4px;font-size:14px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button:after{top:inherit}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.active>button:after{transform:rotate(90deg);right:17px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.current>button:after{color:var(--sidebar-primary)}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu{display:none}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul{padding:3px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li{padding-left:15px;font-size:14px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a{font-weight:400}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a:before{content:var(--sidebar-file-icon);color:var(--sidebar-text-color);font-family:material symbols outlined;margin-right:4px;font-size:14px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a .badge,.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a .label{float:right;margin-top:0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li.no-icon{padding-left:10px}.page-wrapper .sidebar-wrapper .sidebar-menu ul li a span.label,.page-wrapper .sidebar-wrapper .sidebar-menu ul li a span.badge{float:right;margin-top:8px;margin-left:5px}.page-wrapper .sidebar-wrapper .sidebar-header .user-info .user-role,.page-wrapper .sidebar-wrapper .sidebar-header .user-info .user-status,.page-wrapper .sidebar-wrapper .sidebar-brand>a,.page-wrapper .sidebar-wrapper .sidebar-menu li a{color:var(--sidebar-text-color);font-weight:600}.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a,.page-wrapper .sidebar-wrapper .sidebar-menu li:active>a,.page-wrapper .sidebar-wrapper .sidebar-menu li:active>a:before,.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a:before,.page-wrapper .sidebar-wrapper .sidebar-menu li.current>button:before,.page-wrapper .sidebar-wrapper .sidebar-header .user-info,.page-wrapper .sidebar-wrapper .sidebar-brand>a:hover{color:var(--sidebar-primary)!important}.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a{font-weight:600!important;background-color:var(--sidebar-menu-active-bg);border-right:3px solid var(--primary);border-radius:4px 0 0 4px;margin:4px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.current>button{color:var(--sidebar-primary)!important}.page-wrapper .sidebar-wrapper .sidebar-brand .sidebar-colored{display:none}.page-wrapper .sidebar-wrapper .sidebar-brand .logo-dark-mode{display:none}.page-wrapper .sidebar-wrapper .sidebar-brand .logo-light-mode{display:inline-block}.page-wrapper .page-content{display:inline-block;width:100%;padding-left:0;transition:all .3s ease}.page-wrapper .page-content .top-header{position:fixed;right:0;top:0;z-index:999;max-height:70px;left:0;transition:all .3s}.page-wrapper .page-content .top-header .header-bar{background:var(--top-header-bg);backdrop-filter:saturate(180%)blur(5px);height:72px;border-bottom:1px solid var(--sidebar-border-color);position:relative;justify-content:space-between;align-items:center;padding:24px}@media(max-width:425px){.page-wrapper .page-content .top-header .header-bar{padding:24px 12px}}.page-wrapper .page-content .top-header .header-bar .logo-icon{display:none}@media(max-width:1024px){.page-wrapper .page-content .top-header .header-bar .logo-icon{display:block}}.page-wrapper .page-content .top-header .header-bar .logo-icon .small{display:none}@media(max-width:767px){.page-wrapper .page-content .top-header .header-bar .logo-icon .small{display:block}}.page-wrapper .page-content .top-header .header-bar .logo-icon .small svg{height:22px}.page-wrapper .page-content .top-header .header-bar .logo-icon .big{display:none}.page-wrapper .page-content .top-header .header-bar .logo-icon .big .logo-dark-mode{display:none}.page-wrapper .page-content .top-header .header-bar .logo-icon .big .logo-light-mode{display:inline-block}@media(min-width:768px) and (max-width:1024px){.page-wrapper .page-content .top-header .header-bar .logo-icon .big{display:block}}.page-wrapper .page-content .layout-spacing{padding:94px 14px 24px!important;min-height:calc(100vh - 66px)!important;position:relative}@media(max-width:425px){.page-wrapper .page-content .layout-spacing{padding:84px 0 24px!important}}@media screen and (min-width:1025px){.page-wrapper.toggled .page-content{padding-left:300px}}.page-wrapper.toggled .top-header{left:300px}@media(max-width:1024px){.page-wrapper.toggled .top-header{left:0}}.page-wrapper.toggled .sidebar-wrapper{left:0}@media(max-width:1024px){.page-wrapper.toggled .sidebar-wrapper{left:-300px}}.sidebar-footer{position:absolute;background:var(--sidebar-bg);width:100%;bottom:0;left:0;right:0;padding:9px 24px 9px 20px!important;border-right:1px solid var(--sidebar-border-color);height:60px}@media(max-width:425px){.sidebar-footer{padding:9px 12px!important}}:root{--doc-nav-title-link-color:var(--primary)}[data-dark-mode]{--doc-nav-title-link-color:var(--primary-300)}#doc-nav .card-title{color:var(--doc-nav-title-link-color)}#doc-nav .card-text{color:var(--text-muted)}@media(max-width:425px){.doc-next{order:2}.doc-prev{order:1}}.doc-hr{border-top:1px solid var(--gray-500);margin-top:2rem;margin-bottom:0;padding-top:1rem}:root{--toc-link-hover-bg-color:var(--gray-300);--toc-mobile-btn-bg-color:var(--gray-100);--toc-mobile-menu-bg-color:var(--white);--toc-mobile-link-hover-color:var(--primary)}[data-dark-mode]{--toc-link-hover-bg-color:var(--gray-700);--toc-mobile-btn-bg-color:var(--gray-900);--toc-mobile-menu-bg-color:var(--body-bg);--toc-mobile-link-hover-color:var(--primary-300)}.docs-toc-mobile{position:sticky;top:85px;padding-left:calc(var(--bs-gutter-x) * 1.05);padding-right:calc(var(--bs-gutter-x) * 1.05);z-index:20}.docs-toc-mobile a{color:var(--text-default)}.docs-toc-mobile a:hover{color:var(--toc-mobile-link-hover-color)}.docs-toc-mobile .dropdown-toggle{margin-bottom:16px;background:var(--toc-mobile-btn-bg-color);color:var(--text-default);padding:4px;border:1px solid var(--alert-border-color);border-radius:4px;width:calc(100% + 2px);white-space:normal}.docs-toc-mobile .dropdown-menu{transform:translateY(-16.5px)!important;background:var(--toc-mobile-menu-bg-color);inset:-1px auto none var(--bs-gutter-x)!important;border:1px solid var(--alert-border-color);border-top:none;border-radius:0 0 4px 4px;width:calc(100% - (var(--bs-gutter-x)*2));max-height:40vh;overflow-y:auto;scrollbar-width:thin}.docs-toc-mobile .dropdown-menu li{list-style:none;padding:0 0 4px}.docs-toc-mobile .dropdown-menu li ul{padding-left:1rem}.docs-toc{position:-webkit-sticky;position:sticky;top:6rem;height:calc(100vh - 11.1rem);overflow-y:auto;order:2;scrollbar-width:thin;scrollbar-color:var(--simplebar-color)rgba(var(--bs-light-rgb),var(--bs-bg-opacity))}@media(max-width:1199px){.docs-toc{position:absolute!important;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}}.docs-toc::-webkit-scrollbar{width:4px;height:18px}.docs-toc::-webkit-scrollbar-track{background:0 0}.docs-toc::-webkit-scrollbar-thumb{background-color:var(--simplebar-color);border-radius:4px;border:transparent}#TableOfContents ul,#toc ul{padding-left:0;margin-bottom:0;list-style:none}#TableOfContents ul li,#toc ul li{padding-bottom:5px}#TableOfContents ul li ul li,#toc ul li ul li{border-top:none;padding-left:1rem;margin-top:.125rem;padding-top:.125rem;padding-bottom:0}#TableOfContents a,#toc a{display:block;color:var(--text-default);padding:0 10px;padding-block:0 .05rem;margin:0 0 0 -10px;border-radius:4px;width:fit-content;font-size:15px;letter-spacing:.02em;transition:all .1s;-webkit-transition:all .1s}#TableOfContents a:hover,#toc a:hover{background-color:var(--toc-link-hover-bg-color);transition:all .1s;-webkit-transition:all .2s}#toc a.active{color:var(--white);background-color:var(--primary);opacity:.9}footer{position:relative;color:var(--text-muted);background:var(--body-bg);height:58px}footer .text-foot{color:var(--gray-500)}footer .footer-head{font-size:18px!important;letter-spacing:1px;font-weight:500}footer a{color:var(--content-link-color)}footer a:hover{color:var(--content-link-color);text-decoration:underline 1.5px var(--primary-200);text-underline-offset:3px!important;transition:0s!important}.footnote-backref{font-size:1.1rem;vertical-align:middle;margin-left:.25rem}:root{--invert:invert(0%);--btn-modal-hover-bg:var(--gray-200)}[data-dark-mode]{--invert:invert(100%);--btn-modal-hover-bg:var(--gray-800)}.btn-soft{background-color:var(--btn-soft-bg)!important;border:1px solid var(--btn-soft-border)!important;color:var(--btn-soft-color)!important}.btn-soft:hover,.btn-soft:active,.btn-soft.active,.btn-soft.focus{background:var(--btn-soft-bg);border-color:var(--btn-soft-border)!important;color:var(--btn-soft-color)!important}.btn-primary{background-color:var(--btn-primary-bg)!important;border:1px solid var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.focus{background:var(--btn-primary-bg);border-color:var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}.btn-default{background-color:var(--btn-default-bg)!important;border:1px solid var(--btn-default-border)!important;color:var(--btn-default-color)!important}.btn-default:hover,.btn-default:active,.btn-default.active,.btn-default.focus{background:var(--btn-default-bg);border-color:var(--btn-default-border)!important;color:var(--btn-default-hover-color)!important}.btn-link-modal{--bs-btn-font-weight:600;--bs-btn-color:var(--text-default);--bs-btn-bg:none;--bs-btn-border-color:var(--bd-violet-bg);--bs-btn-hover-color:var(--btn-default-hover-color);--bs-btn-hover-bg:var(--btn-modal-hover-bg);--bs-btn-hover-border-color:var(--bd-violet-bg);--bs-btn-focus-shadow-rgb:var(--bd-violet-rgb);--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bd-violet-bg);--bs-btn-active-border-color:var(--bd-violet-bg)}.btn-close{filter:var(--invert)}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}.btn{padding:8px 20px;outline:none;text-decoration:none;font-size:16px;letter-spacing:.5px;transition:all .3s;font-weight:600;border-radius:6px}.btn:focus{box-shadow:none!important}.btn.btn-sm,.btn-group-sm>.btn{padding:7px 16px;font-size:12px}.btn.btn-xs{padding:4px 10px;font-size:10px}.btn.btn-lg,.btn-group-lg>.btn{padding:14px 30px;font-size:16px}.btn.searchbtn{padding:6px 20px}.btn.btn-pills{border-radius:30px}.btn.btn-outline-light{border-color:var(--gray-200)!important}.btn.btn-soft-light{color:var(--gray-500)!important;border-color:var(--gray-200)!important}.btn.btn-soft-dark:hover,.btn.btn-soft-dark:focus,.btn.btn-soft-dark:active,.btn.btn-soft-dark.active,.btn.btn-soft-dark.focus{color:var(--gray-400)!important;border-color:var(--gray-200)!important}.btn.btn-dark,.btn.btn-secondary{color:var(--gray-200)}.btn.btn-outline-light{color:var(--gray-900)}.btn.btn-icon{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.btn.btn-icon .icons{height:16px;width:16px;font-size:16px}.btn.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{height:48px;width:48px;line-height:46px}.btn.btn-icon.btn-lg .icons,.btn-group-lg>.btn-icon.btn .icons{height:20px;width:20px;font-size:20px}.btn.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{height:30px;width:30px;line-height:28px}button:not(:disabled){outline:none}:root{--breadcrumb-item-color:var(--primary)}[data-dark-mode]{--breadcrumb-item-color:var(--primary-300)}.breadcrumb .breadcrumb-item a{color:var(--breadcrumb-item-color)}.breadcrumb .breadcrumb-item.active{color:var(--text-muted)}@media(max-width:1199px){.breadcrumb{--bs-breadcrumb-padding-x:0.7rem}}.badge{letter-spacing:1.1px;padding:6px 8px 7px;font-weight:600;line-height:11px;border-radius:4px}.badge.badge-link:hover{color:var(--white)!important}:root{--bg-default:hsl(var(--primary-800-hsl),0.1);--bg-default-border:hsl(var(--primary-800-hsl),0.1);--bg-default-color:var(--text-default)}[data-dark-mode]{--bg-default:var(--gray-800);--bg-default-border:hsl(var(--primary-200-hsl),0.1);--bg-default-color:var(--text-default)}.bg-default{background-color:var(--bg-default)!important;border:1px solid var(--bg-default-border)!important;color:var(--bg-default-color)!important}.bg-primary{background-color:var(--btn-primary-bg)!important;border:1px solid var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}:root{--dropdown-link-color:var(--text-default);--dropdown-bg:var(--body-bg);--dropdown-border-color:var(--alert-border-color);--dropdown-border-radius:0 0 4px 4px;--dropdown-link-hover-color:var(--primary)}[data-dark-mode]{--dropdown-link-color:var(--text-default);--dropdown-bg:var(--body-bg);--dropdown-border-color:var(--alert-border-color);--dropdown-border-radius:0 0 4px 4px;--dropdown-link-hover-color:var(--primary-300)}.dropdown-menu{--bs-dropdown-min-width:7rem;--bs-dropdown-link-color:var(--dropdown-link-color);--bs-dropdown-bg:var(--dropdown-bg);--bs-dropdown-border-color:var(--dropdown-border-color);--bs-dropdown-link-hover-bg:none;--bs-dropdown-link-hover-color:var(--dropdown-link-hover-color);--bs-dropdown-border-radius:var(--dropdown-border-radius);transform:translate(0,57px)!important;border-top:none}:root{--alert-border-color:#dee2e6;--alert-default-color:225.9, 68%, 95.1%;--alert-default-bg:hsl(var(--alert-default-color));--alert-default-border-color:var(--alert-border-color);--alert-primary-color:var(--primary-50-hsl);--alert-primary-bg:hsl(var(--alert-primary-color),0.5);--alert-primary-border-color:var(--alert-border-color);--alert-info-color:204, 45.5%, 97.8%;--alert-info-bg:hsl(var(--alert-info-color));--alert-info-border-color:var(--alert-border-color);--alert-success-color:var(--emerald-50-hsl);--alert-success-bg:hsl(var(--alert-success-color),0.4);--alert-success-border-color:var(--alert-border-color);--alert-danger-color:var(--cardinal-50-hsl);--alert-danger-bg:hsl(var(--alert-danger-color),0.5);--alert-danger-border-color:var(--alert-border-color);--alert-warning-color:var(--yellow-50-hsl);--alert-warning-bg:hsl(var(--alert-warning-color),0.5);--alert-warning-border-color:var(--alert-border-color);--alert-light-bg:var(--gray-200);--alert-light-border-color:var(--alert-border-color);--alert-dark-bg:var(--gray-800);--alert-dark-border-color:var(--alert-border-color)}[data-dark-mode]{--alert-border-color:var(--gray-800);--alert-default-bg:hsl(var(--alert-default-color),0.05);--alert-default-border-color:var(--alert-border-color);--alert-primary-bg:hsl(var(--primary-hsl),0.1);--alert-primary-icon-color:var(--primary-200);--alert-primary-border-color:var(--primary-800);--alert-info-bg:hsl(var(--blue-500-hsl),0.1);--alert-info-icon-color:var(--blue-200);--alert-info-border-color:var(--blue-800);--alert-success-bg:hsl(var(--emerald-500-hsl),0.1);--alert-success-icon-color:var(--emerald-200);--alert-success-border-color:var(--emerald-800);--alert-danger-bg:hsl(var(--cardinal-500-hsl),0.1);--alert-danger-icon-color:var(--cardinal-200);--alert-danger-border-color:var(--cardinal-800);--alert-warning-bg:hsl(var(--yellow-500-hsl),0.1);--alert-warning-icon-color:var(--yellow-200);--alert-warning-border-color:var(--yellow-800);--alert-light-bg:var(--gray-900);--alert-light-icon-color:var(--gray-200);--alert-light-border-color:var(--gray-800);--alert-dark-bg:var(--gray-400);--alert-dark-icon-color:var(--gray-800);--alert-dark-border-color:var(--gray-200)}.alert{font-size:var(--font-size-sm);border-radius:4px;color:var(--gray-700)}.alert p{line-height:1.525rem}.alert p:last-child{margin-bottom:0}.alert-icon{margin-right:.35rem}.alert-default{background-color:var(--alert-default-bg);border-color:var(--alert-border-color);color:var(--text-default)}.alert-white{background-color:rgba(255,255,255,.95)}.alert-primary{background-color:var(--alert-primary-bg);border-color:var(--alert-primary-border-color);color:var(--text-default)}.alert-primary>.alert-icon span{color:var(--alert-primary-icon-color);margin-top:.15rem}.alert-primary a{font-weight:700}.alert-success{background-color:var(--alert-success-bg);border-color:var(--alert-success-border-color);color:var(--text-default)}.alert-success>.alert-icon span{color:var(--alert-success-icon-color);margin-top:.15rem}.alert-success a{font-weight:700}.alert-info{background-color:var(--alert-info-bg);border-color:var(--alert-info-border-color);color:var(--text-default)}.alert-info>.alert-icon span{color:var(--alert-info-icon-color);margin-top:.15rem}.alert-info a{font-weight:700}.alert-warning{background-color:var(--alert-warning-bg);border-color:var(--alert-warning-border-color);color:var(--text-default)}.alert-warning>.alert-icon span{color:var(--alert-warning-icon-color);margin-top:.15rem}.alert-warning .alert-link{color:#523e02}.alert-danger{background-color:var(--alert-danger-bg);border-color:var(--alert-danger-border-color);color:var(--text-default)}.alert-danger>.alert-icon span{color:var(--alert-danger-icon-color);margin-top:.15rem}.alert-danger .alert-link{color:#6a1a21}.alert-light{background-color:var(--alert-light-bg);border-color:var(--alert-light-border-color);color:var(--text-default)}.alert-light>.alert-icon span{color:var(--alert-light-icon-color);margin-top:.15rem}.alert-light .alert-link{color:#4f5050}.alert-dark{background-color:var(--alert-dark-bg);border-color:var(--alert-dark-border-color);color:var(--text-default-inv)}.alert-dark>.alert-icon span{color:var(--alert-dark-icon-color);margin-top:.15rem}.alert-dark .alert-link{color:#101214}.alert .alert-link:hover,.alert .alert-link:focus{text-decoration:none}.alert-dismissible .btn-close{position:absolute;top:50%;transform:translateY(-50%);right:1rem;z-index:2;padding:.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%)}[data-global-alert=closed] #announcement{display:none}:root{--card-title-color:var(--text-default);--card-text-color:var(--text-muted)}[data-dark-mode]{--card-title-color:var(--text-default);--card-text-color:var(--gray-500)}.card{background:var(--card-bg);border-color:var(--card-border-color);border-radius:4px;transition:all .2s;-webkit-transition:all .2s}.card .card-body{padding:1.5rem}.card:hover{border-color:var(--card-border-hover-color)}.card:hover .card-title{color:#fff}.card-title{color:var(--card-title-color)}.card-text{color:var(--card-text-color);font-weight:500}:root{--form-border-color:var(--gray-200);--form-control-focus-color:var(--gray-900);--form-control-focus-bg-color:none;--form-control-focus-border-color:var(--primary);--form-control-placeholder-color:#666d78;--form-check-input-border-color:var(--gray-400);--form-check-input-background-color:var(--primary);--form-check-input-checked-border-color:var(--primary);--form-check-input-checked-bg-image:url("data:image/svg+xml,")}[data-dark-mode]{--form-border-color:var(--gray-800);--form-control-focus-color:var(--gray-200);--form-control-focus-bg-color:#000;--form-control-focus-border-color:var(--primary-300);--form-control-placeholder-color:#7f8497;--form-check-input-border-color:var(--gray-700);--form-check-input-background-color:var(--primary-300);--form-check-input-checked-border-color:var(--primary-300);--form-check-input-checked-bg-image:url("data:image/svg+xml,")}.form-label,.form-check-label{font-weight:700;font-size:14px}.form-control{border:1px solid var(--form-border-color);font-size:14px;line-height:22px;border-radius:4px;color:var(--text-default)!important;background-color:var(--body-bg);text-align:left}.form-control:focus{border-color:var(--primary);box-shadow:none}.form-control[readonly]{background-color:var(--white)}.form-control:disabled{background-color:var(--gray-300)}.form-control::placeholder{color:var(--form-control-placeholder-color)}.form-control:focus{color:var(--form-control-focus-color);border-color:var(--form-control-focus-border-color);background-color:var(--form-control-focus-bg-color)}.form-check-input{border:1px solid var(--form-check-input-border-color);background-color:var(--body-bg)}.form-check-input:focus{border-color:var(--primary);box-shadow:none}.form-check-input.form-check-input:checked{background-color:var(--form-check-input-background-color);border-color:var(--form-check-input-checked-border-color);--bs-form-check-bg-image:var(--form-check-input-checked-bg-image)}:root{--table-hover-bg:rgba(0, 0, 0, 0.075)}[data-dark-mode]{--table-hover-bg:rgba(255, 255, 255, 0.075)}table td{border-top:1px solid var(--card-border-color)}table td,table th{border-right:1px solid var(--card-border-color);padding:8px 12px}table td:last-child,table th:last-child{border-right:0}.table{--bs-table-color:var(--text-default);--bs-table-bg:transparent;--bs-table-accent-bg:none;--bs-table-striped-color:var(--text-default);--bs-table-striped-bg:var(--alert-primary-bg);--bs-table-hover-color:var(--text-default);--bs-table-hover-bg:var(--table-hover-bg);color:var(--text-default);font-size:.875rem;border-collapse:separate;border-spacing:0}.table>:not(caption)>*>*{padding:1rem;border-bottom-width:0}.table tbody{vertical-align:top}.table tbody td{border-top:inherit;border-bottom-width:1px}.table tbody td:first-child{border-left-width:1px}.table tbody td:last-child{border-right:inherit;border-right-width:1px}.table tbody tr:first-child td{border-top-width:1px}.table tbody tr:first-child td:first-child{border-top-left-radius:4px}.table tbody tr:first-child td:last-child{border-top-right-radius:4px}.table tbody tr:last-child td:first-child{border-bottom-left-radius:4px}.table tbody tr:last-child td:last-child{border-bottom-right-radius:4px}.table td,.table th{border-right:0}.table thead,.table tbody,.table tfoot,.table tr,.table td,.table th{border-color:var(--card-border-color)}.table thead tr th{text-transform:uppercase;background:0 0}.table-sm>:not(caption)>*>*,.table-striped>:not(caption)>*>*,.table-borderless>:not(caption)>*>*,.table-hover>:not(caption)>*>*,.table-striped-columns>:not(caption)>*>*{padding:.6rem}@media(max-width:1199px){.table-sm>:not(caption)>*>*,.table-striped>:not(caption)>*>*,.table-borderless>:not(caption)>*>*,.table-hover>:not(caption)>*>*,.table-striped-columns>:not(caption)>*>*{padding:.6rem .25rem}}.table-xs>:not(caption)>*>*{padding:.25rem}.table-borderless>:not(caption)>*>*{border-bottom-width:0!important}.table-borderless td:first-child{border-left-width:0!important}.table-borderless td:last-child{border-right-width:0!important}.table-borderless tr:first-child td{border-top-width:0!important}.table-striped-columns>:not(caption)>tr>th:nth-child(2n){--bs-table-striped-bg:none}.table-responsive{display:block;width:100%;overflow-x:auto}:root{--nav-tabs-border-width:none;--nav-tabs-link-active-bg:none;--nav-tabs-link-active-color:var(--text-default);--nav-tabs-border-color:var(--gray-400)}[data-dark-mode]{--nav-tabs-border-color:var(--gray-800)}.nav-tabs{--bs-nav-tabs-border-width:var(--nav-tabs-border-width);--bs-nav-tabs-link-active-bg:var(--nav-tabs-link-active-bg);--bs-nav-tabs-link-active-color:var(--nav-tabs-link-active-color);border-bottom:1px solid var(--nav-tabs-border-color);margin-bottom:.8rem}.nav-tabs .nav-link{color:var(--text-muted)!important;margin-bottom:-1px}.nav-tabs .nav-link:hover{text-decoration:none!important}.nav-tabs .nav-link.active{border-bottom:2px solid var(--content-link-color);color:var(--content-link-color)!important}.tab-content{margin-bottom:.8rem}:root{--tooltip-bg:var(--white);--tooltip-border-color:var(--content-link-color);--tooltip-drop-shadow-color:var(--gray-500);--tooltip-link-color:var(--gray-700)}[data-dark-mode]{--tooltip-bg:var(--dark-alt);--tooltip-border-color:var(--primary-300);--tooltip-drop-shadow-color:var(--gray-900);--tooltip-link-color:var(--gray-500)}.tooltip{--bs-tooltip-bg:var(--tooltip-bg);--bs-tooltip-opacity:1.0;--bs-tooltip-font-size:0.575rem;--bs-tooltip-max-width:300px}.tooltip-inner{text-align:left;border:2px solid var(--tooltip-border-color);border-width:2px 2px 2px 8px;filter:drop-shadow(4px 4px 5px var(--tooltip-drop-shadow-color));--bs-tooltip-border-radius:4px}.tooltip-inner a{color:var(--tooltip-link-color);font-size:.85rem;line-height:1.55}.tooltip-inner a p{margin-bottom:.2rem;color:var(--text-muted);font-weight:600}.tooltip-inner a strong{font-size:.975rem;line-height:2;color:var(--text-default)}:root{--feature-icon-color:var(--primary);--feature-icon-faint:var(--gray-200);--feature-link-hover-bg-color:var(--primary)}[data-dark-mode]{--feature-icon-color:var(--primary-300);--feature-icon-faint:var(--gray-900);--feature-link-hover-bg-color:var(--gray-900)}.features .icon{background:rgba(var(--primary),.1)}.features .image:before{background:linear-gradient(45deg,transparent,rgba(var(--primary),.1))}.features .read-more,.features .color{color:var(--primary)!important}.features.feature-clean .icons{color:var(--primary)!important}.features.feature-clean .icons i{background-color:rgba(var(--primary),.1)}.features.feature-clean .title:hover{color:var(--primary-800)!important}.features.feature-full-bg .icon-color{color:var(--feature-icon-color)!important}.features.feature-full-bg .icon-faint{color:var(--feature-icon-faint)!important;transition:all .5s ease}.features.feature-full-bg:hover{background-color:var(--feature-link-hover-bg-color)!important}.features.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(var(--primary),.15));color:var(--primary)}.features.course-feature .full-img{color:var(--primary)!important}.features.explore-feature:hover .icons,.features.explore-feature:hover .title{color:var(--primary)!important}.features .btn-soft{background-color:rgba(var(--primary),.05)!important;border:1px solid rgba(var(--primary),.05)!important;color:var(--primary)!important;box-shadow:0 3px 5px rgba(var(--primary),.1)}.features .btn-soft:hover,.features .btn-soft:focus,.features .btn-soft:active,.features .btn-soft.active,.features .btn-soft.focus{background-color:var(--primary)!important;border-color:var(--primary)!important;color:var(--white)!important}.features:hover .image:before{background:rgba(var(--primary),.1)}.features .image:before{content:"";position:absolute;bottom:5px;left:5px;width:64px;height:64px;border-radius:6px;transform:rotate(33.75deg)}.features.feature-clean{background-color:var(--body-bg)}.features.feature-clean .icons i{height:65px;width:65px;line-height:65px}.features .ride-image{transform:rotate(-45deg)}.features .ride-image img{border-radius:100% 100% 100% 0}.features.key-feature{transition:all .3s ease}.features.key-feature:hover{transform:scale(1.05);box-shadow:var(--shadow-md)!important}.features:hover .image:before{animation:spinner-border 5s linear infinite!important}.features.feature-full-bg{transition:all .5s ease}.features.feature-full-bg .big-icon{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;opacity:.015;font-size:180px}.features.feature-full-bg:hover{box-shadow:var--(shadow-lg);color:var(--white)!important}.features.feature-full-bg:hover .icon-color i,.features.feature-full-bg:hover .badge,.features.feature-full-bg:hover .para{color:var(--white)!important;opacity:.5}.features.feature-full-bg:hover .content,.features.feature-full-bg:hover .icon-color{z-index:2}.features.feature-full-bg:hover .big-icon{opacity:.05}.features.feature-full-bg:hover .readmore{color:var(--white)!important}.features.course-feature{transition:all .5s ease}.features.course-feature .full-img{position:absolute;bottom:50%;transform:translateY(50%);left:0;right:0;opacity:0;margin:0 auto;z-index:-2;transition:all .5s ease;font-size:250px}.features.course-feature:hover{transform:translateY(-10px)}.features.course-feature:hover .full-img{opacity:.05}.features.explore-feature{transition:all .5s ease}.features.explore-feature .icons{height:80px;width:80px;line-height:80px;transition:all .5s ease}.features.explore-feature:hover{box-shadow:var(--shadow-lg)!important}.features .title,.key-feature .title{font-size:18px!important}.features .icon,.key-feature .icon{height:45px;min-width:45px;display:flex;align-items:center;justify-content:center}.fw-medium{font-weight:var(--fw-medium)}.section{padding:100px 0;position:relative}@media(max-width:768px){.section{padding:60px 0}}.bg-overlay{background-color:var(--overlay);position:absolute;top:0;right:0;left:0;bottom:0;width:100%;height:100%}.bg-overlay-white{background-color:var(--bg-overlay-white)}.title-heading{line-height:26px}.title-heading .heading{font-size:45px!important;letter-spacing:1px}@media(max-width:768px){.title-heading .heading{font-size:35px!important}}.title-heading .para-desc{font-size:18px}.section-title .title{letter-spacing:.5px;font-size:30px!important}@media(max-width:768px){.section-title .title{font-size:24px!important}}.para-desc{max-width:600px}.mt-100{margin-top:100px}.back-to-top{position:fixed;z-index:99;bottom:30px;right:30px;display:none;transition:all .5s ease;height:36px;width:36px;line-height:0;padding:0;border-radius:4px;border:none;background:var(--primary)}.back-to-top svg{transition:all .5s ease}.back-to-top:hover{transform:rotate(45deg)}.back-to-top:hover svg{transform:rotate(-45deg)!important}.opacity-05{opacity:.05}.opacity-1{opacity:.1}.opacity-2{opacity:.2}.opacity-3{opacity:.3}.opacity-4{opacity:.4}.opacity-5{opacity:.5}.opacity-6{opacity:.6}.opacity-7{opacity:.7}.opacity-075{opacity:.075}.opacity-8{opacity:.8}.opacity-9{opacity:.9}.back-to-home{position:fixed;top:4%;right:2%;z-index:1}.sticky-bar{position:sticky;top:80px}[class^=uil-]:before,[class*=" uil-"]:before{margin:0}.uim-svg{vertical-align:0!important}.social-icon li a{color:var(--dark);border:1px solid var(--dark);height:32px;width:32px;display:inline-flex;justify-content:center;align-items:center;text-align:center;transition:all .4s ease;overflow:hidden;position:relative}.social-icon li a .fea-social{stroke-width:2}.social-icon li a:hover{background-color:var(--primary);border-color:var(--primary)!important;color:var(--foot-social-color-white)!important}.social-icon li a:hover .fea-social{fill:var(--primary)}.social-icon.social li a{color:var(--foot-social-color);border-color:var(--social-border-color)}.social-icon.foot-social-icon li a{color:var(--foot-social-color);border-color:hsl(var(--footer),100%,calc(var(--l) + 5%))}.rounded{border-radius:6px!important}.rounded-top{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-left{border-top-left-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-bottom{border-bottom-left-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-right{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-md{border-radius:10px!important}.rounded-lg{border-radius:30px!important}.bg-white-color{background:var(--bg-white-color)}.d-flex .flex-1{flex:1}.material-icons{font-family:material symbols outlined;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}span.size-16,i.size-16{font-size:16px!important;font-variation-settings:'OPSZ' 16}span.size-20,i.size-20{font-size:20px!important;font-variation-settings:'OPSZ' 20}span.size-24,i.size-24{font-size:24px!important;font-variation-settings:'OPSZ' 24}span.size-40,i.size-40{font-size:40px!important;font-variation-settings:'OPSZ' 40}span.size-48,i.size-48{font-size:48px!important;font-variation-settings:'OPSZ' 48}.anchor{visibility:hidden}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}:root{--prism-code-color:#657b83;--prism-code-bg:#fdf6e3;--prism-code-scrollbar-thumb-color:var(--gray-400);--prism-line-highlight-bg-color:#e9967a;--prism-copy-btn-bg-hover-color:var(--gray-700)}[data-dark-mode]{--prism-code-color:#dee2e6;--prism-code-bg:var(--gray-900);--prism-code-scrollbar-thumb-color:var(--gray-600);--prism-line-highlight-bg-color:var(--gray-600);--prism-copy-btn-bg-hover-color:var(--white)}code[class*=language-],pre[class*=language-]{color:var(--prism-code-color);background:var(--prism-code-bg)!important}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#073642}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#073642}pre[class*=language-]{overflow:auto;border-radius:0 0 4px 4px}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.line-highlight:before,.line-highlight[data-end]:after{background-color:var(--prism-line-highlight-bg-color)}[data-copy-state=copy] span:empty::before{background-color:var(--gray-500)}[data-copy-state=copy] span:empty:hover::before{background-color:var(--prism-copy-btn-bg-hover-color)}[data-copy-state=copy-success] span:empty::before{background-color:var(--emerald-400)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}code{color:var(--text-default)}.docs-content .main-content pre{background-color:var(--prism-code-bg)!important}code[class*=language-],pre[class*=language-]{border:none!important;font-family:Fira Code;font-size:.8rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scrollbar-width:thin;scrollbar-color:var(--prism-code-scrollbar-thumb-color)var(--prism-code-bg)}code[class*=language-]::-webkit-scrollbar,pre[class*=language-]::-webkit-scrollbar{height:5px;background:var(--prism-code-bg)}code[class*=language-]::-webkit-scrollbar-thumb,pre[class*=language-]::-webkit-scrollbar-thumb{background:var(--prism-code-scrollbar-thumb-color)}pre[data-line]{position:relative;padding:0!important}.line-highlight:first-of-type{margin-top:0}.line-highlight:last-of-type{margin-top:0!important}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:0;background:rgba(153,122,102,8%);background:linear-gradient(to right,rgba(153,122,102,.1) 70%,rgba(153,122,102,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.14em;left:.6em;min-width:1.5em;padding:0 .5em;color:#f5f2f0;font:700 95%/1.3 sans-serif;text-align:center;vertical-align:.3em;border-radius:4px;text-shadow:none}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.14em}.line-numbers .line-highlight{margin-top:0!important}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)}pre[class*=language-].line-numbers{position:relative;padding-left:0;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit;padding:.3rem 3rem 1.25rem!important}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:.4em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:var(--gray-400);display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative;margin:16px 0;padding-top:1.25rem!important;background-color:var(--prism-code-bg);border-radius:4px}div.prism-codeblock.hl_lines .code-toolbar{padding-top:1.25rem!important}div.prism-shortcode.data-line .code-toolbar{padding-top:1.25rem!important}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.4em;right:.4em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>button.copy-to-clipboard-button{box-shadow:none;background:var(--prism-code-bg);opacity:.9}[data-copy-state=copy] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M9 43.95q-1.2 0-2.1-.9-.9-.9-.9-2.1V10.8h3v30.15h23.7v3Zm6-6q-1.2 0-2.1-.9-.9-.9-.9-2.1v-28q0-1.2.9-2.1.9-.9 2.1-.9h22q1.2 0 2.1.9.9.9.9 2.1v28q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h22v-28H15v28Zm0 0v-28 28Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M9 43.95q-1.2 0-2.1-.9-.9-.9-.9-2.1V10.8h3v30.15h23.7v3Zm6-6q-1.2 0-2.1-.9-.9-.9-.9-2.1v-28q0-1.2.9-2.1.9-.9 2.1-.9h22q1.2 0 2.1.9.9.9.9 2.1v28q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h22v-28H15v28Zm0 0v-28 28Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;display:block;height:24px;width:24px}[data-copy-state=copy-success] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M18.9 35.7 7.7 24.5l2.15-2.15 9.05 9.05 19.2-19.2 2.15 2.15Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M18.9 35.7 7.7 24.5l2.15-2.15 9.05 9.05 19.2-19.2 2.15 2.15Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;display:block;height:24px;width:24px}[data-copy-state=copy-error] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;background-color:var(--cardinal-300);display:block;height:24px;width:24px}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:4px;background:rgba(224,224,224,.2);box-shadow:0 2px rgba(0,0,0,.2);border-radius:4px}div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus{color:inherit;text-decoration:none}.token.treeview-part .entry-line{position:relative;text-indent:-99em;display:inline-block;vertical-align:top;width:1.2em}.token.treeview-part .entry-line:before,.token.treeview-part .line-h:after{content:"";position:absolute;top:0;left:50%;width:50%;height:100%}.token.treeview-part .line-h:before,.token.treeview-part .line-v:before{border-left:1px solid #ccc}.token.treeview-part .line-v-last:before{height:50%;border-left:1px solid #ccc;border-bottom:1px solid #ccc}.token.treeview-part .line-h:after{height:50%;border-bottom:1px solid #ccc}.token.treeview-part .entry-name{position:relative;display:inline-block;vertical-align:top}.token.treeview-part .entry-name.dotfile{opacity:.5}@font-face{font-family:prismtreeview;src:url(data:application/font-woff;base64,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)format("woff")}.token.treeview-part .entry-name:before{content:"\ea01";font-family:prismtreeview;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:2.5ex;display:inline-block}.token.treeview-part .entry-name.dir:before{content:"\ea02"}.token.treeview-part .entry-name.ext-bmp:before,.token.treeview-part .entry-name.ext-eps:before,.token.treeview-part .entry-name.ext-gif:before,.token.treeview-part .entry-name.ext-jpe:before,.token.treeview-part .entry-name.ext-jpg:before,.token.treeview-part .entry-name.ext-jpeg:before,.token.treeview-part .entry-name.ext-png:before,.token.treeview-part .entry-name.ext-svg:before,.token.treeview-part .entry-name.ext-tiff:before{content:"\ea03"}.token.treeview-part .entry-name.ext-cfg:before,.token.treeview-part .entry-name.ext-conf:before,.token.treeview-part .entry-name.ext-config:before,.token.treeview-part .entry-name.ext-csv:before,.token.treeview-part .entry-name.ext-ini:before,.token.treeview-part .entry-name.ext-log:before,.token.treeview-part .entry-name.ext-md:before,.token.treeview-part .entry-name.ext-nfo:before,.token.treeview-part .entry-name.ext-txt:before{content:"\ea06"}.token.treeview-part .entry-name.ext-asp:before,.token.treeview-part .entry-name.ext-aspx:before,.token.treeview-part .entry-name.ext-c:before,.token.treeview-part .entry-name.ext-cc:before,.token.treeview-part .entry-name.ext-cpp:before,.token.treeview-part .entry-name.ext-cs:before,.token.treeview-part .entry-name.ext-css:before,.token.treeview-part .entry-name.ext-h:before,.token.treeview-part .entry-name.ext-hh:before,.token.treeview-part .entry-name.ext-htm:before,.token.treeview-part .entry-name.ext-html:before,.token.treeview-part .entry-name.ext-jav:before,.token.treeview-part .entry-name.ext-java:before,.token.treeview-part .entry-name.ext-js:before,.token.treeview-part .entry-name.ext-php:before,.token.treeview-part .entry-name.ext-rb:before,.token.treeview-part .entry-name.ext-xml:before{content:"\ea07"}.token.treeview-part .entry-name.ext-7z:before,.token.treeview-part .entry-name.ext-bz:before,.token.treeview-part .entry-name.ext-bz2:before,.token.treeview-part .entry-name.ext-gz:before,.token.treeview-part .entry-name.ext-rar:before,.token.treeview-part .entry-name.ext-tar:before,.token.treeview-part .entry-name.ext-tgz:before,.token.treeview-part .entry-name.ext-zip:before{content:"\ea08"}.token.treeview-part .entry-name.ext-aac:before,.token.treeview-part .entry-name.ext-au:before,.token.treeview-part .entry-name.ext-cda:before,.token.treeview-part .entry-name.ext-flac:before,.token.treeview-part .entry-name.ext-mp3:before,.token.treeview-part .entry-name.ext-oga:before,.token.treeview-part .entry-name.ext-ogg:before,.token.treeview-part .entry-name.ext-wav:before,.token.treeview-part .entry-name.ext-wma:before{content:"\ea04"}.token.treeview-part .entry-name.ext-avi:before,.token.treeview-part .entry-name.ext-flv:before,.token.treeview-part .entry-name.ext-mkv:before,.token.treeview-part .entry-name.ext-mov:before,.token.treeview-part .entry-name.ext-mp4:before,.token.treeview-part .entry-name.ext-mpeg:before,.token.treeview-part .entry-name.ext-mpg:before,.token.treeview-part .entry-name.ext-ogv:before,.token.treeview-part .entry-name.ext-webm:before{content:"\ea05"}.token.treeview-part .entry-name.ext-pdf:before{content:"\ea09"}.token.treeview-part .entry-name.ext-xls:before,.token.treeview-part .entry-name.ext-xlsx:before{content:"\ea0a"}.token.treeview-part .entry-name.ext-doc:before,.token.treeview-part .entry-name.ext-docm:before,.token.treeview-part .entry-name.ext-docx:before{content:"\ea0c"}.token.treeview-part .entry-name.ext-pps:before,.token.treeview-part .entry-name.ext-ppt:before,.token.treeview-part .entry-name.ext-pptx:before{content:"\ea0b"}:root{--flexsearch-container-bg-color:var(--gray-100);--flexsearch-after-bg-color:var(--primary);--flexsearch-after-color:var(--white);--flexsearch-button-hover-bg-color:none;--flexsearch-key-bg-color:var(--primary);--flexsearch-key-color:#fff;--flexsearch-suggestion-bg-color:var(--white);--flexsearch-suggestion-link-hover-bg-color:#f5f6f7;--flexsearch-suggestion-title-color:var(--primary);--flexsearch-suggestion-title-border-color:var(--gray-300);--flexsearch-suggestion-desc-color:var(--text-default)}[data-dark-mode]{--flexsearch-container-bg-color:var(--dark-secondary);--flexsearch-after-bg-color:hsl(var(--primary-hsl),0.15);--flexsearch-after-color:var(--primary-200);--flexsearch-button-hover-bg-color:var(--black);--flexsearch-key-bg-color:hsl(var(--primary-hsl), 0.15);--flexsearch-key-color:var(--primary-200);--flexsearch-suggestion-bg-color:var(--dark-secondary);--flexsearch-suggestion-link-hover-bg-color:var(--gray-800);--flexsearch-suggestion-title-color:var(--primary-200);--flexsearch-suggestion-title-border-color:var(--gray-700);--flexsearch-suggestion-desc-color:var(--gray-300)}#FlexSearchCollapse{transition:.05s ease;width:fit-content}.flexsearch-container{background-color:var(--flexsearch-container-bg-color);padding:.8rem}.flexsearch-container .form-control{border:2px solid var(--primary);font-size:1.2rem}@media(min-width:768px){.flexsearch-container{border-radius:0 0 4px 0}.flexsearch{min-width:500px;width:500px}}.flexsearch-keymap{padding:0 0 .8rem .5rem;list-style:none;display:flex}.flexsearch-keymap .flexsearch-button-cmd-key{height:20px;width:30px}.flexsearch-keymap li:not(:last-of-type){margin-right:.8rem}.flexsearch-keymap li{align-items:center;display:flex}@media(max-width:768px){.flexsearch-keymap{display:none}}.flexsearch-key-label{color:var(--form-control-placeholder-color);font-size:.75em;line-height:1.6em}.flexsearch-button-keys{display:flex;min-width:calc(40px + .8em)}.flexsearch-button-cmd-key{align-items:center;background:var(--flexsearch-key-bg-color);border-radius:3px;color:var(--flexsearch-key-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;border:0;width:56px}.flexsearch-button-key{align-items:center;background:var(--flexsearch-key-bg-color);border-radius:3px;color:var(--flexsearch-key-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0;position:relative;border:0;width:20px;font-size:11px}#flexsearch-button{display:flex;height:36px;padding:0 8px;margin:0 0 0 16px;font-weight:400;align-items:center;justify-content:space-between;border-radius:4px}#flexsearch-button .flexsearch-button-placeholder{color:var(--form-control-placeholder-color)}#flexsearch-button:hover{background:var(--flexsearch-button-hover-bg-color)!important}#flexsearch-button:hover .flexsearch-button-placeholder{color:var(--text-default)}@media(min-width:992px){.flexsearch::after{right:.5125rem}}#suggestions{position:absolute;background-color:var(--flexsearch-suggestion-bg-color);left:0;max-height:70vh;overflow-y:auto;scrollbar-width:thin;margin-top:.5rem;max-width:calc(100vw - .15rem);z-index:999}#suggestions::-webkit-scrollbar{width:5px}#suggestions::-webkit-scrollbar-track{background:0 0}#suggestions::-webkit-scrollbar-thumb{background-color:rgba(155,155,155,.5);border-radius:2px;border:transparent}@media(min-width:992px){#suggestions{left:0}}#suggestions a,.suggestion__no-results{padding:.75rem;margin:0 .5rem}#suggestions a{display:block;text-decoration:none}#suggestions a:focus{background:var(--flexsearch-suggestion-link-hover-bg-color);border-radius:4px;outline:0}#suggestions div:first-child{margin-top:.5rem}#suggestions div:last-child{margin-bottom:.5rem}#suggestions a:hover{background:var(--flexsearch-suggestion-link-hover-bg-color);border-radius:4px}#suggestions span{display:flex;font-size:1rem}.suggestion__title{font-weight:700;color:var(--flexsearch-suggestion-title-color)}.suggestion__description,.suggestion__no-results{color:var(--flexsearch-suggestion-desc-color)}@media(min-width:992px){#suggestions{width:500px;max-width:500px}#suggestions a{display:flex}.suggestion__title{width:9rem;padding-right:1rem;border-right:1px solid var(--flexsearch-suggestion-title-border-color);display:inline-block;text-align:left}.suggestion__description{width:20.1rem;padding-left:1rem}}.docs-content .main-content pre.mermaid{background-color:initial!important;text-align:center!important}.docs-content .main-content pre.mermaid .messageText{fill:var(--text-default)!important}.docs-content .main-content pre.mermaid .messageLine0,.docs-content .main-content pre.mermaid .messageLine1{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid #arrowhead path,.docs-content .main-content pre.mermaid #crosshead path{fill:var(--text-default)!important;stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .edgePaths path{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .marker{fill:var(--text-default)!important;stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .grid .tick{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .grid .tick text{fill:var(--text-default)!important}.docs-content .main-content pre.mermaid line{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid text{fill:var(--text-default)!important} \ No newline at end of file diff --git a/public/docs/software-catalog/bundles/index.html b/public/docs/software-catalog/bundles/index.html index b443b8a..f7da774 100644 --- a/public/docs/software-catalog/bundles/index.html +++ b/public/docs/software-catalog/bundles/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m - + @@ -72,7 +72,7 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m - + @@ -96,7 +96,7 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m
  • - + article Overview @@ -116,7 +116,7 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -690,7 +690,7 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m - + @@ -1349,7 +1349,7 @@ The Federated Core Provisioner can spin up Federated Cores based on a software m href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/software-catalog/federated-commerce/index.html b/public/docs/software-catalog/federated-commerce/index.html index ae26f0c..62e60a8 100644 --- a/public/docs/software-catalog/federated-commerce/index.html +++ b/public/docs/software-catalog/federated-commerce/index.html @@ -24,12 +24,12 @@ - - - - - - + + + + + + - + - + + @@ -86,7 +86,7 @@ In addition to software, Federated provides essential services to customers such - + @@ -110,7 +110,7 @@ In addition to software, Federated provides essential services to customers such
  • - + article Overview @@ -130,7 +130,7 @@ In addition to software, Federated provides essential services to customers such -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -145,47 +145,47 @@ In addition to software, Federated provides essential services to customers such -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -205,17 +205,17 @@ In addition to software, Federated provides essential services to customers such -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -235,22 +235,22 @@ In addition to software, Federated provides essential services to customers such -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -270,7 +270,7 @@ In addition to software, Federated provides essential services to customers such -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -290,12 +290,12 @@ In addition to software, Federated provides essential services to customers such -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -320,22 +320,22 @@ In addition to software, Federated provides essential services to customers such -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -355,22 +355,22 @@ In addition to software, Federated provides essential services to customers such -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -390,12 +390,12 @@ In addition to software, Federated provides essential services to customers such -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -682,7 +682,7 @@ In addition to software, Federated provides essential services to customers such - + @@ -1341,7 +1341,7 @@ In addition to software, Federated provides essential services to customers such href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/software-catalog/federated-omnimedia/index.html b/public/docs/software-catalog/federated-omnimedia/index.html index b0ad4a8..5966267 100644 --- a/public/docs/software-catalog/federated-omnimedia/index.html +++ b/public/docs/software-catalog/federated-omnimedia/index.html @@ -24,21 +24,21 @@ - - - - - - + + + + + + - + - + + @@ -74,7 +74,7 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to - + @@ -98,7 +98,7 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to
  • - + article Overview @@ -118,7 +118,7 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -133,47 +133,47 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -193,17 +193,17 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -223,22 +223,22 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -258,7 +258,7 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -278,12 +278,12 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -308,22 +308,22 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -343,22 +343,22 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -378,12 +378,12 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -672,7 +672,7 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to - + @@ -1331,7 +1331,7 @@ The purpose of Federated Omnimedia is to give these sorts of customers access to href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/software-catalog/index.html b/public/docs/software-catalog/index.html index 9d8d05c..91a8653 100644 --- a/public/docs/software-catalog/index.html +++ b/public/docs/software-catalog/index.html @@ -24,17 +24,17 @@ - - - - - - + + + + + + - - + + @@ -46,7 +46,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -92,7 +92,7 @@
  • - + article Overview @@ -112,7 +112,7 @@ -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -127,47 +127,47 @@ -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -187,17 +187,17 @@ -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -217,22 +217,22 @@ -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -252,7 +252,7 @@ -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -272,12 +272,12 @@ -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -302,22 +302,22 @@ -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -337,22 +337,22 @@ -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -372,12 +372,12 @@ -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -560,7 +560,7 @@
    - +
    article @@ -577,7 +577,7 @@
    - +
    article @@ -594,7 +594,7 @@
    - +
    article @@ -611,7 +611,7 @@
    - +
    article @@ -685,7 +685,7 @@ - + @@ -1344,7 +1344,7 @@ href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/docs/software-catalog/index.xml b/public/docs/software-catalog/index.xml index 4caba70..0d59112 100644 --- a/public/docs/software-catalog/index.xml +++ b/public/docs/software-catalog/index.xml @@ -2,39 +2,39 @@ Software Catalog on Federated Computer Enterprise - http://enterprise.federated.computer/docs/software-catalog/ + https://enterprise.federated.computer/docs/software-catalog/ Recent content in Software Catalog on Federated Computer Enterprise Hugo en-us Mon, 25 Aug 2025 12:39:33 -0600 - + Software Catalog - http://enterprise.federated.computer/docs/software-catalog/software-catalog/ + https://enterprise.federated.computer/docs/software-catalog/software-catalog/ Mon, 25 Aug 2025 12:39:33 -0600 - http://enterprise.federated.computer/docs/software-catalog/software-catalog/ + https://enterprise.federated.computer/docs/software-catalog/software-catalog/ <p>Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.</p> <p>This catalog describes the software offerings available to customers at <a href="https://www.federated.computer/" rel="external" target="_blank">https://www.federated.computer<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z"/></svg></a> today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.</p> Bundles - http://enterprise.federated.computer/docs/software-catalog/bundles/ + https://enterprise.federated.computer/docs/software-catalog/bundles/ Mon, 25 Aug 2025 12:39:03 -0600 - http://enterprise.federated.computer/docs/software-catalog/bundles/ - <p>Bundles are great ways to package software for use by a type of business, a size of business, or a job function, among many other go-to-market motivations for bundling software.</p> <p>The Federated Core <a href="http://enterprise.federated.computer/docs/federated-core-platform/provisioner.md">Provisioner</a> can spin up Federated Cores based on a software manifest that can be created &ldquo;just in time&rdquo; or based on a predefined collection of software and virtual machine. This allows you to fully manage the the expects margins for a sale.</p> + https://enterprise.federated.computer/docs/software-catalog/bundles/ + <p>Bundles are great ways to package software for use by a type of business, a size of business, or a job function, among many other go-to-market motivations for bundling software.</p> <p>The Federated Core <a href="https://enterprise.federated.computer/docs/federated-core-platform/provisioner.md">Provisioner</a> can spin up Federated Cores based on a software manifest that can be created &ldquo;just in time&rdquo; or based on a predefined collection of software and virtual machine. This allows you to fully manage the the expects margins for a sale.</p> Federated Commerce - http://enterprise.federated.computer/docs/software-catalog/federated-commerce/ + https://enterprise.federated.computer/docs/software-catalog/federated-commerce/ Mon, 25 Aug 2025 12:39:14 -0600 - http://enterprise.federated.computer/docs/software-catalog/federated-commerce/ + https://enterprise.federated.computer/docs/software-catalog/federated-commerce/ <p>Federated Commerce is a bundle designed by Federated Computer for customers wanting to sell goods on the internet.</p> <p>Federated Commerce delivers</p> <ol> <li>&ldquo;Unbreakable&rdquo; Wordpress and WooCommerce add-ons;</li> <li>Federated Core &ldquo;Best&rdquo; bundle (including video conferencing, mailing list, etc);</li> <li>Eversync: our catalog management software for WooCommerce and Shopify;</li> <li><em>Dedicated</em> cpu virtual machines.</li> </ol> <p>In addition to software, Federated provides essential services to customers such as product imports and updates using Federated Eversync, three hour response and resolution times for issues, proviate channels for talking to support, Wordpress theme and Listmonk template support, shopping ads consultations, and a dedicated account manager.</p> Federated Omnimedia - http://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ + https://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ Mon, 25 Aug 2025 12:39:23 -0600 - http://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ - <p>Federated Omnimedia is a comprehensive bundle offered by Federated Computer to customers. It demonstrates what is possible.</p> <p>Federated Omnimedia is a complete offering for those with large digital communities. Examples are publishers, video channels, podcast channels, communities of interest.</p> <p>The purpose of Federated Omnimedia is to give these sorts of customers access to every sort of tool required to successfully monetize the community. In addition to <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/software-catalog/federated-commerce/'><p>SOFTWARE CATALOG</p> + https://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ + <p>Federated Omnimedia is a comprehensive bundle offered by Federated Computer to customers. It demonstrates what is possible.</p> <p>Federated Omnimedia is a complete offering for those with large digital communities. Examples are publishers, video channels, podcast channels, communities of interest.</p> <p>The purpose of Federated Omnimedia is to give these sorts of customers access to every sort of tool required to successfully monetize the community. In addition to <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/software-catalog/federated-commerce/'><p>SOFTWARE CATALOG</p> diff --git a/public/docs/software-catalog/software-catalog/index.html b/public/docs/software-catalog/software-catalog/index.html index c92d69d..4bba9e5 100644 --- a/public/docs/software-catalog/software-catalog/index.html +++ b/public/docs/software-catalog/software-catalog/index.html @@ -24,20 +24,20 @@ - - - - - - + + + + + + - + - + @@ -50,7 +50,7 @@ This catalog describes the software offerings available to customers at https:// - + @@ -72,7 +72,7 @@ This catalog describes the software offerings available to customers at https:// - + @@ -96,7 +96,7 @@ This catalog describes the software offerings available to customers at https://
  • - + article Overview @@ -116,7 +116,7 @@ This catalog describes the software offerings available to customers at https:// -
  • Federated Core Platform
  • +
  • Federated Core Platform
  • @@ -131,47 +131,47 @@ This catalog describes the software offerings available to customers at https:// -
  • Provisioner
  • +
  • Provisioner
  • -
  • Core Server
  • +
  • Core Server
  • -
  • Core Mini
  • +
  • Core Mini
  • -
  • Unified Storage
  • +
  • Unified Storage
  • -
  • Unified Messaging
  • +
  • Unified Messaging
  • -
  • Authentication
  • +
  • Authentication
  • -
  • Dashboard
  • +
  • Dashboard
  • -
  • Computer
  • +
  • Computer
  • -
  • Core Desktop
  • +
  • Core Desktop
  • @@ -191,17 +191,17 @@ This catalog describes the software offerings available to customers at https:// -
  • Core Scanner
  • +
  • Core Scanner
  • -
  • Update and Upgrade
  • +
  • Update and Upgrade
  • -
  • Monitor and Fix
  • +
  • Monitor and Fix
  • @@ -221,22 +221,22 @@ This catalog describes the software offerings available to customers at https:// -
  • Core Workflow Intelligence
  • +
  • Core Workflow Intelligence
  • -
  • Adding Software to Federated Core
  • +
  • Adding Software to Federated Core
  • -
  • Why Open Source Projects Work With Federated
  • +
  • Why Open Source Projects Work With Federated
  • -
  • Whitelabel
  • +
  • Whitelabel
  • @@ -256,7 +256,7 @@ This catalog describes the software offerings available to customers at https:// -
  • Account Management and Billing
  • +
  • Account Management and Billing
  • @@ -276,12 +276,12 @@ This catalog describes the software offerings available to customers at https:// -
  • Federated Management
  • +
  • Federated Management
  • -
  • Customer Service and Support
  • +
  • Customer Service and Support
  • @@ -306,22 +306,22 @@ This catalog describes the software offerings available to customers at https:// -
  • Software Catalog
  • +
  • Software Catalog
  • -
  • Bundles
  • +
  • Bundles
  • -
  • Federated Commerce
  • +
  • Federated Commerce
  • -
  • Federated Omnimedia
  • +
  • Federated Omnimedia
  • @@ -341,22 +341,22 @@ This catalog describes the software offerings available to customers at https:// -
  • Operators, Networks, Platforms
  • +
  • Operators, Networks, Platforms
  • -
  • Managed Service Provider
  • +
  • Managed Service Provider
  • -
  • Pro Customers
  • +
  • Pro Customers
  • -
  • On Line Affiliates
  • +
  • On Line Affiliates
  • @@ -376,12 +376,12 @@ This catalog describes the software offerings available to customers at https:// -
  • Federated Company Backgrounder
  • +
  • Federated Company Backgrounder
  • -
  • Roadmap
  • +
  • Roadmap
  • @@ -638,6 +638,7 @@ This catalog describes the software offerings available to customers at https://

    WooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce

    Family

    BlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE

    Immich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE

    +

    Home Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md

    Maybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE

    WGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt

    Groupware

    AppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE

    @@ -674,6 +675,7 @@ This catalog describes the software offerings available to customers at https://

    Plausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md

    Twenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE

    Snapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md

    +

    Umami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE

    Publishing

    Castopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md

    Discourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt

    GhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE

    @@ -799,7 +801,7 @@ This catalog describes the software offerings available to customers at https:// - + @@ -1458,7 +1460,7 @@ This catalog describes the software offerings available to customers at https:// href: "\/docs\/software-catalog\/software-catalog\/", title: "Software Catalog", description: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\n", - content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" + content: "Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.\nThis catalog describes the software offerings available to customers at https://www.federated.computer today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.\nAll software works with Federated Computer’s monitor and fix, update and upgrade, unified storage, and authentication technologies for simple user experience.\nEach entry has a link to the code repository for the project and the open source license.\n(Legend: Title Federated Bundles. Title Available.)\nAdministration linkAuthelia: OIDC provider. Repository: https://github.com/authelia/authelia License: https://github.com/authelia/authelia/blob/master/LICENSE\nPanel: user and group management. Email addresses. Passwords. LDAP for unified user authentication. Connects with Authelia for SSO where supported by specific softwares.\nCustomer Support and Knowledge Management linkBookstack: multi-user wiki. Includes drawing for diagrams. Repository: https://github.com/BookStackApp/BookStack License: https://github.com/BookStackApp/BookStack/blob/development/LICENSE\nDocmost: collaborative wiki editor. Repository: https://github.com/docmost/docmost License: https://github.com/docmost/docmost/blob/main/LICENSE\nFreescout: multi-user email address platform for customer support with paid plug-in capabilities. Repository: https://github.com/freescout-help-desk/freescout License: https://github.com/freescout-help-desk/freescout/blob/dist/LICENSE\nData Science linkBaserow: no-code database with application builder. Repository: https://github.com/bram2w/baserow License: https://github.com/bram2w/baserow/blob/master/LICENSE\nBriefer: data workspace with built-in private AI analyst. Repository: https://github.com/briefercloud/briefer License: https://github.com/briefercloud/briefer/blob/main/LICENSE\nJupyter Interactive Notebook: python-based documents for accessing and analyzing data. Repository: https://github.com/jupyter/notebook License: https://github.com/jupyter/notebook/blob/main/LICENSE\nMetabase: business intelligence platform. Repository: https://github.com/metabase/metabase License: https://github.com/metabase/metabase/blob/master/LICENSE-AGPL.txt\nNocoDB: no-code database. Repository: https://github.com/nocodb/nocodb License: https://github.com/nocodb/nocodb/blob/develop/LICENSE\nSuperset: modern data exploration and visualization platform. Repository: https://github.com/apache/superset License: https://github.com/apache/superset/blob/master/LICENSE.txt\neCommerce linkEversync: connects and syncs Woocommerce installations with each other and Shopify. Allows for creation of re-usable content that applied to many products and product categories. Proprietary to Federated Computer.\nMedusa: ecommerce toolbox for custom solutions. Repository: https://github.com/medusajs/medusa License: https://github.com/medusajs/medusa/blob/develop/LICENSE\nWooCommerce: ecommerce store for Wordpress. Repository: https://github.com/woocommerce/woocommerce\nFamily linkBlackCandy: multi-user music sharing. Repository: https://github.com/blackcandy-org/blackcandy License: https://github.com/blackcandy-org/blackcandy/blob/master/LICENSE\nImmich: multi-user photos and photo album. Repository: https://github.com/immich-app/immich License: https://github.com/immich-app/immich/blob/main/LICENSE\nHome Assistant: open source home automation putting local control and privacy first. Respository: https://github.com/home-assistant License: https://github.com/home-assistant/core/blob/dev/LICENSE.md\nMaybe Finance: Personal/family finance management. Repository: https://github.com/maybe-finance/maybe License: https://github.com/maybe-finance/maybe/blob/main/LICENSE\nWGER: personal workout manager. Repository: https://github.com/wger-project/wger License: https://github.com/wger-project/wger/blob/master/LICENSE.txt\nGroupware linkAppFlowy: open source Notion replacement. Repository: https://github.com/AppFlowy-IO/AppFlowy License: https://github.com/AppFlowy-IO/AppFlowy/blob/main/LICENSE\nBig Blue Button: virtual classroom. Repository: https://github.com/bigbluebutton/bigbluebutton License: https://github.com/bigbluebutton/bigbluebutton/blob/v3.0.x-release/LICENSE\nCal.com: appointment scheduler. Repository: https://github.com/calcom/cal.com License: https://github.com/calcom/cal.com/blob/main/LICENSE\nDocker Email Server: full IMAP and SMTP server. Includes automatic discovery from email clients. Repository: https://github.com/docker-mailserver/docker-mailserver License: https://github.com/docker-mailserver/docker-mailserver/blob/master/LICENSE\nDocuseal: PDF document messaging and signing. Repository: https://github.com/docusealco/docuseal License: https://github.com/docusealco/docuseal/blob/master/LICENSE\nDolibarr App Suite: ERP and CRM. Repository: https://github.com/Dolibarr/dolibarr License: https://github.com/Dolibarr/dolibarr?tab=GPL-3.0-1-ov-file#readme\nElement/Matrix: platform for end-to-end encrypted chat capable of federation with servers and users outside of the domain. Repository: Element https://github.com/element-hq/element-web Matrix https://github.com/element-hq/synapse License: Element https://github.com/element-hq/element-web/blob/develop/LICENSE-AGPL-3.0 Matrix https://github.com/element-hq/synapse/blob/develop/LICENSE-AGPL-3.0\nExcalidraw: design and drawing application for teams. Repository: https://github.com/excalidraw/excalidraw License: https://github.com/excalidraw/excalidraw/blob/master/LICENSE\nFreePBX: VOIP platform. Repository: https://github.com/orgs/FreePBX/repositories?type=all License: GNU General Public License\nJitsi: video-conferencing. Support for up to 1000s of simultaneous participants. Repository: https://github.com/jitsi/docker-jitsi-meet License: https://github.com/jitsi/docker-jitsi-meet/blob/master/LICENSE\nKaneo: open source Monday platform. Repository: https://github.com/usekaneo/kaneo License: https://github.com/usekaneo/kaneo/blob/main/LICENSE\nKimai: time tracking and time sheets. Repository: https://github.com/kimai/kimai License: https://github.com/kimai/kimai/blob/main/LICENSE\nLinkwarden: social bookmarks. Repository: https://github.com/linkwarden/linkwarden License: https://github.com/linkwarden/linkwarden/blob/main/LICENSE.md\nLoomio: team decision and collaboration platform. Repository: https://github.com/loomio/loomio License: https://github.com/loomio/loomio/blob/master/LICENSE.txt\nMoodle: course ware design and delivery. Repository: https://github.com/moodle/moodle License: https://github.com/moodle/moodle?tab=GPL-3.0-1-ov-file#readme\nNextcloud: groupware platform including calendar, contacts, files. Includes ability to add applications from third parties. Installed with Collabora. Repository: Nextcloud https://github.com/nextcloud/server Collabora https://github.com/CollaboraOnline/online License: Nextcloud https://github.com/nextcloud/server/blob/master/COPYING Collabora Mozilla Public License v2.0.\nOnlyOffice: Office365 compatible suite. Repository: https://github.com/ONLYOFFICE/server License: https://github.com/ONLYOFFICE/server/blob/master/LICENSE.txt\nOpenProject: traditional project management with Gantt and Pert charts. Repository: https://github.com/opf/openproject License: https://github.com/opf/openproject?tab=GPL-3.0-1-ov-file#readme\nPaperless: automated workflows for teams. Repository: https://github.com/paperless-ngx/paperless-ngx License: https://github.com/paperless-ngx/paperless-ngx/blob/dev/LICENSE\nPenpot: open source Figma. Repository: https://github.com/penpot/penpot License: https://github.com/penpot/penpot/blob/develop/LICENSE\nPlane: project management. Repository: https://github.com/makeplane/plane License: https://github.com/makeplane/plane/blob/preview/LICENSE.txt\nRally: schedule group meetings. Repository: https://github.com/lukevella/rallly License: https://github.com/lukevella/rallly/blob/main/LICENSE\nRoundcube: web mail. Repository: https://github.com/roundcube/roundcubemail License: https://github.com/roundcube/roundcubemail/blob/master/LICENSE\nSogo: web mail, calendar, contacts. Repository: https://github.com/Alinto/sogo License: https://github.com/Alinto/sogo/blob/master/COPYING.GPL\nMarketing and Sales linkAd Server: able to serve banner ads, or ads from Google, to Wordpress, Discourse, Castopod, or another web page including third parties. Proprietary to Federated Computer.\nDittofeed: multi-channel marketing automation including email and SMS. Repository: https://github.com/dittofeed/dittofeed License: https://github.com/dittofeed/dittofeed/blob/main/LICENSE\nEspoCRM: CRM alternative. Repository: https://github.com/espocrm/espocrm License: https://github.com/espocrm/espocrm/blob/master/LICENSE.txt\nHi.Events: event management and ticketing platform. Repository: https://github.com/HiEventsDev/Hi.Events License: https://github.com/HiEventsDev/Hi.Events/blob/develop/LICENCE\nListmonk: multi-channel marketing automation platform for mailing list and SMS message distribution. Repository: https://github.com/knadh/listmonk License: https://github.com/knadh/listmonk/blob/master/LICENSE\nMatomo: website analytics. Repository: https://github.com/matomo-org/matomo License: https://github.com/matomo-org/matomo/blob/5.x-dev/LICENSE\nMautic: marketing automation for email, SMS, Slack, Whatsapp. Includes landing page automation and many, many integrations. Repository: https://github.com/mautic/mautic License: https://github.com/mautic/mautic/blob/7.x/LICENSE.txt\nPlausible: website analytics. Repository: https://github.com/plausible/analytics License: https://github.com/plausible/analytics/blob/master/LICENSE.md\nTwenty: CRM alternative. Repository: https://github.com/twentyhq/twenty License: https://github.com/twentyhq/twenty/blob/main/LICENSE\nSnapify: open source Loom alternative for video messaging to prospects. Repository: https://github.com/MarconLP/snapify License: https://github.com/MarconLP/snapify/blob/main/LICENSE.md\nUmami: website analytics. Repository: https://github.com/umami-software/umami License: https://github.com/umami-software/umami/blob/master/LICENSE\nPublishing linkCastopod: podcasting and videocasting platform with premium content capabilities. Repository: https://github.com/ad-aures/castopod License: https://github.com/ad-aures/castopod/blob/develop/LICENSE.md\nDiscourse: forum software. That’s selling it short. Can be used a a knowledgebase, SSO, team management and calendar. Lots of great flexibility. Repository: https://github.com/discourse/discourse License: https://github.com/discourse/discourse/blob/main/LICENSE.txt\nGhostCMS: mutil-user static site generator. Repository: https://github.com/TryGhost/Ghost License: https://github.com/TryGhost/Ghost/blob/main/LICENSE\nOwncast: video and chat server for live events. Repository: https://github.com/owncast/owncast License: https://github.com/owncast/owncast/blob/develop/LICENSE\nPeertube: video streaming. Repository: https://github.com/Chocobozzz/PeerTube License: https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE\nPixelfed: open source Instagram clone. Repository: https://github.com/pixelfed/pixelfed License: https://github.com/pixelfed/pixelfed/blob/dev/LICENSE\nRevolt: open source, compatible with clients, Discord clone. Repository: https://github.com/revoltchat License: https://github.com/revoltchat/backend/blob/main/LICENSE\nVDO.ninja: connects Jitsi to OBS for video broadcasting. Repository: https://github.com/steveseguin/vdo.ninja License: https://github.com/steveseguin/vdo.ninja/blob/develop/LICENCE.md\nWebstudio: complete website creation and publishing. Repository: https://github.com/webstudio-is/webstudio License: https://github.com/webstudio-is/webstudio/blob/main/LICENSE\nWordpress: Widely used CMS. Repository: https://github.com/WordPress/WordPress License: GPL\nSecurity linkHeadscale: open source Tailscale clone for Wireguard-based overlay networks allowing for access to all Federated Computer services over a private network. Repository: https://github.com/juanfont/headscale License: https://github.com/juanfont/headscale/blob/main/LICENSE\nPowerDNS: manage DNS for the domain. Repository: https://github.com/PowerDNS/pdns License: https://github.com/PowerDNS/pdns?tab=GPL-2.0-1-ov-file#readme\nTraefik: load balancer, private network management, firewall. Repository: License:\nVaultwarden: password management with clients (from Bitwarden) for desktop, mobile, web. Repository: License:\nSoftware Development and DevOps linkCoolify: platform-as-a-service. Repository: https://github.com/coollabsio/coolify License: https://github.com/coollabsio/coolify/blob/v4.x/LICENSE\nFleetDM: agent-based device management and configuration platform. Repository: https://github.com/fleetdm/fleet License: https://github.com/fleetdm/fleet/blob/main/LICENSE\nForgejo: alternate git server. Repository: https://codeberg.org/forgejo/forgejo License: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/LICENSE\nGitea: source code management with large file support, CI/CD, automated build support. Repository: https://github.com/go-gitea/gitea License: https://github.com/go-gitea/gitea/blob/main/LICENSE\nGrafana: Data visualization. Repository: https://github.com/grafana/grafana License: https://github.com/grafana/grafana/blob/main/LICENSE\nInfisical: secrets management. Repository: https://github.com/Infisical/infisical License: https://github.com/Infisical/infisical/blob/main/LICENSE\nPrometheus: Data collection. Repository: https://github.com/prometheus/prometheus License: https://github.com/prometheus/prometheus/blob/main/LICENSE\nRustDesk: remote access and support software. Repository: https://github.com/rustdesk/rustdesk License: https://github.com/rustdesk/rustdesk/blob/master/LICENCE\nSuper Productivity: to-do lists for developers. Repository: https://github.com/johannesjo/super-productivity License: https://github.com/johannesjo/super-productivity/blob/master/LICENSE\nUptime Kuma: website monitor and notification. Works with various message buses and chat applications such as Element/Matrix. Repository: https://github.com/louislam/uptime-kuma License:\nExamples of Software Bundles linkIt is a smart go-to-market to bundle offerings together into a complete solution for a business, team, business type, or job function. Here are a couple examples:\n" } ); index.add( diff --git a/public/index.html b/public/index.html index eaeb0ef..488db7a 100644 --- a/public/index.html +++ b/public/index.html @@ -34,7 +34,7 @@ - + Federated Computer Enterprise @@ -45,12 +45,12 @@ - - - - - - + + + + + + @@ -70,7 +70,7 @@ - + @@ -511,7 +511,7 @@ - + diff --git a/public/index.xml b/public/index.xml index 4b3eebc..fb55f5e 100644 --- a/public/index.xml +++ b/public/index.xml @@ -2,227 +2,227 @@ Federated Computer Enterprise - http://enterprise.federated.computer/ + https://enterprise.federated.computer/ Recent content on Federated Computer Enterprise Hugo en-us Thu, 28 Aug 2025 13:41:48 -0600 - + Overview - http://enterprise.federated.computer/docs/overview/ + https://enterprise.federated.computer/docs/overview/ Mon, 25 Aug 2025 12:25:51 -0600 - http://enterprise.federated.computer/docs/overview/ - <p>This portal helps you can learn about Federated Computer enterprise offerings.</p> <h2 id="federated-core-platform">Federated Core Platform <a href="#federated-core-platform" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h2><p><a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/'><p>FEDERATED CORE PLATFORM</p><strong>Federated Core Platform</strong><br></a>" data-bs-toggle="tooltip" href="http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/">Federated Core Platform</a> delivers offerings and services based on the best open source SaaS software useful to businesses, teams, individuals looking for breaktrhough price, privacy, flexiblity and value. The <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/'><p>FEDERATED CORE PLATFORM</p><strong>Federated Core Platform</strong><br></a>" data-bs-toggle="tooltip" href="http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/">Federated Core Platfrom</a> enables operators and networks, managed service providers, &ldquo;pro&rdquo; customer partners, and on-line affiliates to deliver great software and services to their customers.</p> + https://enterprise.federated.computer/docs/overview/ + <p>This portal helps you can learn about Federated Computer enterprise offerings.</p> <h2 id="federated-core-platform">Federated Core Platform <a href="#federated-core-platform" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h2><p><a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/'><p>FEDERATED CORE PLATFORM</p><strong>Federated Core Platform</strong><br></a>" data-bs-toggle="tooltip" href="https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/">Federated Core Platform</a> delivers offerings and services based on the best open source SaaS software useful to businesses, teams, individuals looking for breaktrhough price, privacy, flexiblity and value. The <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/'><p>FEDERATED CORE PLATFORM</p><strong>Federated Core Platform</strong><br></a>" data-bs-toggle="tooltip" href="https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/">Federated Core Platfrom</a> enables operators and networks, managed service providers, &ldquo;pro&rdquo; customer partners, and on-line affiliates to deliver great software and services to their customers.</p> Federated Core Platform - http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ + https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ Mon, 25 Aug 2025 12:32:20 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ + https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ <p>The Federated Core Platform is a suite of software providing everything needed to deliver open source SaaS applications: integrate them to work well together; manage, patch, update the software; and provide bespoke customer service for customers.</p> <p>The main component groups of Federated Core Platform are:</p> <h3 id="provisioning">Provisioning <a href="#provisioning" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>Provisioner:</strong> interacts with cloud platform (eg Hetzner, Cloud Stack, OpenStack, Triton) to spin up virtual machine and install software and network;</li> <li><strong>Core Server:</strong> Federated Linux distribution for X64 and ARM virtual machines;</li> <li><strong>Core Mini:</strong> The minimal amount of software that must always be installed for a Core;</li> <li><strong>Unified Storage:</strong> architecture for shared storage between Core docker images;</li> <li><strong>Unified Messaging:</strong> email infrastructure for all docker images including autodiscover services;</li> <li><strong>Authentication:</strong> OIDC provider;</li> <li><strong>Dashboard:</strong> user creation, domain and application preferences;</li> <li><strong>Computer:</strong> end-user application for managing software links and workflows.</li> </ol> <h3 id="maintenance">Maintenance <a href="#maintenance" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>CoreScanner:</strong> customer support application for monitoring and locked-down actions on customer infrastructure;</li> <li><strong>Update and Upgrade:</strong> system for discovering new software versions and pushing to customers;</li> <li><strong>Monitor and Fix:</strong> machine-learning to identify and solve operational issues based on customer support patterns.</li> </ol> <h3 id="customization">Customization <a href="#customization" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>Core Workflow Intelligence:</strong> AI-driven workflows between SaaS applications;</li> <li><strong>Adding Software to Federated Core:</strong> how to add SaaS applications to Federated Core Platform;</li> <li><strong>Why Open Source Projects Work With Federated:</strong> the benefits of Federated Core Platform for open source SaaS projects.</li> </ol> <h3 id="billing">Billing <a href="#billing" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>Account Management and Billing:</strong> tracking what is used and billed.</li> </ol> <h3 id="services">Services <a href="#services" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><ol> <li><strong>Federated Management:</strong> let Federated Computer run your cloud for or alongside your team;</li> <li><strong>Customer Service and Support:</strong> let Federated Computer provide 24/7 customer support for or alongside your team.</li> </ol> <p>(Note: you can learn more about these components by selecting the documentation in the left navigation.)</p> Provisioner - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ Mon, 25 Aug 2025 12:35:51 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ - <p>The &ldquo;Provisioner&rdquo; is responsible for setting up, updating/upgrading, and tearing down Cores. It does this in an entirely stateless way communicating with either the aacount management and billing system or the management system. Naturally, there are command-line utilities and an API available to accomplish all functions.</p> <h3 id="order">Order <a href="#order" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>When and order comes through the account management and billing system, a manifest is created asking for a Core to be create with the required SaaS titles. This <em>manifest</em> is sent to the Provisioner which then requests a virtual machine (or machines, if the manifest includes load balancing or other extended Core services), then begins to build the Core software from the manifest. You can read more about the minimal build at <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/'><p>PROVISIONING</p> + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ + <p>The &ldquo;Provisioner&rdquo; is responsible for setting up, updating/upgrading, and tearing down Cores. It does this in an entirely stateless way communicating with either the aacount management and billing system or the management system. Naturally, there are command-line utilities and an API available to accomplish all functions.</p> <h3 id="order">Order <a href="#order" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>When and order comes through the account management and billing system, a manifest is created asking for a Core to be create with the required SaaS titles. This <em>manifest</em> is sent to the Provisioner which then requests a virtual machine (or machines, if the manifest includes load balancing or other extended Core services), then begins to build the Core software from the manifest. You can read more about the minimal build at <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/'><p>PROVISIONING</p> Core Server - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ Mon, 25 Aug 2025 12:34:34 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ <p>Federated maintains its own Linux distribution for the specific purpose of control of the types and versions of software used in virtual machine. This descrease the surface area for attacks, increased maintainability for the Cores built on top, and assures our systems work on X64 and Arm (example: Ampere) systems as well as fully supporting IPv4 and IPv6 for cloud deployment.</p> <p>Core Server is based on <a href="https://www.openmandriva.org" rel="external" target="_blank">OpenMandriva<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z"/></svg></a> a Linux distribution lead by Federated Computer&rsquo;s chief systems engineer. OpenMandriva is base on Fedora, in part.</p> Core Mini - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ Mon, 25 Aug 2025 12:34:18 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ <p>Core Mini is the minimal install of software on a Core before adding additional SaaS and any scaling services (e.g. load balancing). These are the fundamental services used by ever other SaaS application.</p> <h3 id="traefik">Traefik <a href="#traefik" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Firewall and network management.</p> <h3 id="powerdns">PowerDNS <a href="#powerdns" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Domain name service.</p> <h3 id="authelia">Authelia <a href="#authelia" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>OIDC authentication provider.</p> <h3 id="mail-services">Mail Services <a href="#mail-services" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>SMTP and IMAP services.</p> <h3 id="postgresql">Postgresql <a href="#postgresql" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Database engine for SaaS services requiring Postgresql.</p> <h3 id="mariadb">MariaDB <a href="#mariadb" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Database engine for SaaS services requiring MariaDB. The will likely be obsolete in the coming months.</p> Unified Storage - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ Mon, 25 Aug 2025 12:36:10 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ <p>Every SaaS software deployed to a Federated Core using a single expandable storage service. This is a BTRFS file system on the Core but can be deployed as block storage (if the cloud provides such a service). It can be expanded and contracted based on customer demand/usage</p> <p>Every SaaS software deployed to a Federated Core using a single expandable storage service. This is a BTRFS file system on the Core but can be deployed as block storage (if the cloud provides such a service). It can be expanded and contracted based on customer demand/usage.</p> Unified Messaging - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ Mon, 25 Aug 2025 12:36:03 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ <p>Federated Core includes three systems for messaging.</p> <h3 id="email">Email <a href="#email" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>There is a full-featured IMAP/SMTP service available for any needed notifications to users.</p> <h3 id="container-to-container">Container-to-Container <a href="#container-to-container" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>There is a service for container-to-container communication allowing for complete workflow creation between SaaS applications when the native APIs are not enough.</p> <h3 id="optional-matrix">Optional: Matrix <a href="#optional-matrix" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>If the Matrix service is loaded, you can use it like a message-bus for application notification to users.</p> Authentication - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ Mon, 25 Aug 2025 12:33:49 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ <p>One of the obstacles to deploying open source SaaS is user management. When each application has its own user management, it becomes complicated to build a workable system for the business or team, to build reliable workflows across applications, and to ensure security for the business or team for data. Federated Core Platform provides two layers of authentication to deal with these problems.</p> <h3 id="ldap">LDAP <a href="#ldap" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>The foundation of Federated Core Platform authentication is LDAP. Every application connects to LDAP. If it doesn&rsquo;t use LDAP, it doesn&rsquo;t work on the platform. There are some applications for which the <em>only</em> account in LDAP is the administrator and the other users are created in the application itself. And example is Vaultwarden (password manager) because of the very sensitive nature of the information in Vaultwarden <em>outside</em> of access to Core services. You create the user in Vaultwarden as the administrative user but then, the account is connected to Core LDAP (if desired).</p> Dashboard - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ Tue, 26 Aug 2025 14:43:09 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ - <p>Federated Dashboard is a simple launcher for users. It shows the applications available, a link to helpful documentation, and a note about user management. There are significant improvements planned for Dashboard in the coming months as it transitions to Federated <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/'><p>PROVISIONING</p><strong>Computer</strong><br></a>" data-bs-toggle="tooltip" href="http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/">Computer</a>.</p> <p> </p> + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ + <p>Federated Dashboard is a simple launcher for users. It shows the applications available, a link to helpful documentation, and a note about user management. There are significant improvements planned for Dashboard in the coming months as it transitions to Federated <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/'><p>PROVISIONING</p><strong>Computer</strong><br></a>" data-bs-toggle="tooltip" href="https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/">Computer</a>.</p> <p> </p> Computer - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ Mon, 25 Aug 2025 12:33:56 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ <p>Federated &ldquo;Computer&rdquo; is a new application coming in Fall, 2025 delivering a fully customizable front-end experience for Core users. It is a bookmarking application extended to support reminders, folders for watching applications, documents, events, the ability to pick up AI workloads and customizations, and more. Federated &ldquo;Computer&rdquo; is intended to be fully open-sourced, will work with other SaaS applications that support URLs, and will work natively on desktops, tablets, and mobile devices.</p> Core Scanner - http://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ + https://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ Mon, 25 Aug 2025 12:34:24 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ + https://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ <p>Core Scanner is a utility to examine and manage each Core on a given installation of Federated Core Platform. It allows a customer service person to examine the Core, look at all the configuration files, see any anomalies in the files, track usage of resources (CPU, RAM, storage, network), and perform tightly managed actions on the Core to take remedial steps as needed.</p> <p>Each installation of Core Scanner includes user and group priveleges so that the owner of the Federated Core Platform can look at all Cores running, but also partners can examine and manage the Cores of their customers. For example, a managed service provider may have a number of Cores for which they will want to be able to provide monitor and fix service3. Core Scanner allows them to see those Cores, only.</p> Update and Upgrade - http://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ + https://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ Mon, 25 Aug 2025 12:36:19 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ + https://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ <p>Each Federated Core Platform installation has a Gitea respository where the software (OS, utilities, platform, open source SaaS) for the entire system is tracked. The operator of each installation is able to package those updates into regular upgrades pushed out to some/all Cores on the system, push them out individually for testing to some Cores, or schedule updates for a given list of Cores.</p> <p>Since the nature of the Federated Core Platform is delivering open source SaaS to customers, there needs to be a testing protocol set up to ensure updates are in fact needed/wanted. Federated Computer does this centrally, so operators using Federated Core Platform can know the software will &ldquo;work&rdquo;. However, there may be additional concerns with respect to security, other customizations that need to be tested, etc.</p> Monitor and Fix - http://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ + https://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ Mon, 25 Aug 2025 12:35:43 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ + https://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ <p>Every Core running on an installation of Federated Core Platform, every application running on every Core, and every service not an application running on every Core, is monitored in real time to ensure it runs, has the system resources needed, and provides customers with the best experience. If there are anomalies detected, alerts are created and can be sent to the local Matrix server, and Federated Monitor and Fix system attempts to solve the problem using patterns and the service definitions in place.</p> Core Workflow Intelligence - http://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ Mon, 25 Aug 2025 12:34:45 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ <p>Federated will be delivering in early 2026 an &ldquo;on premise&rdquo; solution for using artificial intelligence to create and deploy workflows between open source SaaS applications offered by Federated Core Platform. The design goal is to empower a customer to, for example, use Core Workflow Intelligence to take a grouping of customers from EspoCRM, connect them, based on conditions or parameters, to the mailing list software, and send AI-generated email communications to those customers based on actions taken in the Woocommerce store on Core.</p> Adding Software to Federated Core - http://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ Mon, 25 Aug 2025 12:35:31 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ <p>It is easy to package an open source SaaS application to work on Federated Core Platform. The project simply needs to create a package for the docker container, service files describing how the application connects to LDAP and Authelia for authentication, descriptions of premium licenses and how Federated Core Platform needs to recognize those for inclusion in premium services (example: OIDC), and then a template file for allowing for the correct choice of virtual machine resources and the Federated Monitor and Fix to ensure great experience for the customer. This package is dropped into the Provisioner service manager and is ready to be purchased/deployed by the billing system.</p> Why Open Source Projects Work With Federated - http://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ Mon, 25 Aug 2025 12:36:40 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ <p>More and more, open source projects work with Federated Computer because we simplify the go-to-market. An open-source project hoping to monetize by selling a cloud service is now in the business of creating great SaaS software but also making it multi-tenant, building an ecommerce experience, and building and running a (hopefully) large cloud service. With Federated Core Platform, open source SaaS companies can off-load much of that to Federated while still maintaining the ability to charge for premium features and services.</p> Whitelabel - http://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ Thu, 28 Aug 2025 12:01:52 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ <p>Federated Core Platform can be entirely white-labeled for all customer-facing services. Included services are: Dashboard, Panel, Computer, Core Desktop, Core Scanner, Core Workflow Intelligence, Account Management and Billing, and the &ldquo;home&rdquo; website for information and ordering.</p> Account Management and Billing - http://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ + https://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ Mon, 25 Aug 2025 12:33:38 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ + https://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ <p>Federated Core Platform includes a service allowing your customers to navigate to an information website to learn about Federated Core services and offerings, sign up for a management account, then procure/modify/cancel Core subscriptions.</p> <p>The billing engine is the accounting engine that tallies all the various product offerings delivered to a customers. It is <em>not</em> a payment platform but works with your payment platform of choice including Stripe, Auth.net, various crypto services, or something built in-house.</p> Federated Management - http://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ + https://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ Mon, 25 Aug 2025 12:35:12 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ + https://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ <p>Federated Computer can work to get your to market in the fastest and most convenient way for your organization.</p> <h3 id="complete-management">Complete Management <a href="#complete-management" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>We can run your installation of Federated Core Platform for your business. This includes 24/7/365 NOC operations on-top of your cloud installation or included with a Federated Computer cloud installation. In these scenarios, we ensure all software for Federated Core Platform is up and running, we work with your team to design specific product offerings and bundles, and run the updates/upgrades, we fix any Core faults in the system. The entire platform &ldquo;just runs&rdquo; and your team focuses on sales and marketing (working in conjunction with the Federated team for understanding use cases, content, blog posts, successful go-to-market).</p> Customer Service and Support - http://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ + https://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ Tue, 26 Aug 2025 14:47:00 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ + https://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ <p>Federated Computer can provide end-to-end customer support for your installation of Federated Core Platform. Whether your customers are end-user businesses and team or partners such as managed-service-providers.</p> <p>In addition to customer support (offered during the timeframes you want), we offer a comprehensive documentation service and community for helping customers with self-service.</p> <h3 id="end-user-businesses-and-team">End-user Businesses and Team <a href="#end-user-businesses-and-team" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Federated Computer can use Freescout (a great Federated Core offering) to provide full customer support via email, SMS, or telephone to your customers. We have lots of experience providing great experiences to customers including 30-day on-boarding sequences, 3 hour response and 12 hour resolution, webinars, and other ways to ensure customer success and low churn for your go-to-market efforts.</p> Core Desktop - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ Mon, 25 Aug 2025 12:34:05 -0600 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ <p>Federated Core supports PXE-booting two different Linux distributions (OpenMandriva and Core Desktop based on Arch) when a customer wants to complete solution for their team or office. These desktops are tied into Federated Core Authentication, have all the desktop applications (email, calendar, contacts, bookmarks, file synchronization, applications that take advantage of Nextcloud and other desktop applications) pre-configured and redy to use for the particular user as they log in to Core Desktop. This is a great solution for offices or use cases where it is important that each desktop be closely managed for the &ldquo;correct&rdquo; software and services so that it &ldquo;just works&rdquo;.</p> Software Catalog - http://enterprise.federated.computer/docs/software-catalog/software-catalog/ + https://enterprise.federated.computer/docs/software-catalog/software-catalog/ Mon, 25 Aug 2025 12:39:33 -0600 - http://enterprise.federated.computer/docs/software-catalog/software-catalog/ + https://enterprise.federated.computer/docs/software-catalog/software-catalog/ <p>Federated offers a wide range of open source SaaS software. These can be provisioned individually or as part of a bundle. Provisions can happen on the same machine or virtual machine or on separate virtual machines for the sake of vertical scaling. Load balancers can also be applied for the SaaS applications that require it for horizontal scaling.</p> <p>This catalog describes the software offerings available to customers at <a href="https://www.federated.computer/" rel="external" target="_blank">https://www.federated.computer<svg width="16" height="16" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M14 5c-.552 0-1-.448-1-1s.448-1 1-1h6c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1s-1-.448-1-1v-3.586l-7.293 7.293c-.391.39-1.024.39-1.414 0-.391-.391-.391-1.024 0-1.414l7.293-7.293h-3.586zm-9 2c-.552 0-1 .448-1 1v11c0 .552.448 1 1 1h11c.552 0 1-.448 1-1v-4.563c0-.552.448-1 1-1s1 .448 1 1v4.563c0 1.657-1.343 3-3 3h-11c-1.657 0-3-1.343-3-3v-11c0-1.657 1.343-3 3-3h4.563c.552 0 1 .448 1 1s-.448 1-1 1h-4.563z"/></svg></a> today. For go-to-market reasons, we offer a reduced sub-set of this catalog based on Federated Computer’s own website but all titles can be provisioned for customers as-needed.</p> Bundles - http://enterprise.federated.computer/docs/software-catalog/bundles/ + https://enterprise.federated.computer/docs/software-catalog/bundles/ Mon, 25 Aug 2025 12:39:03 -0600 - http://enterprise.federated.computer/docs/software-catalog/bundles/ - <p>Bundles are great ways to package software for use by a type of business, a size of business, or a job function, among many other go-to-market motivations for bundling software.</p> <p>The Federated Core <a href="http://enterprise.federated.computer/docs/federated-core-platform/provisioner.md">Provisioner</a> can spin up Federated Cores based on a software manifest that can be created &ldquo;just in time&rdquo; or based on a predefined collection of software and virtual machine. This allows you to fully manage the the expects margins for a sale.</p> + https://enterprise.federated.computer/docs/software-catalog/bundles/ + <p>Bundles are great ways to package software for use by a type of business, a size of business, or a job function, among many other go-to-market motivations for bundling software.</p> <p>The Federated Core <a href="https://enterprise.federated.computer/docs/federated-core-platform/provisioner.md">Provisioner</a> can spin up Federated Cores based on a software manifest that can be created &ldquo;just in time&rdquo; or based on a predefined collection of software and virtual machine. This allows you to fully manage the the expects margins for a sale.</p> Federated Commerce - http://enterprise.federated.computer/docs/software-catalog/federated-commerce/ + https://enterprise.federated.computer/docs/software-catalog/federated-commerce/ Mon, 25 Aug 2025 12:39:14 -0600 - http://enterprise.federated.computer/docs/software-catalog/federated-commerce/ + https://enterprise.federated.computer/docs/software-catalog/federated-commerce/ <p>Federated Commerce is a bundle designed by Federated Computer for customers wanting to sell goods on the internet.</p> <p>Federated Commerce delivers</p> <ol> <li>&ldquo;Unbreakable&rdquo; Wordpress and WooCommerce add-ons;</li> <li>Federated Core &ldquo;Best&rdquo; bundle (including video conferencing, mailing list, etc);</li> <li>Eversync: our catalog management software for WooCommerce and Shopify;</li> <li><em>Dedicated</em> cpu virtual machines.</li> </ol> <p>In addition to software, Federated provides essential services to customers such as product imports and updates using Federated Eversync, three hour response and resolution times for issues, proviate channels for talking to support, Wordpress theme and Listmonk template support, shopping ads consultations, and a dedicated account manager.</p> Federated Omnimedia - http://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ + https://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ Mon, 25 Aug 2025 12:39:23 -0600 - http://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ - <p>Federated Omnimedia is a comprehensive bundle offered by Federated Computer to customers. It demonstrates what is possible.</p> <p>Federated Omnimedia is a complete offering for those with large digital communities. Examples are publishers, video channels, podcast channels, communities of interest.</p> <p>The purpose of Federated Omnimedia is to give these sorts of customers access to every sort of tool required to successfully monetize the community. In addition to <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='http://enterprise.federated.computer/docs/software-catalog/federated-commerce/'><p>SOFTWARE CATALOG</p> + https://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ + <p>Federated Omnimedia is a comprehensive bundle offered by Federated Computer to customers. It demonstrates what is possible.</p> <p>Federated Omnimedia is a complete offering for those with large digital communities. Examples are publishers, video channels, podcast channels, communities of interest.</p> <p>The purpose of Federated Omnimedia is to give these sorts of customers access to every sort of tool required to successfully monetize the community. In addition to <a data-bs-delay="{&#34;hide&#34;:300,&#34;show&#34;:550}" data-bs-html="true" data-bs-title="<a href='https://enterprise.federated.computer/docs/software-catalog/federated-commerce/'><p>SOFTWARE CATALOG</p> Operators, Networks, Platforms - http://enterprise.federated.computer/docs/partners/operators-networks-platforms/ + https://enterprise.federated.computer/docs/partners/operators-networks-platforms/ Mon, 25 Aug 2025 12:38:19 -0600 - http://enterprise.federated.computer/docs/partners/operators-networks-platforms/ + https://enterprise.federated.computer/docs/partners/operators-networks-platforms/ <p>Federated Core Platform is the best way for hosting companies, fiber networks, workshare companies, on-line communities, large enterprises to take control of the offering of SaaS software within their operational boundaries. Now, more than ever, open source SaaS software meets or exceeds the capabilities of proprietary SaaS, but the complexities of marshalling and delivering these solutions to customers are immense. Federated Core Platform solves the problem with technical sophistication, at a price designed to provide you with maximum margin, and with programs allowing you to get up and running in a matter of weeks.</p> Managed Service Provider - http://enterprise.federated.computer/docs/partners/managed-service-providers/ + https://enterprise.federated.computer/docs/partners/managed-service-providers/ Mon, 25 Aug 2025 12:37:54 -0600 - http://enterprise.federated.computer/docs/partners/managed-service-providers/ + https://enterprise.federated.computer/docs/partners/managed-service-providers/ <p>Federated Computer has all the tools needed to allow a managed service provider to replace proprietary SaaS products such as Google Workplace, Microsoft Office 365, Slack, Salesforce, and many, many others with easy-to-use, high-value, priavate, flexible open source SaaS alternatives.</p> <p>This leaves MORE money on the table for the managed service provider to provide high-value services.</p> <h3 id="solutions">Solutions <a href="#solutions" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>Federated solutions include Core Scanner for active monitoring and fix of customer Cores. Our AI tools will allow you to easily build workflows for customers on top of existing open source SaaS. And our authentication services and facilities for adding software to Federated Core Platform allow MSPs to extend offerings while maintaining the security and ease-of-use of unified storage and messaging and authentication. With Federated Core Platform, you can build the comprehensive solution for a customer that includes all of their software, devices, and services in a single pane-of-glass.</p> Pro Customers - http://enterprise.federated.computer/docs/partners/pro-customers/ + https://enterprise.federated.computer/docs/partners/pro-customers/ Tue, 26 Aug 2025 11:12:45 -0600 - http://enterprise.federated.computer/docs/partners/pro-customers/ + https://enterprise.federated.computer/docs/partners/pro-customers/ <p>Federated Core Platform includes a number of bundles (collections of open source SaaS software and services) specifically designed for specific enterprise customers and market types. Examples of these are <a href="content/docs/software-catalog/federated-commerce.md">Commerce</a> and <a href="content/docs/software-catalog/federated-omnimedia.md">Omnimedia</a>.</p> <p>It is possible to address &ldquo;pro&rdquo; customers in a couple ways. The first would be to design, build, and deliver a total solution using the building blocks available in Federated Core Platform and its software catalog.</p> <p>However, there will be many opportunities to build out additional collections/bundles for customers requiring different sets of software and services delivered bespoke for their particular needs. These don&rsquo;t have to come from Federated Computer but can be designed and delivered by our partners and sold through all available channels including other operators, networks, and platforms. Open source allows us maximum flexibility to deliver great solutions to customers without re-inventing every wheel.</p> On Line Affiliates - http://enterprise.federated.computer/docs/partners/on-line-affiliates/ + https://enterprise.federated.computer/docs/partners/on-line-affiliates/ Mon, 25 Aug 2025 12:38:06 -0600 - http://enterprise.federated.computer/docs/partners/on-line-affiliates/ + https://enterprise.federated.computer/docs/partners/on-line-affiliates/ <p>Outlets with significant communities can use Federated&rsquo;s affilaite programs to earn up to 30% (the number is really dependent on your own installation&rsquo;s exigencies!) on sales. Affiliates are a great way to build reputation and trust with customers while compensating those affiliate channels for their endorsements.</p> <p>We have found the best affiliates are those that use Federated Core products. When an affiliate is emeshed in open source and especially the open source SaaS offered through Federated Core Platform, the crediblity of the recommendation to the affiliate&rsquo;s community is sterling.</p> Federated Company Backgrounder - http://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ + https://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ Mon, 25 Aug 2025 12:40:08 -0600 - http://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ + https://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ <p>Federated Computer is on a mission to transform all business software with open-source. All business software has an open-source alternative that is feature-complete, &ldquo;free,&rdquo; and flexible for integration with other open-source software. We provide automated IT services, allowing our customers to adopt open-source software with confidence. Our open-source solutions are used by tens of millions of users around the globe.</p> <h3 id="team">Team <a href="#team" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p>We are a small group of pioneers. We include founders of the cloud computer industry. We want a world and internet where big company black-holes don&rsquo;t suck away all our money, data, and sovereignty. We are FedQ&rsquo;d in Colorado Springs, Colorado, USA with colleagues around the globe.</p> Roadmap - http://enterprise.federated.computer/docs/about-federated-computer/roadmap/ + https://enterprise.federated.computer/docs/about-federated-computer/roadmap/ Thu, 28 Aug 2025 13:41:48 -0600 - http://enterprise.federated.computer/docs/about-federated-computer/roadmap/ + https://enterprise.federated.computer/docs/about-federated-computer/roadmap/ <p>Federated Computer is working on the following initiatives for the benefit of our customers and partners:</p> <h3 id="fall-2025">Fall, 2025 <a href="#fall-2025" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p><strong>Computer.</strong> Our take on a central web application for managing all SaaS workloads, dates, clients, messages.</p> <h3 id="first-half-2026">First Half, 2026 <a href="#first-half-2026" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p><strong>Core Workflow Intelligence.</strong> AI services for building application workflows combined between 2 or more open source SaaS applications.</p> <h3 id="second-half-2026">Second Half, 2026 <a href="#second-half-2026" class="anchor" aria-hidden="true"><i class="material-icons align-middle">link</i></a></h3><p><strong>On Premise Provisioning of Federated Cores.</strong> This will support customers that want to connect to high bandwidth, synchronous networks (eg Fiber) and have a Federated Core running on their own hardware with all the management services provided by Federated Core Platform.</p> diff --git a/public/scss/style.min.e3e1bc5be46f578c60e8e3b09a46990466da286e0629c07ce7dd74e1ed2ebb26fe16efc5b3046411d13ade6533b6daf7.css b/public/scss/style.min.e3e1bc5be46f578c60e8e3b09a46990466da286e0629c07ce7dd74e1ed2ebb26fe16efc5b3046411d13ade6533b6daf7.css new file mode 100644 index 0000000..da4f34f --- /dev/null +++ b/public/scss/style.min.e3e1bc5be46f578c60e8e3b09a46990466da286e0629c07ce7dd74e1ed2ebb26fe16efc5b3046411d13ade6533b6daf7.css @@ -0,0 +1,3 @@ +/*!* Bootstrap v5.3.3 (https://getbootstrap.com/) +* Copyright 2011-2024 The Bootstrap Authors +* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)*/:root,[data-bs-theme=light]{--bs-blue:#0066ff;--bs-indigo:#6610f2;--bs-purple:#7952B3;--bs-pink:#d63384;--bs-red:#e43f52;--bs-orange:#fd7e14;--bs-yellow:#f17425;--bs-green:#2eca8b;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-white:#ffffff;--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:#0066ff;--bs-secondary:#6c757d;--bs-success:#2eca8b;--bs-info:#17a2b8;--bs-warning:#f17425;--bs-danger:#e43f52;--bs-light:#f8f9fa;--bs-dark:#3c4858;--bs-footer:#202942;--bs-muted:#6b7686;--bs-primary-rgb:0, 102, 255;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:46, 202, 139;--bs-info-rgb:23, 162, 184;--bs-warning-rgb:241, 116, 37;--bs-danger-rgb:228, 63, 82;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:60, 72, 88;--bs-footer-rgb:32, 41, 66;--bs-muted-rgb:107, 118, 134;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--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:Inter;--bs-font-monospace:Fira Code;--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:#3C4257;--bs-body-color-rgb:60, 66, 87;--bs-body-bg:#ffffff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0066ff;--bs-link-color-rgb:0, 102, 255;--bs-link-decoration:underline;--bs-link-hover-color:#0052cc;--bs-link-hover-color-rgb:0, 82, 204;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fcf8e3;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#e9ecef;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.25rem;--bs-border-radius-sm:0.2rem;--bs-border-radius-lg:0.3rem;--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(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,*::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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width)solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.3875rem + 1.65vw)}@media(min-width:1200px){h1,.h1{font-size:2.625rem}}h2,.h2{font-size:calc(1.35rem + 1.2vw)}@media(min-width:1200px){h2,.h2{font-size:2.25rem}}h3,.h3{font-size:calc(1.3125rem + .75vw)}@media(min-width:1200px){h3,.h3{font-size:1.875rem}}h4,.h4{font-size:calc(1.275rem + .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:.875em}mark,.mark{padding:.2em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.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:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}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:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@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}::-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:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.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}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.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:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--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:1140px}}@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:1.5rem;--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}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.33333333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.66666667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333333%}.col-2{flex:none;width:16.66666667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.33333333%}.col-5{flex:none;width:41.66666667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.33333333%}.col-8{flex:none;width:66.66666667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.33333333%}.col-11{flex:none;width:91.66666667%}.col-12{flex:none;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--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}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.33333333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.66666667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333333%}.col-sm-2{flex:none;width:16.66666667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.33333333%}.col-sm-5{flex:none;width:41.66666667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.33333333%}.col-sm-8{flex:none;width:66.66666667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.33333333%}.col-sm-11{flex:none;width:91.66666667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--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}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.33333333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.66666667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333333%}.col-md-2{flex:none;width:16.66666667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.33333333%}.col-md-5{flex:none;width:41.66666667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.33333333%}.col-md-8{flex:none;width:66.66666667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.33333333%}.col-md-11{flex:none;width:91.66666667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--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}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.33333333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.66666667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333333%}.col-lg-2{flex:none;width:16.66666667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.33333333%}.col-lg-5{flex:none;width:41.66666667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.33333333%}.col-lg-8{flex:none;width:66.66666667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.33333333%}.col-lg-11{flex:none;width:91.66666667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--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}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.33333333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.66666667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333333%}.col-xl-2{flex:none;width:16.66666667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.33333333%}.col-xl-5{flex:none;width:41.66666667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.33333333%}.col-xl-8{flex:none;width:66.66666667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.33333333%}.col-xl-11{flex:none;width:91.66666667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--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}.row-cols-xxl-auto>*{flex:none;width:auto}.row-cols-xxl-1>*{flex:none;width:100%}.row-cols-xxl-2>*{flex:none;width:50%}.row-cols-xxl-3>*{flex:none;width:33.33333333%}.row-cols-xxl-4>*{flex:none;width:25%}.row-cols-xxl-5>*{flex:none;width:20%}.row-cols-xxl-6>*{flex:none;width:16.66666667%}.col-xxl-auto{flex:none;width:auto}.col-xxl-1{flex:none;width:8.33333333%}.col-xxl-2{flex:none;width:16.66666667%}.col-xxl-3{flex:none;width:25%}.col-xxl-4{flex:none;width:33.33333333%}.col-xxl-5{flex:none;width:41.66666667%}.col-xxl-6{flex:none;width:50%}.col-xxl-7{flex:none;width:58.33333333%}.col-xxl-8{flex:none;width:66.66666667%}.col-xxl-9{flex:none;width:75%}.col-xxl-10{flex:none;width:83.33333333%}.col-xxl-11{flex:none;width:91.66666667%}.col-xxl-12{flex:none;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--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}}.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)>*>*{padding:.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{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2)solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.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:#000000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#ffffff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#ffffff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#ffffff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#ffffff;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:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-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);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 .15s ease-in-out,box-shadow .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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.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::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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:initial;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 + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.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}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .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 + .75rem + calc(var(--bs-border-width) * 2));padding:.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 + .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:.375rem 2.25rem .375rem .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 .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 .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.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='%23dee2e6' 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:.125rem}.form-check .form-check-input{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{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.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:50%;background-size:contain;border:var(--bs-border-width)solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-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]{--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{background-color:#0d6efd;border-color:#0d6efd;--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{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--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:0;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input: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='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:100%;--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{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,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input: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:1.5rem;padding:0;appearance:none;background-color:initial}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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,.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;height:100%;padding:1rem .75rem;overflow:hidden;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 .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.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}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .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,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.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,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23198754' 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.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--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:#ffffff;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.25rem;--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.25rem 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;text-decoration:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-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)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,: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)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{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:#ffffff;--bs-btn-bg:#0066ff;--bs-btn-border-color:#0066ff;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#0057d9;--bs-btn-hover-border-color:#0052cc;--bs-btn-focus-shadow-rgb:38, 125, 255;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#0052cc;--bs-btn-active-border-color:#004dbf;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#0066ff;--bs-btn-disabled-border-color:#0066ff}.btn-secondary{--bs-btn-color:#ffffff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130, 138, 145;--bs-btn-active-color:#ffffff;--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:#ffffff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#ffffff;--bs-btn-bg:#2eca8b;--bs-btn-border-color:#2eca8b;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#27ac76;--bs-btn-hover-border-color:#25a26f;--bs-btn-focus-shadow-rgb:77, 210, 156;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#25a26f;--bs-btn-active-border-color:#239868;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#2eca8b;--bs-btn-disabled-border-color:#2eca8b}.btn-info{--bs-btn-color:#ffffff;--bs-btn-bg:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#148a9c;--bs-btn-hover-border-color:#128293;--bs-btn-focus-shadow-rgb:58, 176, 195;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#128293;--bs-btn-active-border-color:#117a8a;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#17a2b8;--bs-btn-disabled-border-color:#17a2b8}.btn-warning{--bs-btn-color:#ffffff;--bs-btn-bg:#f17425;--bs-btn-border-color:#f17425;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#cd631f;--bs-btn-hover-border-color:#c15d1e;--bs-btn-focus-shadow-rgb:243, 137, 70;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#c15d1e;--bs-btn-active-border-color:#b5571c;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#f17425;--bs-btn-disabled-border-color:#f17425}.btn-danger{--bs-btn-color:#ffffff;--bs-btn-bg:#e43f52;--bs-btn-border-color:#e43f52;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#c23646;--bs-btn-hover-border-color:#b63242;--bs-btn-focus-shadow-rgb:232, 92, 108;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#b63242;--bs-btn-active-border-color:#ab2f3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#e43f52;--bs-btn-disabled-border-color:#e43f52}.btn-light{--bs-btn-color:#000000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211, 212, 213;--bs-btn-active-color:#000000;--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:#000000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#ffffff;--bs-btn-bg:#3c4858;--bs-btn-border-color:#3c4858;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#596371;--bs-btn-hover-border-color:#505a69;--bs-btn-focus-shadow-rgb:89, 99, 113;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#636d79;--bs-btn-active-border-color:#505a69;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#3c4858;--bs-btn-disabled-border-color:#3c4858}.btn-footer{--bs-btn-color:#ffffff;--bs-btn-bg:#202942;--bs-btn-border-color:#202942;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#1b2338;--bs-btn-hover-border-color:#1a2135;--bs-btn-focus-shadow-rgb:65, 73, 94;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#1a2135;--bs-btn-active-border-color:#181f32;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#202942;--bs-btn-disabled-border-color:#202942}.btn-muted{--bs-btn-color:#ffffff;--bs-btn-bg:#6b7686;--bs-btn-border-color:#6b7686;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#5b6472;--bs-btn-hover-border-color:#565e6b;--bs-btn-focus-shadow-rgb:129, 139, 152;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#565e6b;--bs-btn-active-border-color:#505965;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#6b7686;--bs-btn-disabled-border-color:#6b7686}.btn-outline-primary{--bs-btn-color:#0066ff;--bs-btn-border-color:#0066ff;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#0066ff;--bs-btn-hover-border-color:#0066ff;--bs-btn-focus-shadow-rgb:0, 102, 255;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#0066ff;--bs-btn-active-border-color:#0066ff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0066ff;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0066ff;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108, 117, 125;--bs-btn-active-color:#ffffff;--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:#2eca8b;--bs-btn-border-color:#2eca8b;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#2eca8b;--bs-btn-hover-border-color:#2eca8b;--bs-btn-focus-shadow-rgb:46, 202, 139;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#2eca8b;--bs-btn-active-border-color:#2eca8b;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#2eca8b;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#2eca8b;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#17a2b8;--bs-btn-hover-border-color:#17a2b8;--bs-btn-focus-shadow-rgb:23, 162, 184;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#17a2b8;--bs-btn-active-border-color:#17a2b8;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#17a2b8;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#17a2b8;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#f17425;--bs-btn-border-color:#f17425;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#f17425;--bs-btn-hover-border-color:#f17425;--bs-btn-focus-shadow-rgb:241, 116, 37;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#f17425;--bs-btn-active-border-color:#f17425;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f17425;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f17425;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#e43f52;--bs-btn-border-color:#e43f52;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#e43f52;--bs-btn-hover-border-color:#e43f52;--bs-btn-focus-shadow-rgb:228, 63, 82;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#e43f52;--bs-btn-active-border-color:#e43f52;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#e43f52;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#e43f52;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248, 249, 250;--bs-btn-active-color:#000000;--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:#3c4858;--bs-btn-border-color:#3c4858;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#3c4858;--bs-btn-hover-border-color:#3c4858;--bs-btn-focus-shadow-rgb:60, 72, 88;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#3c4858;--bs-btn-active-border-color:#3c4858;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#3c4858;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#3c4858;--bs-gradient:none}.btn-outline-footer{--bs-btn-color:#202942;--bs-btn-border-color:#202942;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#202942;--bs-btn-hover-border-color:#202942;--bs-btn-focus-shadow-rgb:32, 41, 66;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#202942;--bs-btn-active-border-color:#202942;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#202942;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#202942;--bs-gradient:none}.btn-outline-muted{--bs-btn-color:#6b7686;--bs-btn-border-color:#6b7686;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#6b7686;--bs-btn-hover-border-color:#6b7686;--bs-btn-focus-shadow-rgb:107, 118, 134;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#6b7686;--bs-btn-active-border-color:#6b7686;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6b7686;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6b7686;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:#0066ff;--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:#0052cc;--bs-btn-hover-border-color:transparent;--bs-btn-active-color:#0052cc;--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:49, 132, 253;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{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.3rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.2rem}.fade{transition:opacity .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 .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .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:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.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:#0d6efd;--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:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.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:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.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:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.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;text-decoration:none;white-space:nowrap;background-color:initial;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);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:initial}.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:.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:#0d6efd;--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,.btn-group-vertical>.btn{position:relative;flex:auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.25rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(1px * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(1px * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{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:#0066ff;--bs-nav-link-hover-color:#0052cc;--bs-nav-link-disabled-color:#6c757d;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);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .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)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#dee2e6;--bs-nav-tabs-border-radius:0.25rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--bs-nav-tabs-link-active-bg:#ffffff;--bs-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 #ffffff;border-bottom:var(--bs-nav-tabs-border-width)solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{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 .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{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:0.25rem;--bs-nav-pills-link-active-color:#ffffff;--bs-nav-pills-link-active-bg:#0066ff}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{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{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width)solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:initial}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:initial}.nav-fill>.nav-link,.nav-fill .nav-item{flex:auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--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(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--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%280, 0, 0, 0.55%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(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.25rem;--bs-navbar-toggler-focus-width:0.25rem;--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);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.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 .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.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-basis:100%;flex-grow:1;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:initial;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:50%;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{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:initial!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{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:initial!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{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:initial!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{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:initial!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{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:initial!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{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:initial!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:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#ffffff;--bs-navbar-brand-color:#ffffff;--bs-navbar-brand-hover-color:#ffffff;--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='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--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%28255, 255, 255, 0.55%29' 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:1px;--bs-card-border-color:rgba(0, 0, 0, 0.125);--bs-card-border-radius:0.25rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.25rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#ffffff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;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: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+.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{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;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='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%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='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--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-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{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='%236ea8fe'%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-.708z'/%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='%236ea8fe'%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-.708z'/%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,"/")}.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(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--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);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width)solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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);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(var(--bs-border-width) * -1)}.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:#ffffff;--bs-badge-border-radius:0.25rem;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{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--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:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.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)}.alert-footer{--bs-alert-color:var(--bs-footer-text-emphasis);--bs-alert-bg:var(--bs-footer-bg-subtle);--bs-alert-border-color:var(--bs-footer-border-subtle);--bs-alert-link-color:var(--bs-footer-text-emphasis)}.alert-muted{--bs-alert-color:var(--bs-muted-text-emphasis);--bs-alert-bg:var(--bs-muted-bg-subtle);--bs-alert-border-color:var(--bs-muted-border-subtle);--bs-alert-link-color:var(--bs-muted-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.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:#0d6efd;--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,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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:#0d6efd;--bs-list-group-active-border-color:#0d6efd;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-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action: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:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.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);text-decoration:none;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-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)}.list-group-item-footer{--bs-list-group-color:var(--bs-footer-text-emphasis);--bs-list-group-bg:var(--bs-footer-bg-subtle);--bs-list-group-border-color:var(--bs-footer-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-footer-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-footer-border-subtle);--bs-list-group-active-color:var(--bs-footer-bg-subtle);--bs-list-group-active-bg:var(--bs-footer-text-emphasis);--bs-list-group-active-border-color:var(--bs-footer-text-emphasis)}.list-group-item-muted{--bs-list-group-color:var(--bs-muted-text-emphasis);--bs-list-group-bg:var(--bs-muted-bg-subtle);--bs-list-group-border-color:var(--bs-muted-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-muted-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-muted-border-subtle);--bs-list-group-active-color:var(--bs-muted-bg-subtle);--bs-list-group-active-bg:var(--bs-muted-text-emphasis);--bs-list-group-active-border-color:var(--bs-muted-text-emphasis)}.btn-close{--bs-btn-close-color:#000000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%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(0, 102, 255, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:var(--bs-btn-close-bg)50%/1em no-repeat;border:0;border-radius:.25rem;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{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--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: ;--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{transition:transform .3s ease-out;transform:translate(0,-50px)}@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:calc(-.5 * var(--bs-modal-header-padding-y))calc(-.5 * var(--bs-modal-header-padding-x))calc(-.5 * var(--bs-modal-header-padding-y))auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex: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)}.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)}.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)}.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)}.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)}.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)}.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)}.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)}.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 .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 .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:0 0;border:0;opacity:.5;transition:opacity .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:.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 0z'/%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-.708z'/%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:initial;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1)grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1)grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.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)}}.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;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:400px;--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:initial!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:.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:calc(-.5 * var(--bs-offcanvas-padding-y))calc(-.5 * var(--bs-offcanvas-padding-x))calc(-.5 * var(--bs-offcanvas-padding-y))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:.5}.placeholder.btn::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:.2}}.placeholder-wave{mask-image:linear-gradient(130deg,#000000 55%,rgba(0,0,0,.8) 75%,#000000 95%);mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%}}.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:#fff!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:#fff!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!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}.text-bg-footer{color:#fff!important;background-color:RGBA(var(--bs-footer-rgb),var(--bs-bg-opacity,1))!important}.text-bg-muted{color:#fff!important;background-color:RGBA(var(--bs-muted-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(0,82,204,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(0,82,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(37,162,111,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(37,162,111,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(18,130,147,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(18,130,147,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(193,93,30,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(193,93,30,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(182,50,66,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(182,50,66,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(48,58,70,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(48,58,70,var(--bs-link-underline-opacity,1))!important}.link-footer{color:RGBA(var(--bs-footer-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-footer-rgb),var(--bs-link-underline-opacity,1))!important}.link-footer:hover,.link-footer:focus{color:RGBA(26,33,53,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(26,33,53,var(--bs-link-underline-opacity,1))!important}.link-muted{color:RGBA(var(--bs-muted-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-muted-rgb),var(--bs-link-underline-opacity,1))!important}.link-muted:hover,.link-muted:focus{color:RGBA(86,94,107,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(86,94,107,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,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.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:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.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(.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: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}.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:.25}.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:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.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))}.focus-ring-footer{--bs-focus-ring-color:rgba(var(--bs-footer-rgb), var(--bs-focus-ring-opacity))}.focus-ring-muted{--bs-focus-ring-color:rgba(var(--bs-muted-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-footer{--bs-border-opacity:1;border-color:rgba(var(--bs-footer-rgb),var(--bs-border-opacity))!important}.border-muted{--bs-border-opacity:1;border-color:rgba(var(--bs-muted-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: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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.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:.25rem!important}.gap-2{gap:.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:.25rem!important}.row-gap-2{row-gap:.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:.25rem!important}.column-gap-2{column-gap:.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.3875rem + 1.65vw)!important}.fs-2{font-size:calc(1.35rem + 1.2vw)!important}.fs-3{font-size:calc(1.3125rem + .75vw)!important}.fs-4{font-size:calc(1.275rem + .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}.text-break{word-wrap:break-word!important;word-break:break-word!important}.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-footer{--bs-text-opacity:1;color:rgba(var(--bs-footer-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!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-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.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:.125em!important}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2{text-underline-offset:.25em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3{text-underline-offset:.375em!important}.link-offset-3-hover:hover{text-underline-offset:.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-footer{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-footer-rgb),var(--bs-link-underline-opacity))!important}.link-underline-muted{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-muted-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-footer{--bs-bg-opacity:1;background-color:rgba(var(--bs-footer-rgb),var(--bs-bg-opacity))!important}.bg-muted{--bs-bg-opacity:1;background-color:rgba(var(--bs-muted-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:initial!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: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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.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:.25rem!important}.gap-sm-2{gap:.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:.25rem!important}.row-gap-sm-2{row-gap:.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:.25rem!important}.column-gap-sm-2{column-gap:.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: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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.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:.25rem!important}.gap-md-2{gap:.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:.25rem!important}.row-gap-md-2{row-gap:.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:.25rem!important}.column-gap-md-2{column-gap:.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: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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.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:.25rem!important}.gap-lg-2{gap:.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:.25rem!important}.row-gap-lg-2{row-gap:.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:.25rem!important}.column-gap-lg-2{column-gap:.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: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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.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:.25rem!important}.gap-xl-2{gap:.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:.25rem!important}.row-gap-xl-2{row-gap:.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:.25rem!important}.column-gap-xl-2{column-gap:.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: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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.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:.25rem!important}.gap-xxl-2{gap:.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:.25rem!important}.row-gap-xxl-2{row-gap:.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:.25rem!important}.column-gap-xxl-2{column-gap:.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.625rem!important}.fs-2{font-size:2.25rem!important}.fs-3{font-size:1.875rem!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}}@font-face{font-family:material symbols outlined;font-weight:400 700;font-display:block;font-style:normal;src:local("Material Icons"),local("MaterialIcons-Outlined"),url(../docs/fonts/material-symbols-outlined.woff2)format("woff2")}body{font-family:Inter;overflow-x:hidden!important;font-size:1rem;color:#3c4257;background-color:#fff}@media(max-width:1199px){html{scroll-padding-top:80px}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--bs-font-sans-serif);line-height:1.4;font-weight:600}::selection{background:rgba(0,102,255,.9);color:#fff}a{text-decoration:none!important;transition:all .5s ease}p{line-height:1.6}.four-oh-four{min-height:calc(100vh - 180px)}@media(max-width:767px){.four-oh-four{min-height:calc(100vh - 241px)}}#topnav{position:fixed;right:0;left:0;top:0;background-color:initial;z-index:999;border:0;-webkit-transition:all .5s ease;transition:all .5s ease}#topnav .logo{float:left;color:#3c4858!important}#topnav .logo .l-dark,#topnav .logo .logo-dark-mode{display:none}#topnav .logo .l-light,#topnav .logo .logo-light-mode{display:inline-block}#topnav .logo:focus{outline:none}#topnav #navigation.toggle-menu{position:relative;display:block;top:0;border:none}#topnav #navigation.toggle-menu .toggle-menu-item{display:block}#topnav #navigation.toggle-menu .toggle-menu-item>li{float:none;margin:0 16px!important;text-align:center}#topnav #navigation.toggle-menu .toggle-menu-item>li>a{padding:16px 0;min-height:auto;font-size:18px}#topnav .navbar-toggle{border:0;position:relative;padding:0;margin:0;cursor:pointer}#topnav .navbar-toggle .lines{width:20px;display:block;position:relative;margin:4px 0 0;height:18px}#topnav .navbar-toggle span{height:2px;width:100%;background-color:#06f;display:block;margin-bottom:5px;transition:transform .5s ease}#topnav .navbar-toggle span:last-child{margin-bottom:0}#topnav .navbar-toggle.open span{position:absolute}#topnav .navbar-toggle.open span:first-child{top:6px;transform:rotate(45deg)}#topnav .navbar-toggle.open span:nth-child(2){visibility:hidden}#topnav .navbar-toggle.open span:last-child{width:100%;top:6px;transform:rotate(-45deg)}#topnav .navbar-toggle.open span:hover{background-color:#06f}#topnav .navbar-toggle:hover,#topnav .navbar-toggle:focus,#topnav .navbar-toggle .navigation-menu>li>a:hover,#topnav .navbar-toggle:focus{background-color:initial}#topnav .navigation-menu{list-style:none;margin:0;padding:0}#topnav .navigation-menu>li{float:left;display:block;position:relative;margin:0 10px}#topnav .navigation-menu>li:hover>a,#topnav .navigation-menu>li.active>a{color:#06f!important}#topnav .navigation-menu>li>a{display:flex;color:#3c4858;font-size:15px;background-color:initial!important;font-weight:700;letter-spacing:1px;line-height:24px;font-family:var(--bs-font-sans-serif);padding-left:15px;padding-right:15px;align-items:center}#topnav .navigation-menu>li>a:hover,#topnav .navigation-menu>li>a:active{color:#06f}#topnav.scroll{background-color:#fff;border:none;box-shadow:0 0 3px rgba(60,72,88,.15)}#topnav.scroll .navigation-menu>li>a{color:#3c4858}#topnav.scroll .navigation-menu>li>.menu-arrow{border-color:#3c4858}#topnav.scroll .navigation-menu>li:hover>a,#topnav.scroll .navigation-menu>li.active>a{color:#06f}#topnav.scroll .navigation-menu>li:hover>.menu-arrow,#topnav.scroll .navigation-menu>li.active>.menu-arrow{border-color:#06f}#topnav.nav-sticky{background:#fff;-webkit-box-shadow:0 0 3px rgba(60,72,88,.15);box-shadow:0 0 3px rgba(60,72,88,.15)}#topnav.nav-sticky .navigation-menu.nav-light>li>a{color:#3c4858}#topnav.nav-sticky .navigation-menu.nav-light>li.active>a{color:#06f!important}#topnav.nav-sticky .navigation-menu.nav-light>li:hover>.menu-arrow,#topnav.nav-sticky .navigation-menu.nav-light>li.active>.menu-arrow{border-color:#06f!important}#topnav.nav-sticky .navigation-menu.nav-light>li:hover>a,#topnav.nav-sticky .navigation-menu.nav-light>li.active>a{color:#06f!important}#topnav.nav-sticky.tagline-height{top:0!important}#topnav.nav-sticky .logo .l-dark{display:inline-block}#topnav.nav-sticky .logo .l-light{display:none}.logo{font-weight:700;font-size:24px;margin-right:15px;letter-spacing:1px;line-height:0}.logo svg{height:26px}@media(min-width:992px){#topnav .navigation-menu{display:flex;flex-wrap:wrap;justify-content:center}#topnav .navigation-menu>li>a{min-height:70px}#topnav .navigation-menu>li:hover>.menu-arrow{border-color:#06f}#topnav .navigation-menu>li:hover>a,#topnav .navigation-menu>li.active>a{color:#06f!important}#topnav .navigation-menu.nav-light>li>a{color:rgba(255,255,255,.5)}#topnav .navigation-menu.nav-light>li.active>a{color:#fff!important}#topnav .navigation-menu.nav-light>li:hover>.menu-arrow{border-color:#fff!important}#topnav .navigation-menu.nav-light>li:hover>a{color:#fff!important}#topnav .navigation-menu.nav-right{justify-content:flex-end!important}#topnav .navigation-menu.nav-left{justify-content:flex-start!important}#topnav .navigation-menu.nav-left>li.last-elements .submenu{left:0!important;right:auto!important}#topnav .navigation-menu.nav-left>li.last-elements .submenu:before{left:45px!important;right:auto!important}#topnav .navbar-toggle{display:none}#topnav #navigation{display:block!important}#topnav.scroll{top:0}#topnav.scroll .navigation-menu>li>a{padding-top:20px;padding-bottom:20px}#topnav.scroll-active .navigation-menu>li>a{padding-top:25px;padding-bottom:25px}}@media(max-width:991px){#topnav{background-color:#fff;min-height:74px}#topnav .logo .l-dark{display:inline-block!important}#topnav .logo .l-light{display:none!important}#topnav .container{width:auto;height:71px}#topnav #navigation{max-height:400px}#topnav .navigation-menu{float:none}#topnav .navigation-menu>li{float:none}#topnav .navigation-menu>li>a{color:#3c4858;padding:10px 20px}#topnav .navigation-menu>li>a:after{position:absolute;right:15px}#topnav .navigation-menu>li>a:hover,#topnav .menu-extras .menu-item{border-color:#6b7686}#topnav .navbar-header{float:left}#navigation{position:absolute;top:64px;left:0;width:100%;display:none;height:auto;padding-bottom:0;overflow:auto;border-top:1px solid #f2f4f6;border-bottom:1px solid #f2f4f6;background-color:#fff}#navigation.open{display:block;overflow-y:auto}}@media(min-width:768px){.navbar-toggle{display:block}}.navbar-white-bg{background-color:#fff!important}.social-link>li{line-height:initial}.footer{background:#202942;position:relative;color:#adb5bd}.footer .footer-py-60{padding:60px 0}.footer .footer-py-30{padding:30px 0}.footer .logo-footer{font-size:22px}.footer .logo-footer:focus{outline:none}.footer .logo-footer svg{height:30px}.footer .footer-head{letter-spacing:1px;font-weight:500;color:#fff}.footer .text-foot{color:#adb5bd}.footer .footer-list{margin-bottom:0}.footer .footer-list li{margin-bottom:10px}.footer .footer-list li a{transition:all .5s ease}.footer .footer-list li a:hover{color:#e6e8ea}.footer .footer-list li:last-child{margin-bottom:0}.footer .footer-border,.footer .footer-bar{border-top:1px solid #283453}.footer .border{border-color:#283453!important}.footer.footer-light{background:#f8f9fa;color:#495057}.footer.footer-light .footer-head{color:#3c4858}.footer.footer-light .foot-subscribe .form-control{background-color:#f8f9fa;border:1px solid #e9ecef;color:#f8f9fa}.footer.footer-light .foot-subscribe.foot-white .form-control{color:#adb5bd}.footer.footer-light .foot-subscribe input::placeholder{color:#adb5bd}.footer.footer-light .border{border-color:#e9ecef!important}.footer.footer-light .text-foot{color:#6b7686}.footer.footer-light .footer-list li a:hover{color:#495057}.btn-soft-primary{background-color:rgba(0,102,255,5%)!important;border:1px solid rgba(0,102,255,5%)!important;color:#06f!important;box-shadow:0 2px 1px rgba(0,102,255,.1)}.btn-soft-primary:hover,.btn-soft-primary:focus,.btn-soft-primary:active,.btn-soft-primary.active,.btn-soft-primary.focus{background-color:#06f!important;border-color:#06f!important;color:#fff!important}.btn-soft-secondary{background-color:rgba(108,117,125,5%)!important;border:1px solid rgba(108,117,125,5%)!important;color:#6c757d!important;box-shadow:0 2px 1px rgba(108,117,125,.1)}.btn-soft-secondary:hover,.btn-soft-secondary:focus,.btn-soft-secondary:active,.btn-soft-secondary.active,.btn-soft-secondary.focus{background-color:#6c757d!important;border-color:#6c757d!important;color:#fff!important}.btn-soft-success{background-color:rgba(46,202,139,5%)!important;border:1px solid rgba(46,202,139,5%)!important;color:#2eca8b!important;box-shadow:0 2px 1px rgba(46,202,139,.1)}.btn-soft-success:hover,.btn-soft-success:focus,.btn-soft-success:active,.btn-soft-success.active,.btn-soft-success.focus{background-color:#2eca8b!important;border-color:#2eca8b!important;color:#fff!important}.btn-soft-info{background-color:rgba(23,162,184,5%)!important;border:1px solid rgba(23,162,184,5%)!important;color:#17a2b8!important;box-shadow:0 2px 1px rgba(23,162,184,.1)}.btn-soft-info:hover,.btn-soft-info:focus,.btn-soft-info:active,.btn-soft-info.active,.btn-soft-info.focus{background-color:#17a2b8!important;border-color:#17a2b8!important;color:#fff!important}.btn-soft-warning{background-color:rgba(241,116,37,5%)!important;border:1px solid rgba(241,116,37,5%)!important;color:#f17425!important;box-shadow:0 2px 1px rgba(241,116,37,.1)}.btn-soft-warning:hover,.btn-soft-warning:focus,.btn-soft-warning:active,.btn-soft-warning.active,.btn-soft-warning.focus{background-color:#f17425!important;border-color:#f17425!important;color:#fff!important}.btn-soft-danger{background-color:rgba(228,63,82,5%)!important;border:1px solid rgba(228,63,82,5%)!important;color:#e43f52!important;box-shadow:0 2px 1px rgba(228,63,82,.1)}.btn-soft-danger:hover,.btn-soft-danger:focus,.btn-soft-danger:active,.btn-soft-danger.active,.btn-soft-danger.focus{background-color:#e43f52!important;border-color:#e43f52!important;color:#fff!important}.btn-soft-light{background-color:rgba(248,249,250,5%)!important;border:1px solid rgba(248,249,250,5%)!important;color:#f8f9fa!important;box-shadow:0 2px 1px rgba(248,249,250,.1)}.btn-soft-light:hover,.btn-soft-light:focus,.btn-soft-light:active,.btn-soft-light.active,.btn-soft-light.focus{background-color:#f8f9fa!important;border-color:#f8f9fa!important;color:#fff!important}.btn-soft-dark{background-color:rgba(60,72,88,5%)!important;border:1px solid rgba(60,72,88,5%)!important;color:#3c4858!important;box-shadow:0 2px 1px rgba(60,72,88,.1)}.btn-soft-dark:hover,.btn-soft-dark:focus,.btn-soft-dark:active,.btn-soft-dark.active,.btn-soft-dark.focus{background-color:#3c4858!important;border-color:#3c4858!important;color:#fff!important}.btn-soft-footer{background-color:rgba(32,41,66,5%)!important;border:1px solid rgba(32,41,66,5%)!important;color:#202942!important;box-shadow:0 2px 1px rgba(32,41,66,.1)}.btn-soft-footer:hover,.btn-soft-footer:focus,.btn-soft-footer:active,.btn-soft-footer.active,.btn-soft-footer.focus{background-color:#202942!important;border-color:#202942!important;color:#fff!important}.btn-soft-muted{background-color:rgba(107,118,134,5%)!important;border:1px solid rgba(107,118,134,5%)!important;color:#6b7686!important;box-shadow:0 2px 1px rgba(107,118,134,.1)}.btn-soft-muted:hover,.btn-soft-muted:focus,.btn-soft-muted:active,.btn-soft-muted.active,.btn-soft-muted.focus{background-color:#6b7686!important;border-color:#6b7686!important;color:#fff!important}.btn{padding:8px 20px;outline:none;text-decoration:none;font-size:16px;letter-spacing:.5px;transition:all .3s;font-weight:600;border-radius:5px}.btn:focus{box-shadow:none!important}.btn.btn-sm,.btn-group-sm>.btn{padding:7px 16px;font-size:10px}.btn.btn-lg,.btn-group-lg>.btn{padding:14px 30px;font-size:16px}.btn.searchbtn{padding:6px 20px}.btn.btn-pills{border-radius:30px}.btn.btn-light{border:1px solid #f2f4f6}.btn.btn-outline-light{border-color:#e9ecef!important}.btn.btn-soft-light{color:#ced4da!important;border-color:#e9ecef!important}.btn.btn-soft-dark:hover,.btn.btn-soft-dark:focus,.btn.btn-soft-dark:active,.btn.btn-soft-dark.active,.btn.btn-soft-dark.focus{color:#ced4da!important;border-color:#e9ecef!important}.btn.btn-dark,.btn.btn-secondary{color:#e9ecef}.btn.btn-outline-light{color:#212529}.btn.btn-icon{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.btn.btn-icon .icons{height:16px;width:16px;font-size:16px}.btn.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{height:48px;width:48px;line-height:46px}.btn.btn-icon.btn-lg .icons,.btn-group-lg>.btn-icon.btn .icons{height:20px;width:20px;font-size:20px}.btn.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{height:30px;width:30px;line-height:28px}button:not(:disabled){outline:none}.btn-landing{color:#3c4858}.badge{letter-spacing:.5px;padding:4px 8px;font-weight:600;line-height:11px}.badge.badge-link:hover{color:#fff!important}.bg-primary{background-color:rgba(0,102,255,4%)!important}.bg-hard-primary{background-color:#06f!important}.bg-soft-primary{background-color:rgba(0,102,255,.1)!important;border:1px solid rgba(0,102,255,.1)!important;color:#06f!important}.bg-secondary{background-color:rgba(108,117,125,4%)!important}.bg-hard-secondary{background-color:#6c757d!important}.bg-soft-secondary{background-color:rgba(108,117,125,.1)!important;border:1px solid rgba(108,117,125,.1)!important;color:#6c757d!important}.bg-success{background-color:rgba(46,202,139,4%)!important}.bg-hard-success{background-color:#2eca8b!important}.bg-soft-success{background-color:rgba(46,202,139,.1)!important;border:1px solid rgba(46,202,139,.1)!important;color:#2eca8b!important}.bg-info{background-color:rgba(23,162,184,4%)!important}.bg-hard-info{background-color:#17a2b8!important}.bg-soft-info{background-color:rgba(23,162,184,.1)!important;border:1px solid rgba(23,162,184,.1)!important;color:#17a2b8!important}.bg-warning{background-color:rgba(241,116,37,4%)!important}.bg-hard-warning{background-color:#f17425!important}.bg-soft-warning{background-color:rgba(241,116,37,.1)!important;border:1px solid rgba(241,116,37,.1)!important;color:#f17425!important}.bg-danger{background-color:rgba(228,63,82,4%)!important}.bg-hard-danger{background-color:#e43f52!important}.bg-soft-danger{background-color:rgba(228,63,82,.1)!important;border:1px solid rgba(228,63,82,.1)!important;color:#e43f52!important}.bg-light{background-color:rgba(248,249,250,4%)!important}.bg-hard-light{background-color:#f8f9fa!important}.bg-soft-light{background-color:rgba(248,249,250,.1)!important;border:1px solid rgba(248,249,250,.1)!important;color:#f8f9fa!important}.bg-dark{background-color:rgba(60,72,88,4%)!important}.bg-hard-dark{background-color:#3c4858!important}.bg-soft-dark{background-color:rgba(60,72,88,.1)!important;border:1px solid rgba(60,72,88,.1)!important;color:#3c4858!important}.bg-footer{background-color:rgba(32,41,66,4%)!important}.bg-hard-footer{background-color:#202942!important}.bg-soft-footer{background-color:rgba(32,41,66,.1)!important;border:1px solid rgba(32,41,66,.1)!important;color:#202942!important}.bg-muted{background-color:rgba(107,118,134,4%)!important}.bg-hard-muted{background-color:#6b7686!important}.bg-soft-muted{background-color:rgba(107,118,134,.1)!important;border:1px solid rgba(107,118,134,.1)!important;color:#6b7686!important}.bg-white-color{background-color:#fff!important}.features.feature-primary .icon{background:rgba(0,102,255,5%)}.features.feature-primary .no-icon{background:0 0}.features.feature-primary .image:before{background:linear-gradient(45deg,transparent,rgba(0,102,255,.1))}.features.feature-primary .read-more,.features.feature-primary .color{color:#06f!important}.features.feature-primary.feature-clean .icons{color:#06f!important}.features.feature-primary.feature-clean .icons i{background-color:rgba(0,102,255,.1)}.features.feature-primary.feature-clean .title:hover{color:#06f!important}.features.feature-primary.feature-full-bg .icon-color{color:#06f!important}.features.feature-primary.feature-full-bg:hover{background-color:#06f!important}.features.feature-primary.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(0,102,255,.15));color:#06f}.features.feature-primary.course-feature .full-img{color:#06f!important}.features.feature-primary.explore-feature:hover .icons,.features.feature-primary.explore-feature:hover .title{color:#06f!important}.features.feature-primary .btn-soft{background-color:rgba(0,102,255,5%)!important;border:1px solid rgba(0,102,255,5%)!important;color:#06f!important;box-shadow:0 3px 5px rgba(0,102,255,.1)}.features.feature-primary .btn-soft:hover,.features.feature-primary .btn-soft:focus,.features.feature-primary .btn-soft:active,.features.feature-primary .btn-soft.active,.features.feature-primary .btn-soft.focus{background-color:#06f!important;border-color:#06f!important;color:#fff!important}.features.feature-primary:hover .image:before{background:rgba(0,102,255,.1)}.features.feature-secondary .icon{background:rgba(108,117,125,5%)}.features.feature-secondary .no-icon{background:0 0}.features.feature-secondary .image:before{background:linear-gradient(45deg,transparent,rgba(108,117,125,.1))}.features.feature-secondary .read-more,.features.feature-secondary .color{color:#6c757d!important}.features.feature-secondary.feature-clean .icons{color:#6c757d!important}.features.feature-secondary.feature-clean .icons i{background-color:rgba(108,117,125,.1)}.features.feature-secondary.feature-clean .title:hover{color:#6c757d!important}.features.feature-secondary.feature-full-bg .icon-color{color:#6c757d!important}.features.feature-secondary.feature-full-bg:hover{background-color:#6c757d!important}.features.feature-secondary.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(108,117,125,.15));color:#6c757d}.features.feature-secondary.course-feature .full-img{color:#6c757d!important}.features.feature-secondary.explore-feature:hover .icons,.features.feature-secondary.explore-feature:hover .title{color:#6c757d!important}.features.feature-secondary .btn-soft{background-color:rgba(108,117,125,5%)!important;border:1px solid rgba(108,117,125,5%)!important;color:#6c757d!important;box-shadow:0 3px 5px rgba(108,117,125,.1)}.features.feature-secondary .btn-soft:hover,.features.feature-secondary .btn-soft:focus,.features.feature-secondary .btn-soft:active,.features.feature-secondary .btn-soft.active,.features.feature-secondary .btn-soft.focus{background-color:#6c757d!important;border-color:#6c757d!important;color:#fff!important}.features.feature-secondary:hover .image:before{background:rgba(108,117,125,.1)}.features.feature-success .icon{background:rgba(46,202,139,5%)}.features.feature-success .no-icon{background:0 0}.features.feature-success .image:before{background:linear-gradient(45deg,transparent,rgba(46,202,139,.1))}.features.feature-success .read-more,.features.feature-success .color{color:#2eca8b!important}.features.feature-success.feature-clean .icons{color:#2eca8b!important}.features.feature-success.feature-clean .icons i{background-color:rgba(46,202,139,.1)}.features.feature-success.feature-clean .title:hover{color:#2eca8b!important}.features.feature-success.feature-full-bg .icon-color{color:#2eca8b!important}.features.feature-success.feature-full-bg:hover{background-color:#2eca8b!important}.features.feature-success.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(46,202,139,.15));color:#2eca8b}.features.feature-success.course-feature .full-img{color:#2eca8b!important}.features.feature-success.explore-feature:hover .icons,.features.feature-success.explore-feature:hover .title{color:#2eca8b!important}.features.feature-success .btn-soft{background-color:rgba(46,202,139,5%)!important;border:1px solid rgba(46,202,139,5%)!important;color:#2eca8b!important;box-shadow:0 3px 5px rgba(46,202,139,.1)}.features.feature-success .btn-soft:hover,.features.feature-success .btn-soft:focus,.features.feature-success .btn-soft:active,.features.feature-success .btn-soft.active,.features.feature-success .btn-soft.focus{background-color:#2eca8b!important;border-color:#2eca8b!important;color:#fff!important}.features.feature-success:hover .image:before{background:rgba(46,202,139,.1)}.features.feature-info .icon{background:rgba(23,162,184,5%)}.features.feature-info .no-icon{background:0 0}.features.feature-info .image:before{background:linear-gradient(45deg,transparent,rgba(23,162,184,.1))}.features.feature-info .read-more,.features.feature-info .color{color:#17a2b8!important}.features.feature-info.feature-clean .icons{color:#17a2b8!important}.features.feature-info.feature-clean .icons i{background-color:rgba(23,162,184,.1)}.features.feature-info.feature-clean .title:hover{color:#17a2b8!important}.features.feature-info.feature-full-bg .icon-color{color:#17a2b8!important}.features.feature-info.feature-full-bg:hover{background-color:#17a2b8!important}.features.feature-info.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(23,162,184,.15));color:#17a2b8}.features.feature-info.course-feature .full-img{color:#17a2b8!important}.features.feature-info.explore-feature:hover .icons,.features.feature-info.explore-feature:hover .title{color:#17a2b8!important}.features.feature-info .btn-soft{background-color:rgba(23,162,184,5%)!important;border:1px solid rgba(23,162,184,5%)!important;color:#17a2b8!important;box-shadow:0 3px 5px rgba(23,162,184,.1)}.features.feature-info .btn-soft:hover,.features.feature-info .btn-soft:focus,.features.feature-info .btn-soft:active,.features.feature-info .btn-soft.active,.features.feature-info .btn-soft.focus{background-color:#17a2b8!important;border-color:#17a2b8!important;color:#fff!important}.features.feature-info:hover .image:before{background:rgba(23,162,184,.1)}.features.feature-warning .icon{background:rgba(241,116,37,5%)}.features.feature-warning .no-icon{background:0 0}.features.feature-warning .image:before{background:linear-gradient(45deg,transparent,rgba(241,116,37,.1))}.features.feature-warning .read-more,.features.feature-warning .color{color:#f17425!important}.features.feature-warning.feature-clean .icons{color:#f17425!important}.features.feature-warning.feature-clean .icons i{background-color:rgba(241,116,37,.1)}.features.feature-warning.feature-clean .title:hover{color:#f17425!important}.features.feature-warning.feature-full-bg .icon-color{color:#f17425!important}.features.feature-warning.feature-full-bg:hover{background-color:#f17425!important}.features.feature-warning.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(241,116,37,.15));color:#f17425}.features.feature-warning.course-feature .full-img{color:#f17425!important}.features.feature-warning.explore-feature:hover .icons,.features.feature-warning.explore-feature:hover .title{color:#f17425!important}.features.feature-warning .btn-soft{background-color:rgba(241,116,37,5%)!important;border:1px solid rgba(241,116,37,5%)!important;color:#f17425!important;box-shadow:0 3px 5px rgba(241,116,37,.1)}.features.feature-warning .btn-soft:hover,.features.feature-warning .btn-soft:focus,.features.feature-warning .btn-soft:active,.features.feature-warning .btn-soft.active,.features.feature-warning .btn-soft.focus{background-color:#f17425!important;border-color:#f17425!important;color:#fff!important}.features.feature-warning:hover .image:before{background:rgba(241,116,37,.1)}.features.feature-danger .icon{background:rgba(228,63,82,5%)}.features.feature-danger .no-icon{background:0 0}.features.feature-danger .image:before{background:linear-gradient(45deg,transparent,rgba(228,63,82,.1))}.features.feature-danger .read-more,.features.feature-danger .color{color:#e43f52!important}.features.feature-danger.feature-clean .icons{color:#e43f52!important}.features.feature-danger.feature-clean .icons i{background-color:rgba(228,63,82,.1)}.features.feature-danger.feature-clean .title:hover{color:#e43f52!important}.features.feature-danger.feature-full-bg .icon-color{color:#e43f52!important}.features.feature-danger.feature-full-bg:hover{background-color:#e43f52!important}.features.feature-danger.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(228,63,82,.15));color:#e43f52}.features.feature-danger.course-feature .full-img{color:#e43f52!important}.features.feature-danger.explore-feature:hover .icons,.features.feature-danger.explore-feature:hover .title{color:#e43f52!important}.features.feature-danger .btn-soft{background-color:rgba(228,63,82,5%)!important;border:1px solid rgba(228,63,82,5%)!important;color:#e43f52!important;box-shadow:0 3px 5px rgba(228,63,82,.1)}.features.feature-danger .btn-soft:hover,.features.feature-danger .btn-soft:focus,.features.feature-danger .btn-soft:active,.features.feature-danger .btn-soft.active,.features.feature-danger .btn-soft.focus{background-color:#e43f52!important;border-color:#e43f52!important;color:#fff!important}.features.feature-danger:hover .image:before{background:rgba(228,63,82,.1)}.features.feature-light .icon{background:rgba(248,249,250,5%)}.features.feature-light .no-icon{background:0 0}.features.feature-light .image:before{background:linear-gradient(45deg,transparent,rgba(248,249,250,.1))}.features.feature-light .read-more,.features.feature-light .color{color:#f8f9fa!important}.features.feature-light.feature-clean .icons{color:#f8f9fa!important}.features.feature-light.feature-clean .icons i{background-color:rgba(248,249,250,.1)}.features.feature-light.feature-clean .title:hover{color:#f8f9fa!important}.features.feature-light.feature-full-bg .icon-color{color:#f8f9fa!important}.features.feature-light.feature-full-bg:hover{background-color:#f8f9fa!important}.features.feature-light.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(248,249,250,.15));color:#f8f9fa}.features.feature-light.course-feature .full-img{color:#f8f9fa!important}.features.feature-light.explore-feature:hover .icons,.features.feature-light.explore-feature:hover .title{color:#f8f9fa!important}.features.feature-light .btn-soft{background-color:rgba(248,249,250,5%)!important;border:1px solid rgba(248,249,250,5%)!important;color:#f8f9fa!important;box-shadow:0 3px 5px rgba(248,249,250,.1)}.features.feature-light .btn-soft:hover,.features.feature-light .btn-soft:focus,.features.feature-light .btn-soft:active,.features.feature-light .btn-soft.active,.features.feature-light .btn-soft.focus{background-color:#f8f9fa!important;border-color:#f8f9fa!important;color:#fff!important}.features.feature-light:hover .image:before{background:rgba(248,249,250,.1)}.features.feature-dark .icon{background:rgba(60,72,88,5%)}.features.feature-dark .no-icon{background:0 0}.features.feature-dark .image:before{background:linear-gradient(45deg,transparent,rgba(60,72,88,.1))}.features.feature-dark .read-more,.features.feature-dark .color{color:#3c4858!important}.features.feature-dark.feature-clean .icons{color:#3c4858!important}.features.feature-dark.feature-clean .icons i{background-color:rgba(60,72,88,.1)}.features.feature-dark.feature-clean .title:hover{color:#3c4858!important}.features.feature-dark.feature-full-bg .icon-color{color:#3c4858!important}.features.feature-dark.feature-full-bg:hover{background-color:#3c4858!important}.features.feature-dark.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(60,72,88,.15));color:#3c4858}.features.feature-dark.course-feature .full-img{color:#3c4858!important}.features.feature-dark.explore-feature:hover .icons,.features.feature-dark.explore-feature:hover .title{color:#3c4858!important}.features.feature-dark .btn-soft{background-color:rgba(60,72,88,5%)!important;border:1px solid rgba(60,72,88,5%)!important;color:#3c4858!important;box-shadow:0 3px 5px rgba(60,72,88,.1)}.features.feature-dark .btn-soft:hover,.features.feature-dark .btn-soft:focus,.features.feature-dark .btn-soft:active,.features.feature-dark .btn-soft.active,.features.feature-dark .btn-soft.focus{background-color:#3c4858!important;border-color:#3c4858!important;color:#fff!important}.features.feature-dark:hover .image:before{background:rgba(60,72,88,.1)}.features.feature-footer .icon{background:rgba(32,41,66,5%)}.features.feature-footer .no-icon{background:0 0}.features.feature-footer .image:before{background:linear-gradient(45deg,transparent,rgba(32,41,66,.1))}.features.feature-footer .read-more,.features.feature-footer .color{color:#202942!important}.features.feature-footer.feature-clean .icons{color:#202942!important}.features.feature-footer.feature-clean .icons i{background-color:rgba(32,41,66,.1)}.features.feature-footer.feature-clean .title:hover{color:#202942!important}.features.feature-footer.feature-full-bg .icon-color{color:#202942!important}.features.feature-footer.feature-full-bg:hover{background-color:#202942!important}.features.feature-footer.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(32,41,66,.15));color:#202942}.features.feature-footer.course-feature .full-img{color:#202942!important}.features.feature-footer.explore-feature:hover .icons,.features.feature-footer.explore-feature:hover .title{color:#202942!important}.features.feature-footer .btn-soft{background-color:rgba(32,41,66,5%)!important;border:1px solid rgba(32,41,66,5%)!important;color:#202942!important;box-shadow:0 3px 5px rgba(32,41,66,.1)}.features.feature-footer .btn-soft:hover,.features.feature-footer .btn-soft:focus,.features.feature-footer .btn-soft:active,.features.feature-footer .btn-soft.active,.features.feature-footer .btn-soft.focus{background-color:#202942!important;border-color:#202942!important;color:#fff!important}.features.feature-footer:hover .image:before{background:rgba(32,41,66,.1)}.features.feature-muted .icon{background:rgba(107,118,134,5%)}.features.feature-muted .no-icon{background:0 0}.features.feature-muted .image:before{background:linear-gradient(45deg,transparent,rgba(107,118,134,.1))}.features.feature-muted .read-more,.features.feature-muted .color{color:#6b7686!important}.features.feature-muted.feature-clean .icons{color:#6b7686!important}.features.feature-muted.feature-clean .icons i{background-color:rgba(107,118,134,.1)}.features.feature-muted.feature-clean .title:hover{color:#6b7686!important}.features.feature-muted.feature-full-bg .icon-color{color:#6b7686!important}.features.feature-muted.feature-full-bg:hover{background-color:#6b7686!important}.features.feature-muted.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(107,118,134,.15));color:#6b7686}.features.feature-muted.course-feature .full-img{color:#6b7686!important}.features.feature-muted.explore-feature:hover .icons,.features.feature-muted.explore-feature:hover .title{color:#6b7686!important}.features.feature-muted .btn-soft{background-color:rgba(107,118,134,5%)!important;border:1px solid rgba(107,118,134,5%)!important;color:#6b7686!important;box-shadow:0 3px 5px rgba(107,118,134,.1)}.features.feature-muted .btn-soft:hover,.features.feature-muted .btn-soft:focus,.features.feature-muted .btn-soft:active,.features.feature-muted .btn-soft.active,.features.feature-muted .btn-soft.focus{background-color:#6b7686!important;border-color:#6b7686!important;color:#fff!important}.features.feature-muted:hover .image:before{background:rgba(107,118,134,.1)}.features .image:before{content:"";position:absolute;bottom:5px;left:5px;width:64px;height:64px;border-radius:6px;transform:rotate(33.75deg)}.features.feature-clean{background-color:#fff}.features.feature-clean .icons i{height:65px;width:65px;line-height:65px}.features .ride-image{transform:rotate(-45deg)}.features .ride-image img{border-radius:100% 100% 100% 0}.features.key-feature{transition:all .3s ease}.features.key-feature:hover{transform:scale(1.05);box-shadow:0 5px 13px rgba(60,72,88,.2)!important}.features:hover .image:before{animation:spinner-border 5s linear infinite!important}.features.feature-full-bg{transition:all .5s ease}.features.feature-full-bg .big-icon{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;opacity:.015;font-size:180px}.features.feature-full-bg:hover{box-shadow:0 10px 25px rgba(60,72,88,.15);color:#fff!important}.features.feature-full-bg:hover .icon-color i,.features.feature-full-bg:hover .para{color:rgba(255,255,255,.5)!important}.features.feature-full-bg:hover .content,.features.feature-full-bg:hover .icon-color{z-index:2}.features.feature-full-bg:hover .big-icon{opacity:.05}.features.feature-full-bg:hover .readmore{color:#fff!important}.features .title,.key-feature .title{font-size:22px!important}.features .icon,.features .no-icon,.key-feature .icon,.key-feature .no-icon{height:45px;min-width:45px;display:flex;align-items:center;justify-content:center}.fw-medium{font-weight:600}.section{padding:100px 0;position:relative}@media(max-width:768px){.section{padding:60px 0}}.section-two{padding:60px 0;position:relative}.bg-overlay{background-color:rgba(60,72,88,.7);position:absolute;top:0;right:0;left:0;bottom:0;width:100%;height:100%}.bg-overlay-white{background-color:rgba(255,255,255,.5)}.bg-gradient-primary{background:linear-gradient(to left,#59339d 0%,#0257d5 100%)}.bg-linear-gradient{background:linear-gradient(to bottom,transparent 0%,transparent 50%,rgba(0,0,0,.3) 80%,black 100%)}.bg-linear-gradient-2{background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.7) 75%,black 100%)}.bg-linear-gradient-3{background:linear-gradient(to right,black 0%,black 25%,black 50%,rgba(0,0,0,.5) 75%,transparent 100%)}.bg-gradient-overlay{background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 25%,rgba(0,0,0,.75) 50%,black 100%)}.bg-gradient-overlay-2{background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,rgba(0,0,0,.6) 25%,rgba(0,0,0,.7) 50%,rgba(0,0,0,.8) 100%)}.bg-primary-gradient-overlay{background:linear-gradient(to bottom,rgba(13,110,253,0) 0%,rgba(13,110,253,.25) 25%,rgba(13,110,253,.5) 50%,rgba(13,110,253,.75) 75%,#0d6efd 100%)}.bg-gradient-white-overlay{background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 50%,rgba(255,255,255,.5) 100%)}.title-heading{line-height:26px}.title-heading .heading{font-size:65px!important;letter-spacing:1px}@media(max-width:768px){.title-heading .heading{font-size:35px!important}}.title-heading .para-desc{font-size:18px}.section-title .title{letter-spacing:.5px;font-size:30px!important}@media(max-width:768px){.section-title .title{font-size:24px!important}}.text-shadow-title{text-shadow:2px 0 0 #fff,-2px 0 0 #fff,0 4px 0 rgba(255,255,255,.4),0 -2px 0 #fff,1px 1px #fff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff}.para-desc{max-width:600px}.mt-100{margin-top:100px}.feature-posts-placeholder{position:absolute;bottom:0;left:0;right:0;height:66.6%}@media(max-width:425px){.feature-posts-placeholder{height:80%}}@media(min-width:768px){.margin-top-100{margin-top:100px}}@media(max-width:768px){.mt-60{margin-top:60px}}@keyframes animate{0%{transform:translateY(0)rotate(0);opacity:1;border-radius:10px}100%{transform:translateY(-1e3px)rotate(720deg);opacity:0}}.rounded{border-radius:4px!important}.rounded-top{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-top-1{border-top-left-radius:.2rem!important;border-top-right-radius:.2rem!important}.rounded-top-2{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-top-3{border-top-left-radius:.3rem!important;border-top-right-radius:.3rem!important}.rounded-top-4{border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.rounded-top-5{border-top-left-radius:2rem!important;border-top-right-radius:2rem!important}.rounded-left{border-top-left-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-left-1{border-top-left-radius:.2rem!important;border-bottom-left-radius:.2rem!important}.rounded-left-2{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left-3{border-top-left-radius:.3rem!important;border-bottom-left-radius:.3rem!important}.rounded-left-4{border-top-left-radius:1rem!important;border-bottom-left-radius:1rem!important}.rounded-left-5{border-top-left-radius:2rem!important;border-bottom-left-radius:2rem!important}.rounded-bottom{border-bottom-left-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-bottom-1{border-bottom-right-radius:.2rem!important;border-bottom-left-radius:.2rem!important}.rounded-bottom-2{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-bottom-3{border-bottom-right-radius:.3rem!important;border-bottom-left-radius:.3rem!important}.rounded-bottom-4{border-bottom-right-radius:1rem!important;border-bottom-left-radius:1rem!important}.rounded-bottom-5{border-bottom-right-radius:2rem!important;border-bottom-left-radius:2rem!important}.rounded-right{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-right-1{border-bottom-right-radius:.2rem!important;border-top-right-radius:.2rem!important}.rounded-right-2{border-bottom-right-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right-3{border-bottom-right-radius:.3rem!important;border-top-right-radius:.3rem!important}.rounded-right-4{border-bottom-right-radius:1rem!important;border-top-right-radius:1rem!important}.rounded-right-5{border-bottom-right-radius:2rem!important;border-top-right-radius:2rem!important}.rounded-md{border-radius:10px!important}.rounded-lg{border-radius:30px!important}.border-primary{border-color:#06f!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#2eca8b!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#f17425!important}.border-danger{border-color:#e43f52!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#3c4858!important}.border-footer{border-color:#202942!important}.border-muted{border-color:#6b7686!important}.opacity-05{opacity:.05}.opacity-075{opacity:.075}.opacity-1{opacity:.1}.opacity-2{opacity:.2}.opacity-3{opacity:.3}.opacity-4{opacity:.4}.opacity-5{opacity:.5}.opacity-6{opacity:.6}.opacity-7{opacity:.7}.opacity-8{opacity:.8}.opacity-9{opacity:.9}.z-index-1{z-index:1}.z-index-0{z-index:0}.z-index-m-1{z-index:-1}.small,small{font-size:90%}.social-icon li a{color:#3c4858;border:1px solid #3c4858;height:32px;width:32px;display:inline-flex;justify-content:center;align-items:center;text-align:center;transition:all .4s ease;overflow:hidden;position:relative}.social-icon li a .fea-social{stroke-width:2}.social-icon li a:hover{background-color:#06f;border-color:#06f!important;color:#fff!important}.social-icon li a:hover .fea-social{fill:#06f}.social-icon.social li a{color:#adb5bd;border-color:#adb5bd}.social-icon.foot-social-icon li a{color:#adb5bd;border-color:#283453}.back-to-top{position:fixed;z-index:99;bottom:30px;right:30px;display:none;transition:all .5s ease;height:36px;width:36px;line-height:33px;border-radius:6px;border:none;text-align:center;text-align:-moz-center;text-align:-webkit-center;padding-top:7px;background:#06f;color:#fff!important}.back-to-top .icons{transition:all .5s ease}.back-to-top:hover{transform:rotate(45deg)}.back-to-top:hover .icons{transform:rotate(-45deg)!important}.position-middle-bottom{position:absolute;bottom:15px;left:12px;right:12px;text-align:center}.text-color-white{color:#fff!important}.d-flex .flex-1{flex:1}.material-icons{font-family:material symbols outlined;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}span.size-16,i.size-16{font-size:16px!important;font-variation-settings:'OPSZ' 16}span.size-20,i.size-20{font-size:20px!important;font-variation-settings:'OPSZ' 20}span.size-24,i.size-24{font-size:24px!important;font-variation-settings:'OPSZ' 24}span.size-40,i.size-40{font-size:40px!important;font-variation-settings:'OPSZ' 40}span.size-48,i.size-48{font-size:48px!important;font-variation-settings:'OPSZ' 48}span.icon-bg{background:#06f;color:#fff!important;font-variation-settings:'GRAD' -25;margin-left:-8px!important;padding:3px;border-radius:3px}span.menu-icon{margin:0 5px 3px -2px}@media(max-width:767px){.classic-hero-image img{max-width:100%;height:auto}}.hero{background-size:cover;padding-top:70px} \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml index f4a5570..6ecb2ad 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,134 +2,134 @@ - http://enterprise.federated.computer/docs/overview/ + https://enterprise.federated.computer/docs/overview/ 2025-08-25T12:25:51-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ + https://enterprise.federated.computer/docs/federated-core-platform/federated-core-platform/ 2025-08-25T12:32:20-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/ + https://enterprise.federated.computer/docs/federated-core-platform/ 2025-08-25T12:26:41-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/ 2025-08-26T14:35:07-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/provisioner/ 2025-08-25T12:35:51-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-server/ 2025-08-25T12:34:34-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-mini/ 2025-08-25T12:34:18-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-storage/ 2025-08-25T12:36:10-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/unified-messaging/ 2025-08-25T12:36:03-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/authentication/ 2025-08-25T12:33:49-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/dashboard/ 2025-08-26T14:43:09-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/computer/ 2025-08-25T12:33:56-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/management/ + https://enterprise.federated.computer/docs/federated-core-platform/management/ 2025-08-26T14:35:18-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ + https://enterprise.federated.computer/docs/federated-core-platform/management/core-scanner/ 2025-08-25T12:34:24-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ + https://enterprise.federated.computer/docs/federated-core-platform/management/update-and-upgrade/ 2025-08-25T12:36:19-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ + https://enterprise.federated.computer/docs/federated-core-platform/management/monitor-and-fix/ 2025-08-25T12:35:43-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/customization/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/ 2025-08-26T14:35:38-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/core-workflow-intelligence/ 2025-08-25T12:34:45-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/adding-software-to-federated-core/ 2025-08-25T12:35:31-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/why-open-source-projects-work-with-federated/ 2025-08-25T12:36:40-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ + https://enterprise.federated.computer/docs/federated-core-platform/customization/whitelabel/ 2025-08-28T12:01:52-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/billing/ + https://enterprise.federated.computer/docs/federated-core-platform/billing/ 2025-08-26T14:35:48-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ + https://enterprise.federated.computer/docs/federated-core-platform/billing/account-management-and-billing/ 2025-08-25T12:33:38-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/services/ + https://enterprise.federated.computer/docs/federated-core-platform/services/ 2025-08-26T14:35:55-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ + https://enterprise.federated.computer/docs/federated-core-platform/services/federated-management/ 2025-08-25T12:35:12-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ + https://enterprise.federated.computer/docs/federated-core-platform/services/customer-service-and-support/ 2025-08-26T14:47:00-06:00 - http://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ + https://enterprise.federated.computer/docs/federated-core-platform/provisioning/core-desktop/ 2025-08-25T12:34:05-06:00 - http://enterprise.federated.computer/docs/software-catalog/ + https://enterprise.federated.computer/docs/software-catalog/ 2025-08-25T12:28:10-06:00 - http://enterprise.federated.computer/docs/software-catalog/software-catalog/ + https://enterprise.federated.computer/docs/software-catalog/software-catalog/ 2025-08-25T12:39:33-06:00 - http://enterprise.federated.computer/docs/software-catalog/bundles/ + https://enterprise.federated.computer/docs/software-catalog/bundles/ 2025-08-25T12:39:03-06:00 - http://enterprise.federated.computer/docs/software-catalog/federated-commerce/ + https://enterprise.federated.computer/docs/software-catalog/federated-commerce/ 2025-08-25T12:39:14-06:00 - http://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ + https://enterprise.federated.computer/docs/software-catalog/federated-omnimedia/ 2025-08-25T12:39:23-06:00 - http://enterprise.federated.computer/docs/partners/ + https://enterprise.federated.computer/docs/partners/ 2025-08-25T12:27:57-06:00 - http://enterprise.federated.computer/docs/partners/operators-networks-platforms/ + https://enterprise.federated.computer/docs/partners/operators-networks-platforms/ 2025-08-25T12:38:19-06:00 - http://enterprise.federated.computer/docs/partners/managed-service-providers/ + https://enterprise.federated.computer/docs/partners/managed-service-providers/ 2025-08-25T12:37:54-06:00 - http://enterprise.federated.computer/docs/partners/pro-customers/ + https://enterprise.federated.computer/docs/partners/pro-customers/ 2025-08-26T11:12:45-06:00 - http://enterprise.federated.computer/docs/partners/on-line-affiliates/ + https://enterprise.federated.computer/docs/partners/on-line-affiliates/ 2025-08-25T12:38:06-06:00 - http://enterprise.federated.computer/docs/about-federated-computer/ + https://enterprise.federated.computer/docs/about-federated-computer/ 2025-08-25T12:28:26-06:00 - http://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ + https://enterprise.federated.computer/docs/about-federated-computer/federated-company-backgrounder/ 2025-08-25T12:40:08-06:00 - http://enterprise.federated.computer/docs/about-federated-computer/roadmap/ + https://enterprise.federated.computer/docs/about-federated-computer/roadmap/ 2025-08-28T13:41:48-06:00 - http://enterprise.federated.computer/docs/ + https://enterprise.federated.computer/docs/ 2025-08-28T13:41:48-06:00 - http://enterprise.federated.computer/ + https://enterprise.federated.computer/ 2025-08-28T13:41:48-06:00 - http://enterprise.federated.computer/categories/ + https://enterprise.federated.computer/categories/ - http://enterprise.federated.computer/tags/ + https://enterprise.federated.computer/tags/ diff --git a/public/tags/index.xml b/public/tags/index.xml index f22695f..400d1f6 100644 --- a/public/tags/index.xml +++ b/public/tags/index.xml @@ -2,10 +2,10 @@ Tags on Federated Computer Enterprise - http://enterprise.federated.computer/tags/ + https://enterprise.federated.computer/tags/ Recent content in Tags on Federated Computer Enterprise Hugo en-us - + diff --git a/resources/_gen/assets/docs/scss/style.scss_2559dcb36d17cc8382d1803115bae9e1.content b/resources/_gen/assets/docs/scss/style.scss_2559dcb36d17cc8382d1803115bae9e1.content index e61e80f..346d206 100644 --- a/resources/_gen/assets/docs/scss/style.scss_2559dcb36d17cc8382d1803115bae9e1.content +++ b/resources/_gen/assets/docs/scss/style.scss_2559dcb36d17cc8382d1803115bae9e1.content @@ -1,3 +1,3 @@ @charset "UTF-8";@font-face{font-family:material symbols outlined;font-weight:400 700;font-display:block;font-style:normal;src:local("Material Symbols Outlined"),local("Material Icons"),local("MaterialIcons-Outlined"),url(../fonts/material-symbols-outlined.woff2)format("woff2")}:root{--primary:var(--blue);--primary-50:var(--blue-50);--primary-100:var(--blue-100);--primary-200:var(--blue-200);--primary-300:var(--blue-300);--primary-400:var(--blue-400);--primary-800:var(--blue-800);--primary-hsl:var(--blue-500-hsl);--primary-50-hsl:var(--blue-50-hsl);--primary-100-hsl:var(--blue-100-hsl);--primary-200-hsl:var(--blue-200-hsl);--primary-300-hsl:var(--blue-300-hsl);--primary-800-hsl:var(--blue-800-hsl)}/*!* Bootstrap v5.3.3 (https://getbootstrap.com/) * Copyright 2011-2024 The Bootstrap Authors -* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)*/:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--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:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--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:Inter;--bs-font-monospace:Fira Code;--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:#212529;--bs-body-color-rgb:33, 37, 41;--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(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--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(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,*::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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width)solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;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}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:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.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:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}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}caption{padding-top:.5rem;padding-bottom:.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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@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}::-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:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.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}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.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:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--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:1140px}}@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:1.5rem;--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}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.33333333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.66666667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333333%}.col-2{flex:none;width:16.66666667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.33333333%}.col-5{flex:none;width:41.66666667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.33333333%}.col-8{flex:none;width:66.66666667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.33333333%}.col-11{flex:none;width:91.66666667%}.col-12{flex:none;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--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}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.33333333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.66666667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333333%}.col-sm-2{flex:none;width:16.66666667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.33333333%}.col-sm-5{flex:none;width:41.66666667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.33333333%}.col-sm-8{flex:none;width:66.66666667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.33333333%}.col-sm-11{flex:none;width:91.66666667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--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}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.33333333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.66666667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333333%}.col-md-2{flex:none;width:16.66666667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.33333333%}.col-md-5{flex:none;width:41.66666667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.33333333%}.col-md-8{flex:none;width:66.66666667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.33333333%}.col-md-11{flex:none;width:91.66666667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--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}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.33333333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.66666667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333333%}.col-lg-2{flex:none;width:16.66666667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.33333333%}.col-lg-5{flex:none;width:41.66666667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.33333333%}.col-lg-8{flex:none;width:66.66666667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.33333333%}.col-lg-11{flex:none;width:91.66666667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--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}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.33333333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.66666667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333333%}.col-xl-2{flex:none;width:16.66666667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.33333333%}.col-xl-5{flex:none;width:41.66666667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.33333333%}.col-xl-8{flex:none;width:66.66666667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.33333333%}.col-xl-11{flex:none;width:91.66666667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--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}.row-cols-xxl-auto>*{flex:none;width:auto}.row-cols-xxl-1>*{flex:none;width:100%}.row-cols-xxl-2>*{flex:none;width:50%}.row-cols-xxl-3>*{flex:none;width:33.33333333%}.row-cols-xxl-4>*{flex:none;width:25%}.row-cols-xxl-5>*{flex:none;width:20%}.row-cols-xxl-6>*{flex:none;width:16.66666667%}.col-xxl-auto{flex:none;width:auto}.col-xxl-1{flex:none;width:8.33333333%}.col-xxl-2{flex:none;width:16.66666667%}.col-xxl-3{flex:none;width:25%}.col-xxl-4{flex:none;width:33.33333333%}.col-xxl-5{flex:none;width:41.66666667%}.col-xxl-6{flex:none;width:50%}.col-xxl-7{flex:none;width:58.33333333%}.col-xxl-8{flex:none;width:66.66666667%}.col-xxl-9{flex:none;width:75%}.col-xxl-10{flex:none;width:83.33333333%}.col-xxl-11{flex:none;width:91.66666667%}.col-xxl-12{flex:none;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--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}}.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)>*>*{padding:.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{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2)solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.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:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--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:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--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:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--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:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--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:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--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{--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:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-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);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 .15s ease-in-out,box-shadow .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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.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::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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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-plaintext{display:block;width:100%;padding:.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 + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.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}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .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 + .75rem + calc(var(--bs-border-width) * 2));padding:.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 + .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:.375rem 2.25rem .375rem .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 .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 .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.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='%23dee2e6' 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:.125rem}.form-check .form-check-input{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{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.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:50%;background-size:contain;border:var(--bs-border-width)solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-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]{--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{background-color:#0d6efd;border-color:#0d6efd;--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{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--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:0;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input: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='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:100%;--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{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,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input: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:1.5rem;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,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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,.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;height:100%;padding:1rem .75rem;overflow:hidden;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 .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.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}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .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,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.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,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23198754' 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.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--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.25rem 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;text-decoration:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-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)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,: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)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{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:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49, 132, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--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:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60, 153, 110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11, 172, 204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217, 164, 6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225, 83, 97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.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:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13, 110, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--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:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25, 135, 84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13, 202, 240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255, 193, 7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220, 53, 69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--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:49, 132, 253;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{--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{--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 .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 .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .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:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.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:#0d6efd;--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:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.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:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.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:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.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;text-decoration:none;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);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:.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:#0d6efd;--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,.btn-group-vertical>.btn{position:relative;flex:auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{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{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);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .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)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link: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{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 .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{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:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{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{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width)solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:initial}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:initial}.nav-fill>.nav-link,.nav-fill .nav-item{flex:auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--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%2833, 37, 41, 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.25rem;--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);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.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 .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.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-basis:100%;flex-grow:1;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:50%;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{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{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{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{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{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{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:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--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='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--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%28255, 255, 255, 0.55%29' 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:var(--bs-border-color-translucent);--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:0.75rem;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: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+.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{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;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='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%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='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--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-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{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='%236ea8fe'%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-.708z'/%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='%236ea8fe'%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-.708z'/%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,"/")}.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(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--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);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width)solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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);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(var(--bs-border-width) * -1)}.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{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--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:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.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:1rem}}.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:#0d6efd;--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,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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:#0d6efd;--bs-list-group-active-border-color:#0d6efd;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-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action: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:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.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);text-decoration:none;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-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.414z'/%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(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:var(--bs-btn-close-bg)50%/1em no-repeat;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;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--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: ;--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{transition:transform .3s ease-out;transform:translate(0,-50px)}@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:calc(-.5 * var(--bs-modal-header-padding-y))calc(-.5 * var(--bs-modal-header-padding-x))calc(-.5 * var(--bs-modal-header-padding-y))auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex: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)}.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)}.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)}.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)}.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)}.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)}.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)}.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)}.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 .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 .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:0 0;border:0;opacity:.5;transition:opacity .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:.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 0z'/%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-.708z'/%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:initial;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1)grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1)grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.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)}}.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;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:400px;--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:.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:calc(-.5 * var(--bs-offcanvas-padding-y))calc(-.5 * var(--bs-offcanvas-padding-x))calc(-.5 * var(--bs-offcanvas-padding-y))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:.5}.placeholder.btn::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:.2}}.placeholder-wave{mask-image:linear-gradient(130deg,#000 55%,rgba(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%}}.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:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!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:#fff!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(10,88,202,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(10,88,202,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(20,108,67,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(20,108,67,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(61,213,243,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(61,213,243,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(255,205,57,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,205,57,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(176,42,55,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(176,42,55,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,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.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:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.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(.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: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}.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:.25}.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:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.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: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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.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:.25rem!important}.gap-2{gap:.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:.25rem!important}.row-gap-2{row-gap:.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:.25rem!important}.column-gap-2{column-gap:.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 + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .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}.text-break{word-wrap:break-word!important;word-break:break-word!important}.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,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.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:.125em!important}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2{text-underline-offset:.25em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3{text-underline-offset:.375em!important}.link-offset-3-hover:hover{text-underline-offset:.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: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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.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:.25rem!important}.gap-sm-2{gap:.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:.25rem!important}.row-gap-sm-2{row-gap:.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:.25rem!important}.column-gap-sm-2{column-gap:.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: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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.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:.25rem!important}.gap-md-2{gap:.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:.25rem!important}.row-gap-md-2{row-gap:.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:.25rem!important}.column-gap-md-2{column-gap:.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: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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.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:.25rem!important}.gap-lg-2{gap:.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:.25rem!important}.row-gap-lg-2{row-gap:.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:.25rem!important}.column-gap-lg-2{column-gap:.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: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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.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:.25rem!important}.gap-xl-2{gap:.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:.25rem!important}.row-gap-xl-2{row-gap:.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:.25rem!important}.column-gap-xl-2{column-gap:.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: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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.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:.25rem!important}.gap-xxl-2{gap:.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:.25rem!important}.row-gap-xxl-2{row-gap:.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:.25rem!important}.column-gap-xxl-2{column-gap:.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}}:root{--blue-900-hsl:243, 72%, 25%;--blue-800-hsl:239, 70%, 32%;--blue-700-hsl:235, 68%, 38%;--blue-600-hsl:231, 66%, 45%;--blue-500-hsl:226, 66%, 51%;--blue-400-hsl:221, 77%, 60%;--blue-300-hsl:217, 88%, 69%;--blue-200-hsl:212, 100%, 79%;--blue-100-hsl:207, 100%, 88%;--blue-50-hsl:198, 100%, 97%;--green-900-hsl:153, 54%, 20%;--green-800-hsl:145, 57%, 25%;--green-700-hsl:136, 60%, 29%;--green-600-hsl:128, 63%, 34%;--green-500-hsl:119, 66%, 39%;--green-400-hsl:114, 49%, 51%;--green-300-hsl:110, 56%, 62%;--green-200-hsl:105, 64%, 74%;--green-100-hsl:102, 69%, 86%;--green-50-hsl:98, 73%, 97%;--red-900-hsl:344, 48%, 33%;--red-800-hsl:348, 50%, 40%;--red-700-hsl:352, 53%, 46%;--red-600-hsl:356, 62%, 53%;--red-500-hsl:1, 84%, 59%;--red-400-hsl:356, 98%, 67%;--red-300-hsl:350, 100%, 73%;--red-200-hsl:345, 100%, 80%;--red-100-hsl:339, 100%, 88%;--red-50-hsl:332, 100%, 97%;--yellow-900-hsl:44, 60%, 17%;--yellow-800-hsl:45, 59%, 25%;--yellow-700-hsl:46, 58%, 33%;--yellow-600-hsl:48, 57%, 41%;--yellow-500-hsl:48, 55%, 49%;--yellow-400-hsl:50, 72%, 57%;--yellow-300-hsl:51, 98%, 65%;--yellow-200-hsl:54, 100%, 72%;--yellow-100-hsl:54, 100%, 81%;--yellow-50-hsl:55, 100%, 93%;--cyan-900-hsl:194, 100%, 16%;--cyan-800-hsl:193, 100%, 21%;--cyan-700-hsl:192, 100%, 27%;--cyan-600-hsl:191, 100%, 32%;--cyan-500-hsl:190, 98%, 37%;--cyan-400-hsl:189, 94%, 43%;--cyan-300-hsl:187, 85%, 58%;--cyan-200-hsl:185, 100%, 72%;--cyan-100-hsl:180, 100%, 83%;--cyan-50-hsl:180, 100%, 94%;--cardinal-900-hsl:355, 68%, 21%;--cardinal-800-hsl:353, 67%, 29%;--cardinal-700-hsl:353, 65%, 37%;--cardinal-600-hsl:352, 63%, 45%;--cardinal-500-hsl:351, 67%, 52%;--cardinal-400-hsl:350, 89%, 60%;--cardinal-300-hsl:347, 100%, 68%;--cardinal-200-hsl:343, 100%, 75%;--cardinal-100-hsl:340, 100%, 83%;--cardinal-50-hsl:338, 100%, 96%;--magenta-900-hsl:297, 63%, 21%;--magenta-800-hsl:296, 62%, 29%;--magenta-700-hsl:295, 61%, 37%;--magenta-600-hsl:294, 58%, 45%;--magenta-500-hsl:293, 63%, 53%;--magenta-400-hsl:292, 84%, 61%;--magenta-300-hsl:291, 100%, 69%;--magenta-200-hsl:292, 100%, 75%;--magenta-100-hsl:293, 100%, 84%;--magenta-50-hsl:293, 100%, 94%;--emerald-900-hsl:165, 97%, 13%;--emerald-800-hsl:164, 96%, 18%;--emerald-700-hsl:163, 93%, 23%;--emerald-600-hsl:162, 89%, 29%;--emerald-500-hsl:161, 87%, 34%;--emerald-400-hsl:160, 84%, 39%;--emerald-300-hsl:158, 66%, 53%;--emerald-200-hsl:154, 77%, 68%;--emerald-100-hsl:149, 89%, 82%;--emerald-50-hsl:145, 100%, 94%;--blue-900:hsl(var(--blue-900-hsl));--blue-800:hsl(var(--blue-800-hsl));--blue-700:hsl(var(--blue-700-hsl));--blue-600:hsl(var(--blue-600-hsl));--blue-500:hsl(var(--blue-500-hsl));--blue-400:hsl(var(--blue-400-hsl));--blue-300:hsl(var(--blue-300-hsl));--blue-200:hsl(var(--blue-200-hsl));--blue-100:hsl(var(--blue-100-hsl));--blue-50:hsl(var(--blue-50-hsl));--green-900:hsl(var(--green-900-hsl));--green-800:hsl(var(--green-800-hsl));--green-700:hsl(var(--green-700-hsl));--green-600:hsl(var(--green-600-hsl));--green-500:hsl(var(--green-500-hsl));--green-400:hsl(var(--green-400-hsl));--green-300:hsl(var(--green-300-hsl));--green-200:hsl(var(--green-200-hsl));--green-100:hsl(var(--green-100-hsl));--green-50:hsl(var(--green-50-hsl));--red-900:hsl(var(--red-900-hsl));--red-800:hsl(var(--red-800-hsl));--red-700:hsl(var(--red-700-hsl));--red-600:hsl(var(--red-600-hsl));--red-500:hsl(var(--red-500-hsl));--red-400:hsl(var(--red-400-hsl));--red-300:hsl(var(--red-300-hsl));--red-200:hsl(var(--red-200-hsl));--red-100:hsl(var(--red-100-hsl));--red-50:hsl(var(--red-50-hsl));--yellow-900:hsl(var(--yellow-900-hsl));--yellow-800:hsl(var(--yellow-800-hsl));--yellow-700:hsl(var(--yellow-700-hsl));--yellow-600:hsl(var(--yellow-600-hsl));--yellow-500:hsl(var(--yellow-500-hsl));--yellow-400:hsl(var(--yellow-400-hsl));--yellow-300:hsl(var(--yellow-300-hsl));--yellow-200:hsl(var(--yellow-200-hsl));--yellow-100:hsl(var(--yellow-100-hsl));--yellow-50:hsl(var(--yellow-50-hsl));--cyan-900:hsl(var(--cyan-900-hsl));--cyan-800:hsl(var(--cyan-800-hsl));--cyan-700:hsl(var(--cyan-700-hsl));--cyan-600:hsl(var(--cyan-600-hsl));--cyan-500:hsl(var(--cyan-500-hsl));--cyan-400:hsl(var(--cyan-400-hsl));--cyan-300:hsl(var(--cyan-300-hsl));--cyan-200:hsl(var(--cyan-200-hsl));--cyan-100:hsl(var(--cyan-100-hsl));--cyan-50:hsl(var(--cyan-50-hsl));--cardinal-900:hsl(var(--cardinal-900-hsl));--cardinal-800:hsl(var(--cardinal-800-hsl));--cardinal-700:hsl(var(--cardinal-700-hsl));--cardinal-600:hsl(var(--cardinal-600-hsl));--cardinal-500:hsl(var(--cardinal-500-hsl));--cardinal-400:hsl(var(--cardinal-400-hsl));--cardinal-300:hsl(var(--cardinal-300-hsl));--cardinal-200:hsl(var(--cardinal-200-hsl));--cardinal-100:hsl(var(--cardinal-100-hsl));--cardinal-50:hsl(var(--cardinal-50-hsl));--magenta-900:hsl(var(--magenta-900-hsl));--magenta-800:hsl(var(--magenta-800-hsl));--magenta-700:hsl(var(--magenta-700-hsl));--magenta-600:hsl(var(--magenta-600-hsl));--magenta-500:hsl(var(--magenta-500-hsl));--magenta-400:hsl(var(--magenta-400-hsl));--magenta-300:hsl(var(--magenta-300-hsl));--magenta-200:hsl(var(--magenta-200-hsl));--magenta-100:hsl(var(--magenta-100-hsl));--magenta-50:hsl(var(--magenta-50-hsl));--emerald-900:hsl(var(--emerald-900-hsl));--emerald-800:hsl(var(--emerald-800-hsl));--emerald-700:hsl(var(--emerald-700-hsl));--emerald-600:hsl(var(--emerald-600-hsl));--emerald-500:hsl(var(--emerald-500-hsl));--emerald-400:hsl(var(--emerald-400-hsl));--emerald-300:hsl(var(--emerald-300-hsl));--emerald-200:hsl(var(--emerald-200-hsl));--emerald-100:hsl(var(--emerald-100-hsl));--emerald-50:hsl(var(--emerald-50-hsl));--blue:var(--blue-500);--green:var(--green-500);--red:var(--red-500);--yellow:var(--yellow-500);--cyan:var(--cyan-500);--cardinal:var(--cardinal-500);--magenta:var(--magenta-500);--emerald:var(--emerald-500);--secondary:var(--gray-600);--success:var(--green);--info:var(--cyan);--warning:var(--yellow);--danger:var(--red);--light:var(--gray-100);--dark:#181921;--dark-alt:#212529;--dark-secondary:#292a35;--white:#ffffff;--gray-50:#f7fafc;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--black:#000000;--link-color:var(--primary);--link-decoration:underline;--link-shade-percentage:20%;--link-hover-decoration:null;--text-default:var(--text-dark);--text-default-inv:var(--text-light);--text-muted:var(--gray-600);--bs-secondary-color:var(--gray-600);--body-color:var(--text-default);--body-bg:var(--white);--text-dark:#3C4257;--text-light:#dee2e6;--fw-medium:600;--shadow-sm:0 .125rem .25rem rgba(var(--dark), .15);--shadow:0 0 3px rgba(var(--dark), .15);--shadow-md:0 5px 13px rgba(var(--dark), .2);--shadow-lg:0 10px 25px rgba(var(--dark), 0.15);--overlay:rgba(var(--dark), 0.7);--bg-overlay-white:rgba(var(--white), 0.5);--back-to-top-color:var(--white);--simplebar-color:#adb5bd;--footer:#202942;--footer-bg:var(--white);--foot-social-color:#adb5bd;--social-border-color:#adb5bd;--foot-social-color-white:var(--white);--l-100:100%;--btn-soft-color:var(--primary);--btn-soft-bg:transparent;--btn-soft-border:var(--gray-200);--btn-primary-color:var(--white);--btn-primary-bg:var(--primary);--btn-primary-border:transparent;--btn-default-color:var(--text-default);--btn-default-hover-color:var(--primary);--btn-default-bg:transparent;--btn-default-border:transparent;--icon-color:var(--primary);--folder:"\e2c7";--article:"\ef42";--dash:"\f88a";--dir-right:"\e5da";--card-bg:var(--white);--card-border-color:var(--gray-400);--card-border-hover-color:var(--primary);--sidebar-primary:var(--primary);--sidebar-bg:var(--white);--top-header-bg:hsla(255,100%,100%,0.8);--sidebar-text-color:#606770;--sidebar-border-color:var(--gray-200);--sidebar-dropdown-hover-bg:#eff1f4;--sidebar-menu-active-bg:#f5f6f8;--sidebar-icon-bg:#f8f9fa;--sidebar-light-icon:#f8f9fa;--sidebar-scrollbar-thumb-color:var(--gray-200);--sidebar-directory-icon:var(--dir-right);--sidebar-file-icon:var(--dash)}[data-dark-mode]{--body-bg:var(--dark);--text-default:var(--text-light);--text-default-inv:var(--text-dark);--text-muted:#b6b9be;--bs-secondary-color:#6c757d;--btn-soft-color:var(--gray-400);--btn-soft-bg:none;--btn-soft-border:var(--gray-800);--btn-primary-color:var(--primary-200);--btn-primary-bg:none;--btn-primary-border:var(--gray-700);--btn-default-color:var(--text-default);--btn-default-hover-color:var(--primary-300);--btn-default-bg:transparent;--btn-default-border:transparent;--icon-color:#b6bbc9;--card-bg:none;--card-border-color:var(--gray-800);--card-border-hover-color:var(--primary-200);--sidebar-primary:var(--primary-300);--sidebar-bg:var(--dark);--top-header-bg:hsla(233,16%,11%,0.8);--sidebar-text-color:#b6bbc9;--sidebar-border-color:var(--gray-900);--sidebar-dropdown-hover-bg:#2b303b;--sidebar-menu-active-bg:#2b303b;--sidebar-icon-bg:#2b303b;--sidebar-light-icon:#f8f9fa;--sidebar-scrollbar-thumb-color:var(--gray-800)}html{scroll-padding-top:80px;background-color:var(--body-bg)}body{font-family:Inter;overflow-x:hidden!important;font-size:1rem;color:var(--body-color);background-color:var(--body-bg)}@media(max-width:1199px){html{scroll-padding-top:120px}body{font-size:.9rem}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--bs-font-sans-serif);line-height:1.4;font-weight:600}::selection{background:var(--primary);color:var(--white);opacity:.9}a{text-decoration:none;transition:all .5s ease;color:var(--primary)}a:hover{color:var(--primary-800)}p{line-height:1.6}img{height:auto}:root{--content-icon-color:var(--primary);--content-icon-bg:var(--sidebar-icon-bg);--content-icon-border:var(--sidebar-icon-bg);--content-link-color:var(--primary);--ordered-list-bg:var(--gray-300);--ordered-list-color:var(--gray-800);--blockquote-border-color:var(--gray-300);--code-block-bg:#212d63;--inline-code-bg:var(--gray-100);--inline-code-border:1px solid var(--gray-400)}[data-dark-mode]{--content-icon-color:var(--primary-200);--content-icon-bg:hsl(var(--primary-hsl), 0.15);--content-icon-border:var(--primary-800);--content-link-color:var(--primary-300);--ordered-list-bg:var(--gray-700);--ordered-list-color:var(--gray-200);--blockquote-border-color:var(--primary-200);--code-block-bg:var(--gray-900);--inline-code-bg:var(--gray-800);--inline-code-border:1px solid var(--gray-600)}.docs-content{order:1}.docs-content .main-content a{font-weight:600;color:var(--content-link-color)}.docs-content .main-content a:hover{text-decoration:underline 2px var(--primary-200);text-underline-offset:2.5px!important;transition:0s!important}.docs-content .main-content a code{color:var(--content-link-color)}.docs-content .main-content #edit-this-page a:hover,.docs-content .main-content #list-item a:hover{text-decoration:none!important}.docs-content .main-content li{color:var(--text-default)}.docs-content .main-content h1,.docs-content .main-content .h1,.docs-content .main-content h2,.docs-content .main-content .h2,.docs-content .main-content h3,.docs-content .main-content .h3,.docs-content .main-content h4,.docs-content .main-content .h4,.docs-content .main-content h5,.docs-content .main-content .h5{font-weight:700;color:var(--body-color)}.docs-content .content-title{font-weight:700;align-self:center}i.title-icon{width:44px;height:44px;color:var(--content-icon-color);background-color:var(--content-icon-bg);display:inline-flex!important;align-self:center;align-items:center;justify-content:center;font-size:24px;border-radius:5px}@media(max-width:768px){i.title-icon{align-self:auto}}.docs-content p.lead{color:var(--text-muted);font-weight:400}@media(max-width:1199px){.docs-content{padding-left:calc(var(--bs-gutter-x) * 1.05);padding-right:calc(var(--bs-gutter-x) * 1.05)}.docs-content h2,.docs-content .h2{margin-bottom:1rem}.docs-content p.lead{font-size:1rem}}.docs-content .main-content img,.docs-content .main-content svg{max-width:100%;height:auto}.docs-content .main-content a svg{vertical-align:middle;padding-bottom:.25rem;margin-left:3px}.docs-content .main-content ul{padding-left:0}.docs-content .main-content ul>li{position:relative;padding-left:32px}.docs-content .main-content ul>li::before{content:"";position:absolute;width:6px;height:6px;left:8px;top:10px;border-radius:30%;background:var(--gray-500)}.docs-content .main-content ol{counter-reset:listitem}.docs-content .main-content ol>li{counter-increment:listitem;position:relative;padding-left:32px}.docs-content .main-content ol>li::before{content:counter(listitem);background:var(--ordered-list-bg);color:var(--ordered-list-color);font-size:12px;font-weight:500;line-height:10px;text-align:center;padding:5px 0;width:20px;height:20px;border-radius:5px;position:absolute;left:0;top:3px}.docs-content .main-content ol,.docs-content .main-content ul{list-style:none;line-height:26px}.docs-content .main-content blockquote{margin-bottom:1rem;font-size:1.25rem;border-left:3px solid var(--blockquote-border-color);padding-left:1rem}.docs-content .main-content div.highlight{margin:16px 0;padding:0;background:var(--code-block-bg);border-radius:4px}.docs-content .main-content div.highlight pre{padding:0}.docs-content .main-content code{font-size:inherit;font-weight:400;padding:1px 2px;background:var(--inline-code-bg);border:var(--inline-code-border);border-radius:4px}.docs-content .main-content pre{margin:0;border-radius:4px;padding:0}.docs-content .main-content pre code{font-size:.8rem;display:block;border:none;overflow-x:auto;line-height:1.5;padding:0 2.5rem 1.25rem;tab-size:4;scrollbar-width:thin}.docs-content .main-content strong code{font-weight:700}.docs-content .main-content td pre code{overflow-x:unset!important}.docs-content .main-content .alert ul{font-size:var(--font-size-sm)}.docs-content figcaption{font-size:small}.page-wrapper{height:100vh}.page-wrapper .sidebar-wrapper{transition:all .3s ease;width:300px;height:100%;max-height:100%;position:fixed;top:0;left:-300px;z-index:999}@media(min-width:1025px){.page-wrapper .sidebar-wrapper{z-index:1000}}@media(max-width:1024px){.page-wrapper .sidebar-wrapper{left:0}}@media(max-width:425px){.page-wrapper .sidebar-wrapper{width:260px}}.page-wrapper .sidebar-wrapper ul{list-style-type:none;padding:0;margin:0}.page-wrapper .sidebar-wrapper a{text-decoration:none}.page-wrapper .sidebar-wrapper .sidebar-content{background:var(--sidebar-bg);max-height:calc(100% - 30px);height:calc(100% - 30px);overflow:scroll;overflow-x:hidden;overflow-y:overlay;position:relative;border-right:1px solid var(--sidebar-border-color);scrollbar-width:thin;scrollbar-color:var(--sidebar-bg)var(--sidebar-bg)}.page-wrapper .sidebar-wrapper .sidebar-content.desktop{overflow-y:hidden}.page-wrapper .sidebar-wrapper .sidebar-content:hover{scrollbar-color:var(--sidebar-scrollbar-thumb-color)var(--sidebar-bg)}.page-wrapper .sidebar-wrapper .sidebar-content::-webkit-scrollbar{width:5px;height:8px}.page-wrapper .sidebar-wrapper .sidebar-content::-webkit-scrollbar-track{background:var(--sidebar-bg);display:none}.page-wrapper .sidebar-wrapper .sidebar-content:hover::-webkit-scrollbar-thumb{background:var(--sidebar-scrollbar-thumb-color)}.page-wrapper .sidebar-wrapper .sidebar-brand{background:var(--sidebar-bg);padding:10px 20px;border-bottom:1px solid var(--sidebar-border-color);display:flex;align-items:center;height:72px}.page-wrapper .sidebar-wrapper .sidebar-brand>a{text-transform:uppercase;font-weight:700;flex-grow:1;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-brand>a:focus{outline:none}.page-wrapper .sidebar-wrapper .sidebar-brand>a svg{height:26px}.page-wrapper .sidebar-wrapper .sidebar-brand #close-sidebar{cursor:pointer;font-size:24px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-header{padding:20px;overflow:hidden}.page-wrapper .sidebar-wrapper .sidebar-menu{padding:16px 0 16px 10px}.page-wrapper .sidebar-wrapper .sidebar-menu .header-menu span{font-weight:700;font-size:14px;padding:15px 20px 5px;display:inline-block}.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{display:inline-block;color:var(--sidebar-text-color);width:100%;text-decoration:none;position:relative;padding:4px 35px 5px 10px;margin:4px 0;border:none;letter-spacing:normal;transition:all .3s ease;display:flex;align-items:center;text-align:left}@media(max-width:1024px){.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{padding:6px 24px}}@media screen and (max-width:425px){.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{padding:6px 26px 6px 12px}}.page-wrapper .sidebar-wrapper .sidebar-menu li a:hover>i::before,.page-wrapper .sidebar-wrapper .sidebar-menu li button:hover>i::before{display:inline-block}.page-wrapper .sidebar-wrapper .sidebar-menu li a:focus,.page-wrapper .sidebar-wrapper .sidebar-menu li button:focus{outline:none}.page-wrapper .sidebar-wrapper .sidebar-menu li a i,.page-wrapper .sidebar-wrapper .sidebar-menu li button i{min-width:36px;height:36px;background-color:var(--sidebar-icon-bg);display:inline-flex!important;align-items:center;justify-content:center;font-size:20px;text-align:center;border-radius:4px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu li a.sidebar-nested-link,.page-wrapper .sidebar-wrapper .sidebar-menu li button.sidebar-nested-link{align-items:normal}.page-wrapper .sidebar-wrapper .sidebar-menu li a:hover,.page-wrapper .sidebar-wrapper .sidebar-menu li.sidebar-dropdown button:hover{background-color:var(--sidebar-dropdown-hover-bg);border-radius:4px 0 0 4px;margin:4px 0}.page-wrapper .sidebar-wrapper .sidebar-menu li:hover i,.page-wrapper .sidebar-wrapper .sidebar-menu li.active i{background-color:var(--sidebar-menu-active-bg)}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>a:before{content:none!important}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>button{margin:1px 0}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>button:hover{margin:1px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-root-link{font-size:1rem}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.no-icon>button:after{top:inherit!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown>button:after{content:"\e5cc"!important;color:var(--sidebar-text-color);font-family:material symbols outlined;font-weight:500;font-size:22px;position:absolute;right:15px;top:7px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested.no-icon>button:after{top:inherit!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested.no-icon>button:before{content:none!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button{font-size:14px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button:before{content:var(--sidebar-directory-icon);color:var(--sidebar-text-color);font-family:material symbols outlined;margin-right:4px;font-size:14px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button:after{top:inherit}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.active>button:after{transform:rotate(90deg);right:17px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.current>button:after{color:var(--sidebar-primary)}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu{display:none}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul{padding:3px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li{padding-left:15px;font-size:14px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a{font-weight:400}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a:before{content:var(--sidebar-file-icon);color:var(--sidebar-text-color);font-family:material symbols outlined;margin-right:4px;font-size:14px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a .badge,.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a .label{float:right;margin-top:0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li.no-icon{padding-left:10px}.page-wrapper .sidebar-wrapper .sidebar-menu ul li a span.label,.page-wrapper .sidebar-wrapper .sidebar-menu ul li a span.badge{float:right;margin-top:8px;margin-left:5px}.page-wrapper .sidebar-wrapper .sidebar-header .user-info .user-role,.page-wrapper .sidebar-wrapper .sidebar-header .user-info .user-status,.page-wrapper .sidebar-wrapper .sidebar-brand>a,.page-wrapper .sidebar-wrapper .sidebar-menu li a{color:var(--sidebar-text-color);font-weight:600}.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a,.page-wrapper .sidebar-wrapper .sidebar-menu li:active>a,.page-wrapper .sidebar-wrapper .sidebar-menu li:active>a:before,.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a:before,.page-wrapper .sidebar-wrapper .sidebar-menu li.current>button:before,.page-wrapper .sidebar-wrapper .sidebar-header .user-info,.page-wrapper .sidebar-wrapper .sidebar-brand>a:hover{color:var(--sidebar-primary)!important}.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a{font-weight:600!important;background-color:var(--sidebar-menu-active-bg);border-right:3px solid var(--primary);border-radius:4px 0 0 4px;margin:4px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.current>button{color:var(--sidebar-primary)!important}.page-wrapper .sidebar-wrapper .sidebar-brand .sidebar-colored{display:none}.page-wrapper .sidebar-wrapper .sidebar-brand .logo-dark-mode{display:none}.page-wrapper .sidebar-wrapper .sidebar-brand .logo-light-mode{display:inline-block}.page-wrapper .page-content{display:inline-block;width:100%;padding-left:0;transition:all .3s ease}.page-wrapper .page-content .top-header{position:fixed;right:0;top:0;z-index:999;max-height:70px;left:0;transition:all .3s}.page-wrapper .page-content .top-header .header-bar{background:var(--top-header-bg);backdrop-filter:saturate(180%)blur(5px);height:72px;border-bottom:1px solid var(--sidebar-border-color);position:relative;justify-content:space-between;align-items:center;padding:24px}@media(max-width:425px){.page-wrapper .page-content .top-header .header-bar{padding:24px 12px}}.page-wrapper .page-content .top-header .header-bar .logo-icon{display:none}@media(max-width:1024px){.page-wrapper .page-content .top-header .header-bar .logo-icon{display:block}}.page-wrapper .page-content .top-header .header-bar .logo-icon .small{display:none}@media(max-width:767px){.page-wrapper .page-content .top-header .header-bar .logo-icon .small{display:block}}.page-wrapper .page-content .top-header .header-bar .logo-icon .small svg{height:22px}.page-wrapper .page-content .top-header .header-bar .logo-icon .big{display:none}.page-wrapper .page-content .top-header .header-bar .logo-icon .big .logo-dark-mode{display:none}.page-wrapper .page-content .top-header .header-bar .logo-icon .big .logo-light-mode{display:inline-block}@media(min-width:768px) and (max-width:1024px){.page-wrapper .page-content .top-header .header-bar .logo-icon .big{display:block}}.page-wrapper .page-content .layout-spacing{padding:94px 14px 24px!important;min-height:calc(100vh - 66px)!important;position:relative}@media(max-width:425px){.page-wrapper .page-content .layout-spacing{padding:84px 0 24px!important}}@media screen and (min-width:1025px){.page-wrapper.toggled .page-content{padding-left:300px}}.page-wrapper.toggled .top-header{left:300px}@media(max-width:1024px){.page-wrapper.toggled .top-header{left:0}}.page-wrapper.toggled .sidebar-wrapper{left:0}@media(max-width:1024px){.page-wrapper.toggled .sidebar-wrapper{left:-300px}}.sidebar-footer{position:absolute;background:var(--sidebar-bg);width:100%;bottom:0;left:0;right:0;padding:9px 24px 9px 20px!important;border-right:1px solid var(--sidebar-border-color);height:60px}@media(max-width:425px){.sidebar-footer{padding:9px 12px!important}}:root{--doc-nav-title-link-color:var(--primary)}[data-dark-mode]{--doc-nav-title-link-color:var(--primary-300)}#doc-nav .card-title{color:var(--doc-nav-title-link-color)}#doc-nav .card-text{color:var(--text-muted)}@media(max-width:425px){.doc-next{order:2}.doc-prev{order:1}}.doc-hr{border-top:1px solid var(--gray-500);margin-top:2rem;margin-bottom:0;padding-top:1rem}:root{--toc-link-hover-bg-color:var(--gray-300);--toc-mobile-btn-bg-color:var(--gray-100);--toc-mobile-menu-bg-color:var(--white);--toc-mobile-link-hover-color:var(--primary)}[data-dark-mode]{--toc-link-hover-bg-color:var(--gray-700);--toc-mobile-btn-bg-color:var(--gray-900);--toc-mobile-menu-bg-color:var(--body-bg);--toc-mobile-link-hover-color:var(--primary-300)}.docs-toc-mobile{position:sticky;top:85px;padding-left:calc(var(--bs-gutter-x) * 1.05);padding-right:calc(var(--bs-gutter-x) * 1.05);z-index:20}.docs-toc-mobile a{color:var(--text-default)}.docs-toc-mobile a:hover{color:var(--toc-mobile-link-hover-color)}.docs-toc-mobile .dropdown-toggle{margin-bottom:16px;background:var(--toc-mobile-btn-bg-color);color:var(--text-default);padding:4px;border:1px solid var(--alert-border-color);border-radius:4px;width:calc(100% + 2px);white-space:normal}.docs-toc-mobile .dropdown-menu{transform:translateY(-16.5px)!important;background:var(--toc-mobile-menu-bg-color);inset:-1px auto none var(--bs-gutter-x)!important;border:1px solid var(--alert-border-color);border-top:none;border-radius:0 0 4px 4px;width:calc(100% - (var(--bs-gutter-x)*2));max-height:40vh;overflow-y:auto;scrollbar-width:thin}.docs-toc-mobile .dropdown-menu li{list-style:none;padding:0 0 4px}.docs-toc-mobile .dropdown-menu li ul{padding-left:1rem}.docs-toc{position:-webkit-sticky;position:sticky;top:6rem;height:calc(100vh - 11.1rem);overflow-y:auto;order:2;scrollbar-width:thin;scrollbar-color:var(--simplebar-color)rgba(var(--bs-light-rgb),var(--bs-bg-opacity))}@media(max-width:1199px){.docs-toc{position:absolute!important;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}}.docs-toc::-webkit-scrollbar{width:4px;height:18px}.docs-toc::-webkit-scrollbar-track{background:0 0}.docs-toc::-webkit-scrollbar-thumb{background-color:var(--simplebar-color);border-radius:4px;border:transparent}#TableOfContents ul,#toc ul{padding-left:0;margin-bottom:0;list-style:none}#TableOfContents ul li,#toc ul li{padding-bottom:5px}#TableOfContents ul li ul li,#toc ul li ul li{border-top:none;padding-left:1rem;margin-top:.125rem;padding-top:.125rem;padding-bottom:0}#TableOfContents a,#toc a{display:block;color:var(--text-default);padding:0 10px;padding-block:0 .05rem;margin:0 0 0 -10px;border-radius:4px;width:fit-content;font-size:15px;letter-spacing:.02em;transition:all .1s;-webkit-transition:all .1s}#TableOfContents a:hover,#toc a:hover{background-color:var(--toc-link-hover-bg-color);transition:all .1s;-webkit-transition:all .2s}#toc a.active{color:var(--white);background-color:var(--primary);opacity:.9}footer{position:relative;color:var(--text-muted);background:var(--body-bg);height:58px}footer .text-foot{color:var(--gray-500)}footer .footer-head{font-size:18px!important;letter-spacing:1px;font-weight:500}footer a{color:var(--content-link-color)}footer a:hover{color:var(--content-link-color);text-decoration:underline 1.5px var(--primary-200);text-underline-offset:3px!important;transition:0s!important}.footnote-backref{font-size:1.1rem;vertical-align:middle;margin-left:.25rem}:root{--invert:invert(0%);--btn-modal-hover-bg:var(--gray-200)}[data-dark-mode]{--invert:invert(100%);--btn-modal-hover-bg:var(--gray-800)}.btn-soft{background-color:var(--btn-soft-bg)!important;border:1px solid var(--btn-soft-border)!important;color:var(--btn-soft-color)!important}.btn-soft:hover,.btn-soft:active,.btn-soft.active,.btn-soft.focus{background:var(--btn-soft-bg);border-color:var(--btn-soft-border)!important;color:var(--btn-soft-color)!important}.btn-primary{background-color:var(--btn-primary-bg)!important;border:1px solid var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.focus{background:var(--btn-primary-bg);border-color:var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}.btn-default{background-color:var(--btn-default-bg)!important;border:1px solid var(--btn-default-border)!important;color:var(--btn-default-color)!important}.btn-default:hover,.btn-default:active,.btn-default.active,.btn-default.focus{background:var(--btn-default-bg);border-color:var(--btn-default-border)!important;color:var(--btn-default-hover-color)!important}.btn-link-modal{--bs-btn-font-weight:600;--bs-btn-color:var(--text-default);--bs-btn-bg:none;--bs-btn-border-color:var(--bd-violet-bg);--bs-btn-hover-color:var(--btn-default-hover-color);--bs-btn-hover-bg:var(--btn-modal-hover-bg);--bs-btn-hover-border-color:var(--bd-violet-bg);--bs-btn-focus-shadow-rgb:var(--bd-violet-rgb);--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bd-violet-bg);--bs-btn-active-border-color:var(--bd-violet-bg)}.btn-close{filter:var(--invert)}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}.btn{padding:8px 20px;outline:none;text-decoration:none;font-size:16px;letter-spacing:.5px;transition:all .3s;font-weight:600;border-radius:6px}.btn:focus{box-shadow:none!important}.btn.btn-sm,.btn-group-sm>.btn{padding:7px 16px;font-size:12px}.btn.btn-xs{padding:4px 10px;font-size:10px}.btn.btn-lg,.btn-group-lg>.btn{padding:14px 30px;font-size:16px}.btn.searchbtn{padding:6px 20px}.btn.btn-pills{border-radius:30px}.btn.btn-outline-light{border-color:var(--gray-200)!important}.btn.btn-soft-light{color:var(--gray-500)!important;border-color:var(--gray-200)!important}.btn.btn-soft-dark:hover,.btn.btn-soft-dark:focus,.btn.btn-soft-dark:active,.btn.btn-soft-dark.active,.btn.btn-soft-dark.focus{color:var(--gray-400)!important;border-color:var(--gray-200)!important}.btn.btn-dark,.btn.btn-secondary{color:var(--gray-200)}.btn.btn-outline-light{color:var(--gray-900)}.btn.btn-icon{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.btn.btn-icon .icons{height:16px;width:16px;font-size:16px}.btn.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{height:48px;width:48px;line-height:46px}.btn.btn-icon.btn-lg .icons,.btn-group-lg>.btn-icon.btn .icons{height:20px;width:20px;font-size:20px}.btn.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{height:30px;width:30px;line-height:28px}button:not(:disabled){outline:none}:root{--breadcrumb-item-color:var(--primary)}[data-dark-mode]{--breadcrumb-item-color:var(--primary-300)}.breadcrumb .breadcrumb-item a{color:var(--breadcrumb-item-color)}.breadcrumb .breadcrumb-item.active{color:var(--text-muted)}@media(max-width:1199px){.breadcrumb{--bs-breadcrumb-padding-x:0.7rem}}.badge{letter-spacing:1.1px;padding:6px 8px 7px;font-weight:600;line-height:11px;border-radius:4px}.badge.badge-link:hover{color:var(--white)!important}:root{--bg-default:hsl(var(--primary-800-hsl),0.1);--bg-default-border:hsl(var(--primary-800-hsl),0.1);--bg-default-color:var(--text-default)}[data-dark-mode]{--bg-default:var(--gray-800);--bg-default-border:hsl(var(--primary-200-hsl),0.1);--bg-default-color:var(--text-default)}.bg-default{background-color:var(--bg-default)!important;border:1px solid var(--bg-default-border)!important;color:var(--bg-default-color)!important}.bg-primary{background-color:var(--btn-primary-bg)!important;border:1px solid var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}:root{--dropdown-link-color:var(--text-default);--dropdown-bg:var(--body-bg);--dropdown-border-color:var(--alert-border-color);--dropdown-border-radius:0 0 4px 4px;--dropdown-link-hover-color:var(--primary)}[data-dark-mode]{--dropdown-link-color:var(--text-default);--dropdown-bg:var(--body-bg);--dropdown-border-color:var(--alert-border-color);--dropdown-border-radius:0 0 4px 4px;--dropdown-link-hover-color:var(--primary-300)}.dropdown-menu{--bs-dropdown-min-width:7rem;--bs-dropdown-link-color:var(--dropdown-link-color);--bs-dropdown-bg:var(--dropdown-bg);--bs-dropdown-border-color:var(--dropdown-border-color);--bs-dropdown-link-hover-bg:none;--bs-dropdown-link-hover-color:var(--dropdown-link-hover-color);--bs-dropdown-border-radius:var(--dropdown-border-radius);transform:translate(0,57px)!important;border-top:none}:root{--alert-border-color:#dee2e6;--alert-default-color:225.9, 68%, 95.1%;--alert-default-bg:hsl(var(--alert-default-color));--alert-default-border-color:var(--alert-border-color);--alert-primary-color:var(--primary-50-hsl);--alert-primary-bg:hsl(var(--alert-primary-color),0.5);--alert-primary-border-color:var(--alert-border-color);--alert-info-color:204, 45.5%, 97.8%;--alert-info-bg:hsl(var(--alert-info-color));--alert-info-border-color:var(--alert-border-color);--alert-success-color:var(--emerald-50-hsl);--alert-success-bg:hsl(var(--alert-success-color),0.4);--alert-success-border-color:var(--alert-border-color);--alert-danger-color:var(--cardinal-50-hsl);--alert-danger-bg:hsl(var(--alert-danger-color),0.5);--alert-danger-border-color:var(--alert-border-color);--alert-warning-color:var(--yellow-50-hsl);--alert-warning-bg:hsl(var(--alert-warning-color),0.5);--alert-warning-border-color:var(--alert-border-color);--alert-light-bg:var(--gray-200);--alert-light-border-color:var(--alert-border-color);--alert-dark-bg:var(--gray-800);--alert-dark-border-color:var(--alert-border-color)}[data-dark-mode]{--alert-border-color:var(--gray-800);--alert-default-bg:hsl(var(--alert-default-color),0.05);--alert-default-border-color:var(--alert-border-color);--alert-primary-bg:hsl(var(--primary-hsl),0.1);--alert-primary-icon-color:var(--primary-200);--alert-primary-border-color:var(--primary-800);--alert-info-bg:hsl(var(--blue-500-hsl),0.1);--alert-info-icon-color:var(--blue-200);--alert-info-border-color:var(--blue-800);--alert-success-bg:hsl(var(--emerald-500-hsl),0.1);--alert-success-icon-color:var(--emerald-200);--alert-success-border-color:var(--emerald-800);--alert-danger-bg:hsl(var(--cardinal-500-hsl),0.1);--alert-danger-icon-color:var(--cardinal-200);--alert-danger-border-color:var(--cardinal-800);--alert-warning-bg:hsl(var(--yellow-500-hsl),0.1);--alert-warning-icon-color:var(--yellow-200);--alert-warning-border-color:var(--yellow-800);--alert-light-bg:var(--gray-900);--alert-light-icon-color:var(--gray-200);--alert-light-border-color:var(--gray-800);--alert-dark-bg:var(--gray-400);--alert-dark-icon-color:var(--gray-800);--alert-dark-border-color:var(--gray-200)}.alert{font-size:var(--font-size-sm);border-radius:4px;color:var(--gray-700)}.alert p{line-height:1.525rem}.alert p:last-child{margin-bottom:0}.alert-icon{margin-right:.35rem}.alert-default{background-color:var(--alert-default-bg);border-color:var(--alert-border-color);color:var(--text-default)}.alert-white{background-color:rgba(255,255,255,.95)}.alert-primary{background-color:var(--alert-primary-bg);border-color:var(--alert-primary-border-color);color:var(--text-default)}.alert-primary>.alert-icon span{color:var(--alert-primary-icon-color);margin-top:.15rem}.alert-primary a{font-weight:700}.alert-success{background-color:var(--alert-success-bg);border-color:var(--alert-success-border-color);color:var(--text-default)}.alert-success>.alert-icon span{color:var(--alert-success-icon-color);margin-top:.15rem}.alert-success a{font-weight:700}.alert-info{background-color:var(--alert-info-bg);border-color:var(--alert-info-border-color);color:var(--text-default)}.alert-info>.alert-icon span{color:var(--alert-info-icon-color);margin-top:.15rem}.alert-info a{font-weight:700}.alert-warning{background-color:var(--alert-warning-bg);border-color:var(--alert-warning-border-color);color:var(--text-default)}.alert-warning>.alert-icon span{color:var(--alert-warning-icon-color);margin-top:.15rem}.alert-warning .alert-link{color:#523e02}.alert-danger{background-color:var(--alert-danger-bg);border-color:var(--alert-danger-border-color);color:var(--text-default)}.alert-danger>.alert-icon span{color:var(--alert-danger-icon-color);margin-top:.15rem}.alert-danger .alert-link{color:#6a1a21}.alert-light{background-color:var(--alert-light-bg);border-color:var(--alert-light-border-color);color:var(--text-default)}.alert-light>.alert-icon span{color:var(--alert-light-icon-color);margin-top:.15rem}.alert-light .alert-link{color:#4f5050}.alert-dark{background-color:var(--alert-dark-bg);border-color:var(--alert-dark-border-color);color:var(--text-default-inv)}.alert-dark>.alert-icon span{color:var(--alert-dark-icon-color);margin-top:.15rem}.alert-dark .alert-link{color:#101214}.alert .alert-link:hover,.alert .alert-link:focus{text-decoration:none}.alert-dismissible .btn-close{position:absolute;top:50%;transform:translateY(-50%);right:1rem;z-index:2;padding:.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%)}[data-global-alert=closed] #announcement{display:none}:root{--card-title-color:var(--text-default);--card-text-color:var(--text-muted)}[data-dark-mode]{--card-title-color:var(--text-default);--card-text-color:var(--gray-500)}.card{background:var(--card-bg);border-color:var(--card-border-color);border-radius:4px;transition:all .2s;-webkit-transition:all .2s}.card .card-body{padding:1.5rem}.card:hover{border-color:var(--card-border-hover-color)}.card:hover .card-title{color:#fff}.card-title{color:var(--card-title-color)}.card-text{color:var(--card-text-color);font-weight:500}:root{--form-border-color:var(--gray-200);--form-control-focus-color:var(--gray-900);--form-control-focus-bg-color:none;--form-control-focus-border-color:var(--primary);--form-control-placeholder-color:#666d78;--form-check-input-border-color:var(--gray-400);--form-check-input-background-color:var(--primary);--form-check-input-checked-border-color:var(--primary);--form-check-input-checked-bg-image:url("data:image/svg+xml,")}[data-dark-mode]{--form-border-color:var(--gray-800);--form-control-focus-color:var(--gray-200);--form-control-focus-bg-color:#000;--form-control-focus-border-color:var(--primary-300);--form-control-placeholder-color:#7f8497;--form-check-input-border-color:var(--gray-700);--form-check-input-background-color:var(--primary-300);--form-check-input-checked-border-color:var(--primary-300);--form-check-input-checked-bg-image:url("data:image/svg+xml,")}.form-label,.form-check-label{font-weight:700;font-size:14px}.form-control{border:1px solid var(--form-border-color);font-size:14px;line-height:22px;border-radius:4px;color:var(--text-default)!important;background-color:var(--body-bg);text-align:left}.form-control:focus{border-color:var(--primary);box-shadow:none}.form-control[readonly]{background-color:var(--white)}.form-control:disabled{background-color:var(--gray-300)}.form-control::placeholder{color:var(--form-control-placeholder-color)}.form-control:focus{color:var(--form-control-focus-color);border-color:var(--form-control-focus-border-color);background-color:var(--form-control-focus-bg-color)}.form-check-input{border:1px solid var(--form-check-input-border-color);background-color:var(--body-bg)}.form-check-input:focus{border-color:var(--primary);box-shadow:none}.form-check-input.form-check-input:checked{background-color:var(--form-check-input-background-color);border-color:var(--form-check-input-checked-border-color);--bs-form-check-bg-image:var(--form-check-input-checked-bg-image)}:root{--table-hover-bg:rgba(0, 0, 0, 0.075)}[data-dark-mode]{--table-hover-bg:rgba(255, 255, 255, 0.075)}table td{border-top:1px solid var(--card-border-color)}table td,table th{border-right:1px solid var(--card-border-color);padding:8px 12px}table td:last-child,table th:last-child{border-right:0}.table{--bs-table-color:var(--text-default);--bs-table-bg:transparent;--bs-table-accent-bg:none;--bs-table-striped-color:var(--text-default);--bs-table-striped-bg:var(--alert-primary-bg);--bs-table-hover-color:var(--text-default);--bs-table-hover-bg:var(--table-hover-bg);color:var(--text-default);font-size:.875rem;border-collapse:separate;border-spacing:0}.table>:not(caption)>*>*{padding:1rem;border-bottom-width:0}.table tbody{vertical-align:top}.table tbody td{border-top:inherit;border-bottom-width:1px}.table tbody td:first-child{border-left-width:1px}.table tbody td:last-child{border-right:inherit;border-right-width:1px}.table tbody tr:first-child td{border-top-width:1px}.table tbody tr:first-child td:first-child{border-top-left-radius:4px}.table tbody tr:first-child td:last-child{border-top-right-radius:4px}.table tbody tr:last-child td:first-child{border-bottom-left-radius:4px}.table tbody tr:last-child td:last-child{border-bottom-right-radius:4px}.table td,.table th{border-right:0}.table thead,.table tbody,.table tfoot,.table tr,.table td,.table th{border-color:var(--card-border-color)}.table thead tr th{text-transform:uppercase;background:0 0}.table-sm>:not(caption)>*>*,.table-striped>:not(caption)>*>*,.table-borderless>:not(caption)>*>*,.table-hover>:not(caption)>*>*,.table-striped-columns>:not(caption)>*>*{padding:.6rem}@media(max-width:1199px){.table-sm>:not(caption)>*>*,.table-striped>:not(caption)>*>*,.table-borderless>:not(caption)>*>*,.table-hover>:not(caption)>*>*,.table-striped-columns>:not(caption)>*>*{padding:.6rem .25rem}}.table-xs>:not(caption)>*>*{padding:.25rem}.table-borderless>:not(caption)>*>*{border-bottom-width:0!important}.table-borderless td:first-child{border-left-width:0!important}.table-borderless td:last-child{border-right-width:0!important}.table-borderless tr:first-child td{border-top-width:0!important}.table-striped-columns>:not(caption)>tr>th:nth-child(2n){--bs-table-striped-bg:none}.table-responsive{display:block;width:100%;overflow-x:auto}:root{--nav-tabs-border-width:none;--nav-tabs-link-active-bg:none;--nav-tabs-link-active-color:var(--text-default);--nav-tabs-border-color:var(--gray-400)}[data-dark-mode]{--nav-tabs-border-color:var(--gray-800)}.nav-tabs{--bs-nav-tabs-border-width:var(--nav-tabs-border-width);--bs-nav-tabs-link-active-bg:var(--nav-tabs-link-active-bg);--bs-nav-tabs-link-active-color:var(--nav-tabs-link-active-color);border-bottom:1px solid var(--nav-tabs-border-color);margin-bottom:.8rem}.nav-tabs .nav-link{color:var(--text-muted)!important;margin-bottom:-1px}.nav-tabs .nav-link:hover{text-decoration:none!important}.nav-tabs .nav-link.active{border-bottom:2px solid var(--content-link-color);color:var(--content-link-color)!important}.tab-content{margin-bottom:.8rem}:root{--tooltip-bg:var(--white);--tooltip-border-color:var(--content-link-color);--tooltip-drop-shadow-color:var(--gray-500);--tooltip-link-color:var(--gray-700)}[data-dark-mode]{--tooltip-bg:var(--dark-alt);--tooltip-border-color:var(--primary-300);--tooltip-drop-shadow-color:var(--gray-900);--tooltip-link-color:var(--gray-500)}.tooltip{--bs-tooltip-bg:var(--tooltip-bg);--bs-tooltip-opacity:1.0;--bs-tooltip-font-size:0.575rem;--bs-tooltip-max-width:300px}.tooltip-inner{text-align:left;border:2px solid var(--tooltip-border-color);border-width:2px 2px 2px 8px;filter:drop-shadow(4px 4px 5px var(--tooltip-drop-shadow-color));--bs-tooltip-border-radius:4px}.tooltip-inner a{color:var(--tooltip-link-color);font-size:.85rem;line-height:1.55}.tooltip-inner a p{margin-bottom:.2rem;color:var(--text-muted);font-weight:600}.tooltip-inner a strong{font-size:.975rem;line-height:2;color:var(--text-default)}:root{--feature-icon-color:var(--primary);--feature-icon-faint:var(--gray-200);--feature-link-hover-bg-color:var(--primary)}[data-dark-mode]{--feature-icon-color:var(--primary-300);--feature-icon-faint:var(--gray-900);--feature-link-hover-bg-color:var(--gray-900)}.features .icon{background:rgba(var(--primary),.1)}.features .image:before{background:linear-gradient(45deg,transparent,rgba(var(--primary),.1))}.features .read-more,.features .color{color:var(--primary)!important}.features.feature-clean .icons{color:var(--primary)!important}.features.feature-clean .icons i{background-color:rgba(var(--primary),.1)}.features.feature-clean .title:hover{color:var(--primary-800)!important}.features.feature-full-bg .icon-color{color:var(--feature-icon-color)!important}.features.feature-full-bg .icon-faint{color:var(--feature-icon-faint)!important;transition:all .5s ease}.features.feature-full-bg:hover{background-color:var(--feature-link-hover-bg-color)!important}.features.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(var(--primary),.15));color:var(--primary)}.features.course-feature .full-img{color:var(--primary)!important}.features.explore-feature:hover .icons,.features.explore-feature:hover .title{color:var(--primary)!important}.features .btn-soft{background-color:rgba(var(--primary),.05)!important;border:1px solid rgba(var(--primary),.05)!important;color:var(--primary)!important;box-shadow:0 3px 5px rgba(var(--primary),.1)}.features .btn-soft:hover,.features .btn-soft:focus,.features .btn-soft:active,.features .btn-soft.active,.features .btn-soft.focus{background-color:var(--primary)!important;border-color:var(--primary)!important;color:var(--white)!important}.features:hover .image:before{background:rgba(var(--primary),.1)}.features .image:before{content:"";position:absolute;bottom:5px;left:5px;width:64px;height:64px;border-radius:6px;transform:rotate(33.75deg)}.features.feature-clean{background-color:var(--body-bg)}.features.feature-clean .icons i{height:65px;width:65px;line-height:65px}.features .ride-image{transform:rotate(-45deg)}.features .ride-image img{border-radius:100% 100% 100% 0}.features.key-feature{transition:all .3s ease}.features.key-feature:hover{transform:scale(1.05);box-shadow:var(--shadow-md)!important}.features:hover .image:before{animation:spinner-border 5s linear infinite!important}.features.feature-full-bg{transition:all .5s ease}.features.feature-full-bg .big-icon{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;opacity:.015;font-size:180px}.features.feature-full-bg:hover{box-shadow:var--(shadow-lg);color:var(--white)!important}.features.feature-full-bg:hover .icon-color i,.features.feature-full-bg:hover .badge,.features.feature-full-bg:hover .para{color:var(--white)!important;opacity:.5}.features.feature-full-bg:hover .content,.features.feature-full-bg:hover .icon-color{z-index:2}.features.feature-full-bg:hover .big-icon{opacity:.05}.features.feature-full-bg:hover .readmore{color:var(--white)!important}.features.course-feature{transition:all .5s ease}.features.course-feature .full-img{position:absolute;bottom:50%;transform:translateY(50%);left:0;right:0;opacity:0;margin:0 auto;z-index:-2;transition:all .5s ease;font-size:250px}.features.course-feature:hover{transform:translateY(-10px)}.features.course-feature:hover .full-img{opacity:.05}.features.explore-feature{transition:all .5s ease}.features.explore-feature .icons{height:80px;width:80px;line-height:80px;transition:all .5s ease}.features.explore-feature:hover{box-shadow:var(--shadow-lg)!important}.features .title,.key-feature .title{font-size:18px!important}.features .icon,.key-feature .icon{height:45px;min-width:45px;display:flex;align-items:center;justify-content:center}.fw-medium{font-weight:var(--fw-medium)}.section{padding:100px 0;position:relative}@media(max-width:768px){.section{padding:60px 0}}.bg-overlay{background-color:var(--overlay);position:absolute;top:0;right:0;left:0;bottom:0;width:100%;height:100%}.bg-overlay-white{background-color:var(--bg-overlay-white)}.title-heading{line-height:26px}.title-heading .heading{font-size:45px!important;letter-spacing:1px}@media(max-width:768px){.title-heading .heading{font-size:35px!important}}.title-heading .para-desc{font-size:18px}.section-title .title{letter-spacing:.5px;font-size:30px!important}@media(max-width:768px){.section-title .title{font-size:24px!important}}.para-desc{max-width:600px}.mt-100{margin-top:100px}.back-to-top{position:fixed;z-index:99;bottom:30px;right:30px;display:none;transition:all .5s ease;height:36px;width:36px;line-height:0;padding:0;border-radius:4px;border:none;background:var(--primary)}.back-to-top svg{transition:all .5s ease}.back-to-top:hover{transform:rotate(45deg)}.back-to-top:hover svg{transform:rotate(-45deg)!important}.opacity-05{opacity:.05}.opacity-1{opacity:.1}.opacity-2{opacity:.2}.opacity-3{opacity:.3}.opacity-4{opacity:.4}.opacity-5{opacity:.5}.opacity-6{opacity:.6}.opacity-7{opacity:.7}.opacity-075{opacity:.075}.opacity-8{opacity:.8}.opacity-9{opacity:.9}.back-to-home{position:fixed;top:4%;right:2%;z-index:1}.sticky-bar{position:sticky;top:80px}[class^=uil-]:before,[class*=" uil-"]:before{margin:0}.uim-svg{vertical-align:0!important}.social-icon li a{color:var(--dark);border:1px solid var(--dark);height:32px;width:32px;display:inline-flex;justify-content:center;align-items:center;text-align:center;transition:all .4s ease;overflow:hidden;position:relative}.social-icon li a .fea-social{stroke-width:2}.social-icon li a:hover{background-color:var(--primary);border-color:var(--primary)!important;color:var(--foot-social-color-white)!important}.social-icon li a:hover .fea-social{fill:var(--primary)}.social-icon.social li a{color:var(--foot-social-color);border-color:var(--social-border-color)}.social-icon.foot-social-icon li a{color:var(--foot-social-color);border-color:hsl(var(--footer),100%,calc(var(--l) + 5%))}.rounded{border-radius:6px!important}.rounded-top{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-left{border-top-left-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-bottom{border-bottom-left-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-right{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-md{border-radius:10px!important}.rounded-lg{border-radius:30px!important}.bg-white-color{background:var(--bg-white-color)}.d-flex .flex-1{flex:1}.material-icons{font-family:material symbols outlined;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}span.size-16,i.size-16{font-size:16px!important;font-variation-settings:'OPSZ' 16}span.size-20,i.size-20{font-size:20px!important;font-variation-settings:'OPSZ' 20}span.size-24,i.size-24{font-size:24px!important;font-variation-settings:'OPSZ' 24}span.size-40,i.size-40{font-size:40px!important;font-variation-settings:'OPSZ' 40}span.size-48,i.size-48{font-size:48px!important;font-variation-settings:'OPSZ' 48}.anchor{visibility:hidden}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}:root{--prism-code-color:#657b83;--prism-code-bg:#fdf6e3;--prism-code-scrollbar-thumb-color:var(--gray-400);--prism-line-highlight-bg-color:#e9967a;--prism-copy-btn-bg-hover-color:var(--gray-700)}[data-dark-mode]{--prism-code-color:#dee2e6;--prism-code-bg:var(--gray-900);--prism-code-scrollbar-thumb-color:var(--gray-600);--prism-line-highlight-bg-color:var(--gray-600);--prism-copy-btn-bg-hover-color:var(--white)}code[class*=language-],pre[class*=language-]{color:var(--prism-code-color);background:var(--prism-code-bg)!important}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#073642}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#073642}pre[class*=language-]{overflow:auto;border-radius:0 0 4px 4px}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.line-highlight:before,.line-highlight[data-end]:after{background-color:var(--prism-line-highlight-bg-color)}[data-copy-state=copy] span:empty::before{background-color:var(--gray-500)}[data-copy-state=copy] span:empty:hover::before{background-color:var(--prism-copy-btn-bg-hover-color)}[data-copy-state=copy-success] span:empty::before{background-color:var(--emerald-400)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}code{color:var(--text-default)}.docs-content .main-content pre{background-color:var(--prism-code-bg)!important}code[class*=language-],pre[class*=language-]{border:none!important;font-family:Fira Code;font-size:.8rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scrollbar-width:thin;scrollbar-color:var(--prism-code-scrollbar-thumb-color)var(--prism-code-bg)}code[class*=language-]::-webkit-scrollbar,pre[class*=language-]::-webkit-scrollbar{height:5px;background:var(--prism-code-bg)}code[class*=language-]::-webkit-scrollbar-thumb,pre[class*=language-]::-webkit-scrollbar-thumb{background:var(--prism-code-scrollbar-thumb-color)}pre[data-line]{position:relative;padding:0!important}.line-highlight:first-of-type{margin-top:0}.line-highlight:last-of-type{margin-top:0!important}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:0;background:rgba(153,122,102,8%);background:linear-gradient(to right,rgba(153,122,102,.1) 70%,rgba(153,122,102,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.14em;left:.6em;min-width:1.5em;padding:0 .5em;color:#f5f2f0;font:700 95%/1.3 sans-serif;text-align:center;vertical-align:.3em;border-radius:4px;text-shadow:none}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.14em}.line-numbers .line-highlight{margin-top:0!important}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)}pre[class*=language-].line-numbers{position:relative;padding-left:0;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit;padding:.3rem 3rem 1.25rem!important}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:.4em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:var(--gray-400);display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative;margin:16px 0;padding-top:1.25rem!important;background-color:var(--prism-code-bg);border-radius:4px}div.prism-codeblock.hl_lines .code-toolbar{padding-top:1.25rem!important}div.prism-shortcode.data-line .code-toolbar{padding-top:1.25rem!important}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.4em;right:.4em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>button.copy-to-clipboard-button{box-shadow:none;background:var(--prism-code-bg);opacity:.9}[data-copy-state=copy] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M9 43.95q-1.2 0-2.1-.9-.9-.9-.9-2.1V10.8h3v30.15h23.7v3Zm6-6q-1.2 0-2.1-.9-.9-.9-.9-2.1v-28q0-1.2.9-2.1.9-.9 2.1-.9h22q1.2 0 2.1.9.9.9.9 2.1v28q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h22v-28H15v28Zm0 0v-28 28Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M9 43.95q-1.2 0-2.1-.9-.9-.9-.9-2.1V10.8h3v30.15h23.7v3Zm6-6q-1.2 0-2.1-.9-.9-.9-.9-2.1v-28q0-1.2.9-2.1.9-.9 2.1-.9h22q1.2 0 2.1.9.9.9.9 2.1v28q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h22v-28H15v28Zm0 0v-28 28Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;display:block;height:24px;width:24px}[data-copy-state=copy-success] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M18.9 35.7 7.7 24.5l2.15-2.15 9.05 9.05 19.2-19.2 2.15 2.15Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M18.9 35.7 7.7 24.5l2.15-2.15 9.05 9.05 19.2-19.2 2.15 2.15Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;display:block;height:24px;width:24px}[data-copy-state=copy-error] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;background-color:var(--cardinal-300);display:block;height:24px;width:24px}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:4px;background:rgba(224,224,224,.2);box-shadow:0 2px rgba(0,0,0,.2);border-radius:4px}div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus{color:inherit;text-decoration:none}.token.treeview-part .entry-line{position:relative;text-indent:-99em;display:inline-block;vertical-align:top;width:1.2em}.token.treeview-part .entry-line:before,.token.treeview-part .line-h:after{content:"";position:absolute;top:0;left:50%;width:50%;height:100%}.token.treeview-part .line-h:before,.token.treeview-part .line-v:before{border-left:1px solid #ccc}.token.treeview-part .line-v-last:before{height:50%;border-left:1px solid #ccc;border-bottom:1px solid #ccc}.token.treeview-part .line-h:after{height:50%;border-bottom:1px solid #ccc}.token.treeview-part .entry-name{position:relative;display:inline-block;vertical-align:top}.token.treeview-part .entry-name.dotfile{opacity:.5}@font-face{font-family:prismtreeview;src:url(data:application/font-woff;base64,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)format("woff")}.token.treeview-part .entry-name:before{content:"\ea01";font-family:prismtreeview;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:2.5ex;display:inline-block}.token.treeview-part .entry-name.dir:before{content:"\ea02"}.token.treeview-part .entry-name.ext-bmp:before,.token.treeview-part .entry-name.ext-eps:before,.token.treeview-part .entry-name.ext-gif:before,.token.treeview-part .entry-name.ext-jpe:before,.token.treeview-part .entry-name.ext-jpg:before,.token.treeview-part .entry-name.ext-jpeg:before,.token.treeview-part .entry-name.ext-png:before,.token.treeview-part .entry-name.ext-svg:before,.token.treeview-part .entry-name.ext-tiff:before{content:"\ea03"}.token.treeview-part .entry-name.ext-cfg:before,.token.treeview-part .entry-name.ext-conf:before,.token.treeview-part .entry-name.ext-config:before,.token.treeview-part .entry-name.ext-csv:before,.token.treeview-part .entry-name.ext-ini:before,.token.treeview-part .entry-name.ext-log:before,.token.treeview-part .entry-name.ext-md:before,.token.treeview-part .entry-name.ext-nfo:before,.token.treeview-part .entry-name.ext-txt:before{content:"\ea06"}.token.treeview-part .entry-name.ext-asp:before,.token.treeview-part .entry-name.ext-aspx:before,.token.treeview-part .entry-name.ext-c:before,.token.treeview-part .entry-name.ext-cc:before,.token.treeview-part .entry-name.ext-cpp:before,.token.treeview-part .entry-name.ext-cs:before,.token.treeview-part .entry-name.ext-css:before,.token.treeview-part .entry-name.ext-h:before,.token.treeview-part .entry-name.ext-hh:before,.token.treeview-part .entry-name.ext-htm:before,.token.treeview-part .entry-name.ext-html:before,.token.treeview-part .entry-name.ext-jav:before,.token.treeview-part .entry-name.ext-java:before,.token.treeview-part .entry-name.ext-js:before,.token.treeview-part .entry-name.ext-php:before,.token.treeview-part .entry-name.ext-rb:before,.token.treeview-part .entry-name.ext-xml:before{content:"\ea07"}.token.treeview-part .entry-name.ext-7z:before,.token.treeview-part .entry-name.ext-bz:before,.token.treeview-part .entry-name.ext-bz2:before,.token.treeview-part .entry-name.ext-gz:before,.token.treeview-part .entry-name.ext-rar:before,.token.treeview-part .entry-name.ext-tar:before,.token.treeview-part .entry-name.ext-tgz:before,.token.treeview-part .entry-name.ext-zip:before{content:"\ea08"}.token.treeview-part .entry-name.ext-aac:before,.token.treeview-part .entry-name.ext-au:before,.token.treeview-part .entry-name.ext-cda:before,.token.treeview-part .entry-name.ext-flac:before,.token.treeview-part .entry-name.ext-mp3:before,.token.treeview-part .entry-name.ext-oga:before,.token.treeview-part .entry-name.ext-ogg:before,.token.treeview-part .entry-name.ext-wav:before,.token.treeview-part .entry-name.ext-wma:before{content:"\ea04"}.token.treeview-part .entry-name.ext-avi:before,.token.treeview-part .entry-name.ext-flv:before,.token.treeview-part .entry-name.ext-mkv:before,.token.treeview-part .entry-name.ext-mov:before,.token.treeview-part .entry-name.ext-mp4:before,.token.treeview-part .entry-name.ext-mpeg:before,.token.treeview-part .entry-name.ext-mpg:before,.token.treeview-part .entry-name.ext-ogv:before,.token.treeview-part .entry-name.ext-webm:before{content:"\ea05"}.token.treeview-part .entry-name.ext-pdf:before{content:"\ea09"}.token.treeview-part .entry-name.ext-xls:before,.token.treeview-part .entry-name.ext-xlsx:before{content:"\ea0a"}.token.treeview-part .entry-name.ext-doc:before,.token.treeview-part .entry-name.ext-docm:before,.token.treeview-part .entry-name.ext-docx:before{content:"\ea0c"}.token.treeview-part .entry-name.ext-pps:before,.token.treeview-part .entry-name.ext-ppt:before,.token.treeview-part .entry-name.ext-pptx:before{content:"\ea0b"}:root{--flexsearch-container-bg-color:var(--gray-100);--flexsearch-after-bg-color:var(--primary);--flexsearch-after-color:var(--white);--flexsearch-button-hover-bg-color:none;--flexsearch-key-bg-color:var(--primary);--flexsearch-key-color:#fff;--flexsearch-suggestion-bg-color:var(--white);--flexsearch-suggestion-link-hover-bg-color:#f5f6f7;--flexsearch-suggestion-title-color:var(--primary);--flexsearch-suggestion-title-border-color:var(--gray-300);--flexsearch-suggestion-desc-color:var(--text-default)}[data-dark-mode]{--flexsearch-container-bg-color:var(--dark-secondary);--flexsearch-after-bg-color:hsl(var(--primary-hsl),0.15);--flexsearch-after-color:var(--primary-200);--flexsearch-button-hover-bg-color:var(--black);--flexsearch-key-bg-color:hsl(var(--primary-hsl), 0.15);--flexsearch-key-color:var(--primary-200);--flexsearch-suggestion-bg-color:var(--dark-secondary);--flexsearch-suggestion-link-hover-bg-color:var(--gray-800);--flexsearch-suggestion-title-color:var(--primary-200);--flexsearch-suggestion-title-border-color:var(--gray-700);--flexsearch-suggestion-desc-color:var(--gray-300)}#FlexSearchCollapse{transition:.05s ease;width:fit-content}.flexsearch-container{background-color:var(--flexsearch-container-bg-color);padding:.8rem}.flexsearch-container .form-control{border:2px solid var(--primary);font-size:1.2rem}@media(min-width:768px){.flexsearch-container{border-radius:0 0 4px 0}.flexsearch{min-width:500px;width:500px}}.flexsearch-keymap{padding:0 0 .8rem .5rem;list-style:none;display:flex}.flexsearch-keymap .flexsearch-button-cmd-key{height:20px;width:30px}.flexsearch-keymap li:not(:last-of-type){margin-right:.8rem}.flexsearch-keymap li{align-items:center;display:flex}@media(max-width:768px){.flexsearch-keymap{display:none}}.flexsearch-key-label{color:var(--form-control-placeholder-color);font-size:.75em;line-height:1.6em}.flexsearch-button-keys{display:flex;min-width:calc(40px + .8em)}.flexsearch-button-cmd-key{align-items:center;background:var(--flexsearch-key-bg-color);border-radius:3px;color:var(--flexsearch-key-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;border:0;width:56px}.flexsearch-button-key{align-items:center;background:var(--flexsearch-key-bg-color);border-radius:3px;color:var(--flexsearch-key-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0;position:relative;border:0;width:20px;font-size:11px}#flexsearch-button{display:flex;height:36px;padding:0 8px;margin:0 0 0 16px;font-weight:400;align-items:center;justify-content:space-between;border-radius:4px}#flexsearch-button .flexsearch-button-placeholder{color:var(--form-control-placeholder-color)}#flexsearch-button:hover{background:var(--flexsearch-button-hover-bg-color)!important}#flexsearch-button:hover .flexsearch-button-placeholder{color:var(--text-default)}@media(min-width:992px){.flexsearch::after{right:.5125rem}}#suggestions{position:absolute;background-color:var(--flexsearch-suggestion-bg-color);left:0;max-height:70vh;overflow-y:auto;scrollbar-width:thin;margin-top:.5rem;max-width:calc(100vw - .15rem);z-index:999}#suggestions::-webkit-scrollbar{width:5px}#suggestions::-webkit-scrollbar-track{background:0 0}#suggestions::-webkit-scrollbar-thumb{background-color:rgba(155,155,155,.5);border-radius:2px;border:transparent}@media(min-width:992px){#suggestions{left:0}}#suggestions a,.suggestion__no-results{padding:.75rem;margin:0 .5rem}#suggestions a{display:block;text-decoration:none}#suggestions a:focus{background:var(--flexsearch-suggestion-link-hover-bg-color);border-radius:4px;outline:0}#suggestions div:first-child{margin-top:.5rem}#suggestions div:last-child{margin-bottom:.5rem}#suggestions a:hover{background:var(--flexsearch-suggestion-link-hover-bg-color);border-radius:4px}#suggestions span{display:flex;font-size:1rem}.suggestion__title{font-weight:700;color:var(--flexsearch-suggestion-title-color)}.suggestion__description,.suggestion__no-results{color:var(--flexsearch-suggestion-desc-color)}@media(min-width:992px){#suggestions{width:500px;max-width:500px}#suggestions a{display:flex}.suggestion__title{width:9rem;padding-right:1rem;border-right:1px solid var(--flexsearch-suggestion-title-border-color);display:inline-block;text-align:left}.suggestion__description{width:20.1rem;padding-left:1rem}}.docs-content .main-content pre.mermaid{background-color:transparent!important;text-align:center!important}.docs-content .main-content pre.mermaid .messageText{fill:var(--text-default)!important}.docs-content .main-content pre.mermaid .messageLine0,.docs-content .main-content pre.mermaid .messageLine1{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid #arrowhead path,.docs-content .main-content pre.mermaid #crosshead path{fill:var(--text-default)!important;stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .edgePaths path{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .marker{fill:var(--text-default)!important;stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .grid .tick{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .grid .tick text{fill:var(--text-default)!important}.docs-content .main-content pre.mermaid line{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid text{fill:var(--text-default)!important} \ No newline at end of file +* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)*/:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--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:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--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:Inter;--bs-font-monospace:Fira Code;--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:#212529;--bs-body-color-rgb:33, 37, 41;--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(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--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(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,*::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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width)solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;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}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:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.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:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}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}caption{padding-top:.5rem;padding-bottom:.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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@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}::-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:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.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}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.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:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--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:1140px}}@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:1.5rem;--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}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.33333333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.66666667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333333%}.col-2{flex:none;width:16.66666667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.33333333%}.col-5{flex:none;width:41.66666667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.33333333%}.col-8{flex:none;width:66.66666667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.33333333%}.col-11{flex:none;width:91.66666667%}.col-12{flex:none;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--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}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.33333333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.66666667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333333%}.col-sm-2{flex:none;width:16.66666667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.33333333%}.col-sm-5{flex:none;width:41.66666667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.33333333%}.col-sm-8{flex:none;width:66.66666667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.33333333%}.col-sm-11{flex:none;width:91.66666667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--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}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.33333333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.66666667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333333%}.col-md-2{flex:none;width:16.66666667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.33333333%}.col-md-5{flex:none;width:41.66666667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.33333333%}.col-md-8{flex:none;width:66.66666667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.33333333%}.col-md-11{flex:none;width:91.66666667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--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}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.33333333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.66666667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333333%}.col-lg-2{flex:none;width:16.66666667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.33333333%}.col-lg-5{flex:none;width:41.66666667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.33333333%}.col-lg-8{flex:none;width:66.66666667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.33333333%}.col-lg-11{flex:none;width:91.66666667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--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}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.33333333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.66666667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333333%}.col-xl-2{flex:none;width:16.66666667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.33333333%}.col-xl-5{flex:none;width:41.66666667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.33333333%}.col-xl-8{flex:none;width:66.66666667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.33333333%}.col-xl-11{flex:none;width:91.66666667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--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}.row-cols-xxl-auto>*{flex:none;width:auto}.row-cols-xxl-1>*{flex:none;width:100%}.row-cols-xxl-2>*{flex:none;width:50%}.row-cols-xxl-3>*{flex:none;width:33.33333333%}.row-cols-xxl-4>*{flex:none;width:25%}.row-cols-xxl-5>*{flex:none;width:20%}.row-cols-xxl-6>*{flex:none;width:16.66666667%}.col-xxl-auto{flex:none;width:auto}.col-xxl-1{flex:none;width:8.33333333%}.col-xxl-2{flex:none;width:16.66666667%}.col-xxl-3{flex:none;width:25%}.col-xxl-4{flex:none;width:33.33333333%}.col-xxl-5{flex:none;width:41.66666667%}.col-xxl-6{flex:none;width:50%}.col-xxl-7{flex:none;width:58.33333333%}.col-xxl-8{flex:none;width:66.66666667%}.col-xxl-9{flex:none;width:75%}.col-xxl-10{flex:none;width:83.33333333%}.col-xxl-11{flex:none;width:91.66666667%}.col-xxl-12{flex:none;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--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}}.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)>*>*{padding:.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{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2)solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.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:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--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:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--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:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--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:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--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:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--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{--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:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-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);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 .15s ease-in-out,box-shadow .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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.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::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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:initial;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 + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.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}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .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 + .75rem + calc(var(--bs-border-width) * 2));padding:.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 + .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:.375rem 2.25rem .375rem .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 .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 .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.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='%23dee2e6' 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:.125rem}.form-check .form-check-input{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{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.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:50%;background-size:contain;border:var(--bs-border-width)solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-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]{--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{background-color:#0d6efd;border-color:#0d6efd;--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{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--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:0;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input: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='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:100%;--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{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,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input: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:1.5rem;padding:0;appearance:none;background-color:initial}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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,.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;height:100%;padding:1rem .75rem;overflow:hidden;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 .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.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}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .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,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.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,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23198754' 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.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--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.25rem 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;text-decoration:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-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)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,: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)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{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:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49, 132, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--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:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60, 153, 110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11, 172, 204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217, 164, 6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225, 83, 97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.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:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13, 110, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--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:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25, 135, 84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13, 202, 240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255, 193, 7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220, 53, 69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--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:49, 132, 253;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{--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{--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 .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 .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .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:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.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:#0d6efd;--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:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.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:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.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:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.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;text-decoration:none;white-space:nowrap;background-color:initial;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);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:initial}.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:.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:#0d6efd;--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,.btn-group-vertical>.btn{position:relative;flex:auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{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{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);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .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)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link: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{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 .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{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:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{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{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width)solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:initial}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:initial}.nav-fill>.nav-link,.nav-fill .nav-item{flex:auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--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%2833, 37, 41, 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.25rem;--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);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.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 .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.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-basis:100%;flex-grow:1;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:initial;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:50%;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{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:initial!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{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:initial!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{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:initial!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{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:initial!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{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:initial!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{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:initial!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:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--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='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--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%28255, 255, 255, 0.55%29' 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:var(--bs-border-color-translucent);--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:0.75rem;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: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+.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{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;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='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%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='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--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-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{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='%236ea8fe'%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-.708z'/%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='%236ea8fe'%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-.708z'/%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,"/")}.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(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--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);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width)solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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);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(var(--bs-border-width) * -1)}.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{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--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:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.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:1rem}}.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:#0d6efd;--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,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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:#0d6efd;--bs-list-group-active-border-color:#0d6efd;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-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action: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:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.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);text-decoration:none;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-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.414z'/%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(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:var(--bs-btn-close-bg)50%/1em no-repeat;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;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--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: ;--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{transition:transform .3s ease-out;transform:translate(0,-50px)}@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:calc(-.5 * var(--bs-modal-header-padding-y))calc(-.5 * var(--bs-modal-header-padding-x))calc(-.5 * var(--bs-modal-header-padding-y))auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex: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)}.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)}.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)}.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)}.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)}.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)}.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)}.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)}.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 .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 .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:0 0;border:0;opacity:.5;transition:opacity .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:.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 0z'/%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-.708z'/%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:initial;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1)grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1)grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.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)}}.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;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:400px;--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:initial!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:.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:calc(-.5 * var(--bs-offcanvas-padding-y))calc(-.5 * var(--bs-offcanvas-padding-x))calc(-.5 * var(--bs-offcanvas-padding-y))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:.5}.placeholder.btn::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:.2}}.placeholder-wave{mask-image:linear-gradient(130deg,#000 55%,rgba(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%}}.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:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!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:#fff!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(10,88,202,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(10,88,202,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(20,108,67,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(20,108,67,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(61,213,243,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(61,213,243,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(255,205,57,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,205,57,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(176,42,55,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(176,42,55,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,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.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:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.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(.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: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}.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:.25}.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:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.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: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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.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:.25rem!important}.gap-2{gap:.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:.25rem!important}.row-gap-2{row-gap:.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:.25rem!important}.column-gap-2{column-gap:.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 + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .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}.text-break{word-wrap:break-word!important;word-break:break-word!important}.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,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.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:.125em!important}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2{text-underline-offset:.25em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3{text-underline-offset:.375em!important}.link-offset-3-hover:hover{text-underline-offset:.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:initial!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: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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.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:.25rem!important}.gap-sm-2{gap:.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:.25rem!important}.row-gap-sm-2{row-gap:.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:.25rem!important}.column-gap-sm-2{column-gap:.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: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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.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:.25rem!important}.gap-md-2{gap:.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:.25rem!important}.row-gap-md-2{row-gap:.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:.25rem!important}.column-gap-md-2{column-gap:.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: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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.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:.25rem!important}.gap-lg-2{gap:.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:.25rem!important}.row-gap-lg-2{row-gap:.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:.25rem!important}.column-gap-lg-2{column-gap:.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: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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.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:.25rem!important}.gap-xl-2{gap:.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:.25rem!important}.row-gap-xl-2{row-gap:.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:.25rem!important}.column-gap-xl-2{column-gap:.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: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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.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:.25rem!important}.gap-xxl-2{gap:.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:.25rem!important}.row-gap-xxl-2{row-gap:.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:.25rem!important}.column-gap-xxl-2{column-gap:.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}}:root{--blue-900-hsl:243, 72%, 25%;--blue-800-hsl:239, 70%, 32%;--blue-700-hsl:235, 68%, 38%;--blue-600-hsl:231, 66%, 45%;--blue-500-hsl:226, 66%, 51%;--blue-400-hsl:221, 77%, 60%;--blue-300-hsl:217, 88%, 69%;--blue-200-hsl:212, 100%, 79%;--blue-100-hsl:207, 100%, 88%;--blue-50-hsl:198, 100%, 97%;--green-900-hsl:153, 54%, 20%;--green-800-hsl:145, 57%, 25%;--green-700-hsl:136, 60%, 29%;--green-600-hsl:128, 63%, 34%;--green-500-hsl:119, 66%, 39%;--green-400-hsl:114, 49%, 51%;--green-300-hsl:110, 56%, 62%;--green-200-hsl:105, 64%, 74%;--green-100-hsl:102, 69%, 86%;--green-50-hsl:98, 73%, 97%;--red-900-hsl:344, 48%, 33%;--red-800-hsl:348, 50%, 40%;--red-700-hsl:352, 53%, 46%;--red-600-hsl:356, 62%, 53%;--red-500-hsl:1, 84%, 59%;--red-400-hsl:356, 98%, 67%;--red-300-hsl:350, 100%, 73%;--red-200-hsl:345, 100%, 80%;--red-100-hsl:339, 100%, 88%;--red-50-hsl:332, 100%, 97%;--yellow-900-hsl:44, 60%, 17%;--yellow-800-hsl:45, 59%, 25%;--yellow-700-hsl:46, 58%, 33%;--yellow-600-hsl:48, 57%, 41%;--yellow-500-hsl:48, 55%, 49%;--yellow-400-hsl:50, 72%, 57%;--yellow-300-hsl:51, 98%, 65%;--yellow-200-hsl:54, 100%, 72%;--yellow-100-hsl:54, 100%, 81%;--yellow-50-hsl:55, 100%, 93%;--cyan-900-hsl:194, 100%, 16%;--cyan-800-hsl:193, 100%, 21%;--cyan-700-hsl:192, 100%, 27%;--cyan-600-hsl:191, 100%, 32%;--cyan-500-hsl:190, 98%, 37%;--cyan-400-hsl:189, 94%, 43%;--cyan-300-hsl:187, 85%, 58%;--cyan-200-hsl:185, 100%, 72%;--cyan-100-hsl:180, 100%, 83%;--cyan-50-hsl:180, 100%, 94%;--cardinal-900-hsl:355, 68%, 21%;--cardinal-800-hsl:353, 67%, 29%;--cardinal-700-hsl:353, 65%, 37%;--cardinal-600-hsl:352, 63%, 45%;--cardinal-500-hsl:351, 67%, 52%;--cardinal-400-hsl:350, 89%, 60%;--cardinal-300-hsl:347, 100%, 68%;--cardinal-200-hsl:343, 100%, 75%;--cardinal-100-hsl:340, 100%, 83%;--cardinal-50-hsl:338, 100%, 96%;--magenta-900-hsl:297, 63%, 21%;--magenta-800-hsl:296, 62%, 29%;--magenta-700-hsl:295, 61%, 37%;--magenta-600-hsl:294, 58%, 45%;--magenta-500-hsl:293, 63%, 53%;--magenta-400-hsl:292, 84%, 61%;--magenta-300-hsl:291, 100%, 69%;--magenta-200-hsl:292, 100%, 75%;--magenta-100-hsl:293, 100%, 84%;--magenta-50-hsl:293, 100%, 94%;--emerald-900-hsl:165, 97%, 13%;--emerald-800-hsl:164, 96%, 18%;--emerald-700-hsl:163, 93%, 23%;--emerald-600-hsl:162, 89%, 29%;--emerald-500-hsl:161, 87%, 34%;--emerald-400-hsl:160, 84%, 39%;--emerald-300-hsl:158, 66%, 53%;--emerald-200-hsl:154, 77%, 68%;--emerald-100-hsl:149, 89%, 82%;--emerald-50-hsl:145, 100%, 94%;--blue-900:hsl(var(--blue-900-hsl));--blue-800:hsl(var(--blue-800-hsl));--blue-700:hsl(var(--blue-700-hsl));--blue-600:hsl(var(--blue-600-hsl));--blue-500:hsl(var(--blue-500-hsl));--blue-400:hsl(var(--blue-400-hsl));--blue-300:hsl(var(--blue-300-hsl));--blue-200:hsl(var(--blue-200-hsl));--blue-100:hsl(var(--blue-100-hsl));--blue-50:hsl(var(--blue-50-hsl));--green-900:hsl(var(--green-900-hsl));--green-800:hsl(var(--green-800-hsl));--green-700:hsl(var(--green-700-hsl));--green-600:hsl(var(--green-600-hsl));--green-500:hsl(var(--green-500-hsl));--green-400:hsl(var(--green-400-hsl));--green-300:hsl(var(--green-300-hsl));--green-200:hsl(var(--green-200-hsl));--green-100:hsl(var(--green-100-hsl));--green-50:hsl(var(--green-50-hsl));--red-900:hsl(var(--red-900-hsl));--red-800:hsl(var(--red-800-hsl));--red-700:hsl(var(--red-700-hsl));--red-600:hsl(var(--red-600-hsl));--red-500:hsl(var(--red-500-hsl));--red-400:hsl(var(--red-400-hsl));--red-300:hsl(var(--red-300-hsl));--red-200:hsl(var(--red-200-hsl));--red-100:hsl(var(--red-100-hsl));--red-50:hsl(var(--red-50-hsl));--yellow-900:hsl(var(--yellow-900-hsl));--yellow-800:hsl(var(--yellow-800-hsl));--yellow-700:hsl(var(--yellow-700-hsl));--yellow-600:hsl(var(--yellow-600-hsl));--yellow-500:hsl(var(--yellow-500-hsl));--yellow-400:hsl(var(--yellow-400-hsl));--yellow-300:hsl(var(--yellow-300-hsl));--yellow-200:hsl(var(--yellow-200-hsl));--yellow-100:hsl(var(--yellow-100-hsl));--yellow-50:hsl(var(--yellow-50-hsl));--cyan-900:hsl(var(--cyan-900-hsl));--cyan-800:hsl(var(--cyan-800-hsl));--cyan-700:hsl(var(--cyan-700-hsl));--cyan-600:hsl(var(--cyan-600-hsl));--cyan-500:hsl(var(--cyan-500-hsl));--cyan-400:hsl(var(--cyan-400-hsl));--cyan-300:hsl(var(--cyan-300-hsl));--cyan-200:hsl(var(--cyan-200-hsl));--cyan-100:hsl(var(--cyan-100-hsl));--cyan-50:hsl(var(--cyan-50-hsl));--cardinal-900:hsl(var(--cardinal-900-hsl));--cardinal-800:hsl(var(--cardinal-800-hsl));--cardinal-700:hsl(var(--cardinal-700-hsl));--cardinal-600:hsl(var(--cardinal-600-hsl));--cardinal-500:hsl(var(--cardinal-500-hsl));--cardinal-400:hsl(var(--cardinal-400-hsl));--cardinal-300:hsl(var(--cardinal-300-hsl));--cardinal-200:hsl(var(--cardinal-200-hsl));--cardinal-100:hsl(var(--cardinal-100-hsl));--cardinal-50:hsl(var(--cardinal-50-hsl));--magenta-900:hsl(var(--magenta-900-hsl));--magenta-800:hsl(var(--magenta-800-hsl));--magenta-700:hsl(var(--magenta-700-hsl));--magenta-600:hsl(var(--magenta-600-hsl));--magenta-500:hsl(var(--magenta-500-hsl));--magenta-400:hsl(var(--magenta-400-hsl));--magenta-300:hsl(var(--magenta-300-hsl));--magenta-200:hsl(var(--magenta-200-hsl));--magenta-100:hsl(var(--magenta-100-hsl));--magenta-50:hsl(var(--magenta-50-hsl));--emerald-900:hsl(var(--emerald-900-hsl));--emerald-800:hsl(var(--emerald-800-hsl));--emerald-700:hsl(var(--emerald-700-hsl));--emerald-600:hsl(var(--emerald-600-hsl));--emerald-500:hsl(var(--emerald-500-hsl));--emerald-400:hsl(var(--emerald-400-hsl));--emerald-300:hsl(var(--emerald-300-hsl));--emerald-200:hsl(var(--emerald-200-hsl));--emerald-100:hsl(var(--emerald-100-hsl));--emerald-50:hsl(var(--emerald-50-hsl));--blue:var(--blue-500);--green:var(--green-500);--red:var(--red-500);--yellow:var(--yellow-500);--cyan:var(--cyan-500);--cardinal:var(--cardinal-500);--magenta:var(--magenta-500);--emerald:var(--emerald-500);--secondary:var(--gray-600);--success:var(--green);--info:var(--cyan);--warning:var(--yellow);--danger:var(--red);--light:var(--gray-100);--dark:#181921;--dark-alt:#212529;--dark-secondary:#292a35;--white:#ffffff;--gray-50:#f7fafc;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--black:#000000;--link-color:var(--primary);--link-decoration:underline;--link-shade-percentage:20%;--link-hover-decoration:null;--text-default:var(--text-dark);--text-default-inv:var(--text-light);--text-muted:var(--gray-600);--bs-secondary-color:var(--gray-600);--body-color:var(--text-default);--body-bg:var(--white);--text-dark:#3C4257;--text-light:#dee2e6;--fw-medium:600;--shadow-sm:0 .125rem .25rem rgba(var(--dark), .15);--shadow:0 0 3px rgba(var(--dark), .15);--shadow-md:0 5px 13px rgba(var(--dark), .2);--shadow-lg:0 10px 25px rgba(var(--dark), 0.15);--overlay:rgba(var(--dark), 0.7);--bg-overlay-white:rgba(var(--white), 0.5);--back-to-top-color:var(--white);--simplebar-color:#adb5bd;--footer:#202942;--footer-bg:var(--white);--foot-social-color:#adb5bd;--social-border-color:#adb5bd;--foot-social-color-white:var(--white);--l-100:100%;--btn-soft-color:var(--primary);--btn-soft-bg:transparent;--btn-soft-border:var(--gray-200);--btn-primary-color:var(--white);--btn-primary-bg:var(--primary);--btn-primary-border:transparent;--btn-default-color:var(--text-default);--btn-default-hover-color:var(--primary);--btn-default-bg:transparent;--btn-default-border:transparent;--icon-color:var(--primary);--folder:"\e2c7";--article:"\ef42";--dash:"\f88a";--dir-right:"\e5da";--card-bg:var(--white);--card-border-color:var(--gray-400);--card-border-hover-color:var(--primary);--sidebar-primary:var(--primary);--sidebar-bg:var(--white);--top-header-bg:hsla(255,100%,100%,0.8);--sidebar-text-color:#606770;--sidebar-border-color:var(--gray-200);--sidebar-dropdown-hover-bg:#eff1f4;--sidebar-menu-active-bg:#f5f6f8;--sidebar-icon-bg:#f8f9fa;--sidebar-light-icon:#f8f9fa;--sidebar-scrollbar-thumb-color:var(--gray-200);--sidebar-directory-icon:var(--dir-right);--sidebar-file-icon:var(--dash)}[data-dark-mode]{--body-bg:var(--dark);--text-default:var(--text-light);--text-default-inv:var(--text-dark);--text-muted:#b6b9be;--bs-secondary-color:#6c757d;--btn-soft-color:var(--gray-400);--btn-soft-bg:none;--btn-soft-border:var(--gray-800);--btn-primary-color:var(--primary-200);--btn-primary-bg:none;--btn-primary-border:var(--gray-700);--btn-default-color:var(--text-default);--btn-default-hover-color:var(--primary-300);--btn-default-bg:transparent;--btn-default-border:transparent;--icon-color:#b6bbc9;--card-bg:none;--card-border-color:var(--gray-800);--card-border-hover-color:var(--primary-200);--sidebar-primary:var(--primary-300);--sidebar-bg:var(--dark);--top-header-bg:hsla(233,16%,11%,0.8);--sidebar-text-color:#b6bbc9;--sidebar-border-color:var(--gray-900);--sidebar-dropdown-hover-bg:#2b303b;--sidebar-menu-active-bg:#2b303b;--sidebar-icon-bg:#2b303b;--sidebar-light-icon:#f8f9fa;--sidebar-scrollbar-thumb-color:var(--gray-800)}html{scroll-padding-top:80px;background-color:var(--body-bg)}body{font-family:Inter;overflow-x:hidden!important;font-size:1rem;color:var(--body-color);background-color:var(--body-bg)}@media(max-width:1199px){html{scroll-padding-top:120px}body{font-size:.9rem}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--bs-font-sans-serif);line-height:1.4;font-weight:600}::selection{background:var(--primary);color:var(--white);opacity:.9}a{text-decoration:none;transition:all .5s ease;color:var(--primary)}a:hover{color:var(--primary-800)}p{line-height:1.6}img{height:auto}:root{--content-icon-color:var(--primary);--content-icon-bg:var(--sidebar-icon-bg);--content-icon-border:var(--sidebar-icon-bg);--content-link-color:var(--primary);--ordered-list-bg:var(--gray-300);--ordered-list-color:var(--gray-800);--blockquote-border-color:var(--gray-300);--code-block-bg:#212d63;--inline-code-bg:var(--gray-100);--inline-code-border:1px solid var(--gray-400)}[data-dark-mode]{--content-icon-color:var(--primary-200);--content-icon-bg:hsl(var(--primary-hsl), 0.15);--content-icon-border:var(--primary-800);--content-link-color:var(--primary-300);--ordered-list-bg:var(--gray-700);--ordered-list-color:var(--gray-200);--blockquote-border-color:var(--primary-200);--code-block-bg:var(--gray-900);--inline-code-bg:var(--gray-800);--inline-code-border:1px solid var(--gray-600)}.docs-content{order:1}.docs-content .main-content a{font-weight:600;color:var(--content-link-color)}.docs-content .main-content a:hover{text-decoration:underline 2px var(--primary-200);text-underline-offset:2.5px!important;transition:0s!important}.docs-content .main-content a code{color:var(--content-link-color)}.docs-content .main-content #edit-this-page a:hover,.docs-content .main-content #list-item a:hover{text-decoration:none!important}.docs-content .main-content li{color:var(--text-default)}.docs-content .main-content h1,.docs-content .main-content .h1,.docs-content .main-content h2,.docs-content .main-content .h2,.docs-content .main-content h3,.docs-content .main-content .h3,.docs-content .main-content h4,.docs-content .main-content .h4,.docs-content .main-content h5,.docs-content .main-content .h5{font-weight:700;color:var(--body-color)}.docs-content .content-title{font-weight:700;align-self:center}i.title-icon{width:44px;height:44px;color:var(--content-icon-color);background-color:var(--content-icon-bg);display:inline-flex!important;align-self:center;align-items:center;justify-content:center;font-size:24px;border-radius:5px}@media(max-width:768px){i.title-icon{align-self:auto}}.docs-content p.lead{color:var(--text-muted);font-weight:400}@media(max-width:1199px){.docs-content{padding-left:calc(var(--bs-gutter-x) * 1.05);padding-right:calc(var(--bs-gutter-x) * 1.05)}.docs-content h2,.docs-content .h2{margin-bottom:1rem}.docs-content p.lead{font-size:1rem}}.docs-content .main-content img,.docs-content .main-content svg{max-width:100%;height:auto}.docs-content .main-content a svg{vertical-align:middle;padding-bottom:.25rem;margin-left:3px}.docs-content .main-content ul{padding-left:0}.docs-content .main-content ul>li{position:relative;padding-left:32px}.docs-content .main-content ul>li::before{content:"";position:absolute;width:6px;height:6px;left:8px;top:10px;border-radius:30%;background:var(--gray-500)}.docs-content .main-content ol{counter-reset:listitem}.docs-content .main-content ol>li{counter-increment:listitem;position:relative;padding-left:32px}.docs-content .main-content ol>li::before{content:counter(listitem);background:var(--ordered-list-bg);color:var(--ordered-list-color);font-size:12px;font-weight:500;line-height:10px;text-align:center;padding:5px 0;width:20px;height:20px;border-radius:5px;position:absolute;left:0;top:3px}.docs-content .main-content ol,.docs-content .main-content ul{list-style:none;line-height:26px}.docs-content .main-content blockquote{margin-bottom:1rem;font-size:1.25rem;border-left:3px solid var(--blockquote-border-color);padding-left:1rem}.docs-content .main-content div.highlight{margin:16px 0;padding:0;background:var(--code-block-bg);border-radius:4px}.docs-content .main-content div.highlight pre{padding:0}.docs-content .main-content code{font-size:inherit;font-weight:400;padding:1px 2px;background:var(--inline-code-bg);border:var(--inline-code-border);border-radius:4px}.docs-content .main-content pre{margin:0;border-radius:4px;padding:0}.docs-content .main-content pre code{font-size:.8rem;display:block;border:none;overflow-x:auto;line-height:1.5;padding:0 2.5rem 1.25rem;tab-size:4;scrollbar-width:thin}.docs-content .main-content strong code{font-weight:700}.docs-content .main-content td pre code{overflow-x:unset!important}.docs-content .main-content .alert ul{font-size:var(--font-size-sm)}.docs-content figcaption{font-size:small}.page-wrapper{height:100vh}.page-wrapper .sidebar-wrapper{transition:all .3s ease;width:300px;height:100%;max-height:100%;position:fixed;top:0;left:-300px;z-index:999}@media(min-width:1025px){.page-wrapper .sidebar-wrapper{z-index:1000}}@media(max-width:1024px){.page-wrapper .sidebar-wrapper{left:0}}@media(max-width:425px){.page-wrapper .sidebar-wrapper{width:260px}}.page-wrapper .sidebar-wrapper ul{list-style-type:none;padding:0;margin:0}.page-wrapper .sidebar-wrapper a{text-decoration:none}.page-wrapper .sidebar-wrapper .sidebar-content{background:var(--sidebar-bg);max-height:calc(100% - 30px);height:calc(100% - 30px);overflow:scroll;overflow-x:hidden;overflow-y:overlay;position:relative;border-right:1px solid var(--sidebar-border-color);scrollbar-width:thin;scrollbar-color:var(--sidebar-bg)var(--sidebar-bg)}.page-wrapper .sidebar-wrapper .sidebar-content.desktop{overflow-y:hidden}.page-wrapper .sidebar-wrapper .sidebar-content:hover{scrollbar-color:var(--sidebar-scrollbar-thumb-color)var(--sidebar-bg)}.page-wrapper .sidebar-wrapper .sidebar-content::-webkit-scrollbar{width:5px;height:8px}.page-wrapper .sidebar-wrapper .sidebar-content::-webkit-scrollbar-track{background:var(--sidebar-bg);display:none}.page-wrapper .sidebar-wrapper .sidebar-content:hover::-webkit-scrollbar-thumb{background:var(--sidebar-scrollbar-thumb-color)}.page-wrapper .sidebar-wrapper .sidebar-brand{background:var(--sidebar-bg);padding:10px 20px;border-bottom:1px solid var(--sidebar-border-color);display:flex;align-items:center;height:72px}.page-wrapper .sidebar-wrapper .sidebar-brand>a{text-transform:uppercase;font-weight:700;flex-grow:1;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-brand>a:focus{outline:none}.page-wrapper .sidebar-wrapper .sidebar-brand>a svg{height:26px}.page-wrapper .sidebar-wrapper .sidebar-brand #close-sidebar{cursor:pointer;font-size:24px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-header{padding:20px;overflow:hidden}.page-wrapper .sidebar-wrapper .sidebar-menu{padding:16px 0 16px 10px}.page-wrapper .sidebar-wrapper .sidebar-menu .header-menu span{font-weight:700;font-size:14px;padding:15px 20px 5px;display:inline-block}.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{display:inline-block;color:var(--sidebar-text-color);width:100%;text-decoration:none;position:relative;padding:4px 35px 5px 10px;margin:4px 0;border:none;letter-spacing:normal;transition:all .3s ease;display:flex;align-items:center;text-align:left}@media(max-width:1024px){.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{padding:6px 24px}}@media screen and (max-width:425px){.page-wrapper .sidebar-wrapper .sidebar-menu li a,.page-wrapper .sidebar-wrapper .sidebar-menu li button{padding:6px 26px 6px 12px}}.page-wrapper .sidebar-wrapper .sidebar-menu li a:hover>i::before,.page-wrapper .sidebar-wrapper .sidebar-menu li button:hover>i::before{display:inline-block}.page-wrapper .sidebar-wrapper .sidebar-menu li a:focus,.page-wrapper .sidebar-wrapper .sidebar-menu li button:focus{outline:none}.page-wrapper .sidebar-wrapper .sidebar-menu li a i,.page-wrapper .sidebar-wrapper .sidebar-menu li button i{min-width:36px;height:36px;background-color:var(--sidebar-icon-bg);display:inline-flex!important;align-items:center;justify-content:center;font-size:20px;text-align:center;border-radius:4px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu li a.sidebar-nested-link,.page-wrapper .sidebar-wrapper .sidebar-menu li button.sidebar-nested-link{align-items:normal}.page-wrapper .sidebar-wrapper .sidebar-menu li a:hover,.page-wrapper .sidebar-wrapper .sidebar-menu li.sidebar-dropdown button:hover{background-color:var(--sidebar-dropdown-hover-bg);border-radius:4px 0 0 4px;margin:4px 0}.page-wrapper .sidebar-wrapper .sidebar-menu li:hover i,.page-wrapper .sidebar-wrapper .sidebar-menu li.active i{background-color:var(--sidebar-menu-active-bg)}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>a:before{content:none!important}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>button{margin:1px 0}.page-wrapper .sidebar-wrapper .sidebar-menu li.no-icon>button:hover{margin:1px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-root-link{font-size:1rem}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.no-icon>button:after{top:inherit!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown>button:after{content:"\e5cc"!important;color:var(--sidebar-text-color);font-family:material symbols outlined;font-weight:500;font-size:22px;position:absolute;right:15px;top:7px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested.no-icon>button:after{top:inherit!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested.no-icon>button:before{content:none!important}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button{font-size:14px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button:before{content:var(--sidebar-directory-icon);color:var(--sidebar-text-color);font-family:material symbols outlined;margin-right:4px;font-size:14px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.nested button:after{top:inherit}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.active>button:after{transform:rotate(90deg);right:17px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.current>button:after{color:var(--sidebar-primary)}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu{display:none}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul{padding:3px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li{padding-left:15px;font-size:14px}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a{font-weight:400}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a:before{content:var(--sidebar-file-icon);color:var(--sidebar-text-color);font-family:material symbols outlined;margin-right:4px;font-size:14px;transition:all .3s ease}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a .badge,.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li a .label{float:right;margin-top:0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul li.no-icon{padding-left:10px}.page-wrapper .sidebar-wrapper .sidebar-menu ul li a span.label,.page-wrapper .sidebar-wrapper .sidebar-menu ul li a span.badge{float:right;margin-top:8px;margin-left:5px}.page-wrapper .sidebar-wrapper .sidebar-header .user-info .user-role,.page-wrapper .sidebar-wrapper .sidebar-header .user-info .user-status,.page-wrapper .sidebar-wrapper .sidebar-brand>a,.page-wrapper .sidebar-wrapper .sidebar-menu li a{color:var(--sidebar-text-color);font-weight:600}.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a,.page-wrapper .sidebar-wrapper .sidebar-menu li:active>a,.page-wrapper .sidebar-wrapper .sidebar-menu li:active>a:before,.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a:before,.page-wrapper .sidebar-wrapper .sidebar-menu li.current>button:before,.page-wrapper .sidebar-wrapper .sidebar-header .user-info,.page-wrapper .sidebar-wrapper .sidebar-brand>a:hover{color:var(--sidebar-primary)!important}.page-wrapper .sidebar-wrapper .sidebar-menu li.current>a{font-weight:600!important;background-color:var(--sidebar-menu-active-bg);border-right:3px solid var(--primary);border-radius:4px 0 0 4px;margin:4px 0}.page-wrapper .sidebar-wrapper .sidebar-menu .sidebar-dropdown.current>button{color:var(--sidebar-primary)!important}.page-wrapper .sidebar-wrapper .sidebar-brand .sidebar-colored{display:none}.page-wrapper .sidebar-wrapper .sidebar-brand .logo-dark-mode{display:none}.page-wrapper .sidebar-wrapper .sidebar-brand .logo-light-mode{display:inline-block}.page-wrapper .page-content{display:inline-block;width:100%;padding-left:0;transition:all .3s ease}.page-wrapper .page-content .top-header{position:fixed;right:0;top:0;z-index:999;max-height:70px;left:0;transition:all .3s}.page-wrapper .page-content .top-header .header-bar{background:var(--top-header-bg);backdrop-filter:saturate(180%)blur(5px);height:72px;border-bottom:1px solid var(--sidebar-border-color);position:relative;justify-content:space-between;align-items:center;padding:24px}@media(max-width:425px){.page-wrapper .page-content .top-header .header-bar{padding:24px 12px}}.page-wrapper .page-content .top-header .header-bar .logo-icon{display:none}@media(max-width:1024px){.page-wrapper .page-content .top-header .header-bar .logo-icon{display:block}}.page-wrapper .page-content .top-header .header-bar .logo-icon .small{display:none}@media(max-width:767px){.page-wrapper .page-content .top-header .header-bar .logo-icon .small{display:block}}.page-wrapper .page-content .top-header .header-bar .logo-icon .small svg{height:22px}.page-wrapper .page-content .top-header .header-bar .logo-icon .big{display:none}.page-wrapper .page-content .top-header .header-bar .logo-icon .big .logo-dark-mode{display:none}.page-wrapper .page-content .top-header .header-bar .logo-icon .big .logo-light-mode{display:inline-block}@media(min-width:768px) and (max-width:1024px){.page-wrapper .page-content .top-header .header-bar .logo-icon .big{display:block}}.page-wrapper .page-content .layout-spacing{padding:94px 14px 24px!important;min-height:calc(100vh - 66px)!important;position:relative}@media(max-width:425px){.page-wrapper .page-content .layout-spacing{padding:84px 0 24px!important}}@media screen and (min-width:1025px){.page-wrapper.toggled .page-content{padding-left:300px}}.page-wrapper.toggled .top-header{left:300px}@media(max-width:1024px){.page-wrapper.toggled .top-header{left:0}}.page-wrapper.toggled .sidebar-wrapper{left:0}@media(max-width:1024px){.page-wrapper.toggled .sidebar-wrapper{left:-300px}}.sidebar-footer{position:absolute;background:var(--sidebar-bg);width:100%;bottom:0;left:0;right:0;padding:9px 24px 9px 20px!important;border-right:1px solid var(--sidebar-border-color);height:60px}@media(max-width:425px){.sidebar-footer{padding:9px 12px!important}}:root{--doc-nav-title-link-color:var(--primary)}[data-dark-mode]{--doc-nav-title-link-color:var(--primary-300)}#doc-nav .card-title{color:var(--doc-nav-title-link-color)}#doc-nav .card-text{color:var(--text-muted)}@media(max-width:425px){.doc-next{order:2}.doc-prev{order:1}}.doc-hr{border-top:1px solid var(--gray-500);margin-top:2rem;margin-bottom:0;padding-top:1rem}:root{--toc-link-hover-bg-color:var(--gray-300);--toc-mobile-btn-bg-color:var(--gray-100);--toc-mobile-menu-bg-color:var(--white);--toc-mobile-link-hover-color:var(--primary)}[data-dark-mode]{--toc-link-hover-bg-color:var(--gray-700);--toc-mobile-btn-bg-color:var(--gray-900);--toc-mobile-menu-bg-color:var(--body-bg);--toc-mobile-link-hover-color:var(--primary-300)}.docs-toc-mobile{position:sticky;top:85px;padding-left:calc(var(--bs-gutter-x) * 1.05);padding-right:calc(var(--bs-gutter-x) * 1.05);z-index:20}.docs-toc-mobile a{color:var(--text-default)}.docs-toc-mobile a:hover{color:var(--toc-mobile-link-hover-color)}.docs-toc-mobile .dropdown-toggle{margin-bottom:16px;background:var(--toc-mobile-btn-bg-color);color:var(--text-default);padding:4px;border:1px solid var(--alert-border-color);border-radius:4px;width:calc(100% + 2px);white-space:normal}.docs-toc-mobile .dropdown-menu{transform:translateY(-16.5px)!important;background:var(--toc-mobile-menu-bg-color);inset:-1px auto none var(--bs-gutter-x)!important;border:1px solid var(--alert-border-color);border-top:none;border-radius:0 0 4px 4px;width:calc(100% - (var(--bs-gutter-x)*2));max-height:40vh;overflow-y:auto;scrollbar-width:thin}.docs-toc-mobile .dropdown-menu li{list-style:none;padding:0 0 4px}.docs-toc-mobile .dropdown-menu li ul{padding-left:1rem}.docs-toc{position:-webkit-sticky;position:sticky;top:6rem;height:calc(100vh - 11.1rem);overflow-y:auto;order:2;scrollbar-width:thin;scrollbar-color:var(--simplebar-color)rgba(var(--bs-light-rgb),var(--bs-bg-opacity))}@media(max-width:1199px){.docs-toc{position:absolute!important;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}}.docs-toc::-webkit-scrollbar{width:4px;height:18px}.docs-toc::-webkit-scrollbar-track{background:0 0}.docs-toc::-webkit-scrollbar-thumb{background-color:var(--simplebar-color);border-radius:4px;border:transparent}#TableOfContents ul,#toc ul{padding-left:0;margin-bottom:0;list-style:none}#TableOfContents ul li,#toc ul li{padding-bottom:5px}#TableOfContents ul li ul li,#toc ul li ul li{border-top:none;padding-left:1rem;margin-top:.125rem;padding-top:.125rem;padding-bottom:0}#TableOfContents a,#toc a{display:block;color:var(--text-default);padding:0 10px;padding-block:0 .05rem;margin:0 0 0 -10px;border-radius:4px;width:fit-content;font-size:15px;letter-spacing:.02em;transition:all .1s;-webkit-transition:all .1s}#TableOfContents a:hover,#toc a:hover{background-color:var(--toc-link-hover-bg-color);transition:all .1s;-webkit-transition:all .2s}#toc a.active{color:var(--white);background-color:var(--primary);opacity:.9}footer{position:relative;color:var(--text-muted);background:var(--body-bg);height:58px}footer .text-foot{color:var(--gray-500)}footer .footer-head{font-size:18px!important;letter-spacing:1px;font-weight:500}footer a{color:var(--content-link-color)}footer a:hover{color:var(--content-link-color);text-decoration:underline 1.5px var(--primary-200);text-underline-offset:3px!important;transition:0s!important}.footnote-backref{font-size:1.1rem;vertical-align:middle;margin-left:.25rem}:root{--invert:invert(0%);--btn-modal-hover-bg:var(--gray-200)}[data-dark-mode]{--invert:invert(100%);--btn-modal-hover-bg:var(--gray-800)}.btn-soft{background-color:var(--btn-soft-bg)!important;border:1px solid var(--btn-soft-border)!important;color:var(--btn-soft-color)!important}.btn-soft:hover,.btn-soft:active,.btn-soft.active,.btn-soft.focus{background:var(--btn-soft-bg);border-color:var(--btn-soft-border)!important;color:var(--btn-soft-color)!important}.btn-primary{background-color:var(--btn-primary-bg)!important;border:1px solid var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.focus{background:var(--btn-primary-bg);border-color:var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}.btn-default{background-color:var(--btn-default-bg)!important;border:1px solid var(--btn-default-border)!important;color:var(--btn-default-color)!important}.btn-default:hover,.btn-default:active,.btn-default.active,.btn-default.focus{background:var(--btn-default-bg);border-color:var(--btn-default-border)!important;color:var(--btn-default-hover-color)!important}.btn-link-modal{--bs-btn-font-weight:600;--bs-btn-color:var(--text-default);--bs-btn-bg:none;--bs-btn-border-color:var(--bd-violet-bg);--bs-btn-hover-color:var(--btn-default-hover-color);--bs-btn-hover-bg:var(--btn-modal-hover-bg);--bs-btn-hover-border-color:var(--bd-violet-bg);--bs-btn-focus-shadow-rgb:var(--bd-violet-rgb);--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bd-violet-bg);--bs-btn-active-border-color:var(--bd-violet-bg)}.btn-close{filter:var(--invert)}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}.btn{padding:8px 20px;outline:none;text-decoration:none;font-size:16px;letter-spacing:.5px;transition:all .3s;font-weight:600;border-radius:6px}.btn:focus{box-shadow:none!important}.btn.btn-sm,.btn-group-sm>.btn{padding:7px 16px;font-size:12px}.btn.btn-xs{padding:4px 10px;font-size:10px}.btn.btn-lg,.btn-group-lg>.btn{padding:14px 30px;font-size:16px}.btn.searchbtn{padding:6px 20px}.btn.btn-pills{border-radius:30px}.btn.btn-outline-light{border-color:var(--gray-200)!important}.btn.btn-soft-light{color:var(--gray-500)!important;border-color:var(--gray-200)!important}.btn.btn-soft-dark:hover,.btn.btn-soft-dark:focus,.btn.btn-soft-dark:active,.btn.btn-soft-dark.active,.btn.btn-soft-dark.focus{color:var(--gray-400)!important;border-color:var(--gray-200)!important}.btn.btn-dark,.btn.btn-secondary{color:var(--gray-200)}.btn.btn-outline-light{color:var(--gray-900)}.btn.btn-icon{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.btn.btn-icon .icons{height:16px;width:16px;font-size:16px}.btn.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{height:48px;width:48px;line-height:46px}.btn.btn-icon.btn-lg .icons,.btn-group-lg>.btn-icon.btn .icons{height:20px;width:20px;font-size:20px}.btn.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{height:30px;width:30px;line-height:28px}button:not(:disabled){outline:none}:root{--breadcrumb-item-color:var(--primary)}[data-dark-mode]{--breadcrumb-item-color:var(--primary-300)}.breadcrumb .breadcrumb-item a{color:var(--breadcrumb-item-color)}.breadcrumb .breadcrumb-item.active{color:var(--text-muted)}@media(max-width:1199px){.breadcrumb{--bs-breadcrumb-padding-x:0.7rem}}.badge{letter-spacing:1.1px;padding:6px 8px 7px;font-weight:600;line-height:11px;border-radius:4px}.badge.badge-link:hover{color:var(--white)!important}:root{--bg-default:hsl(var(--primary-800-hsl),0.1);--bg-default-border:hsl(var(--primary-800-hsl),0.1);--bg-default-color:var(--text-default)}[data-dark-mode]{--bg-default:var(--gray-800);--bg-default-border:hsl(var(--primary-200-hsl),0.1);--bg-default-color:var(--text-default)}.bg-default{background-color:var(--bg-default)!important;border:1px solid var(--bg-default-border)!important;color:var(--bg-default-color)!important}.bg-primary{background-color:var(--btn-primary-bg)!important;border:1px solid var(--btn-primary-border)!important;color:var(--btn-primary-color)!important}:root{--dropdown-link-color:var(--text-default);--dropdown-bg:var(--body-bg);--dropdown-border-color:var(--alert-border-color);--dropdown-border-radius:0 0 4px 4px;--dropdown-link-hover-color:var(--primary)}[data-dark-mode]{--dropdown-link-color:var(--text-default);--dropdown-bg:var(--body-bg);--dropdown-border-color:var(--alert-border-color);--dropdown-border-radius:0 0 4px 4px;--dropdown-link-hover-color:var(--primary-300)}.dropdown-menu{--bs-dropdown-min-width:7rem;--bs-dropdown-link-color:var(--dropdown-link-color);--bs-dropdown-bg:var(--dropdown-bg);--bs-dropdown-border-color:var(--dropdown-border-color);--bs-dropdown-link-hover-bg:none;--bs-dropdown-link-hover-color:var(--dropdown-link-hover-color);--bs-dropdown-border-radius:var(--dropdown-border-radius);transform:translate(0,57px)!important;border-top:none}:root{--alert-border-color:#dee2e6;--alert-default-color:225.9, 68%, 95.1%;--alert-default-bg:hsl(var(--alert-default-color));--alert-default-border-color:var(--alert-border-color);--alert-primary-color:var(--primary-50-hsl);--alert-primary-bg:hsl(var(--alert-primary-color),0.5);--alert-primary-border-color:var(--alert-border-color);--alert-info-color:204, 45.5%, 97.8%;--alert-info-bg:hsl(var(--alert-info-color));--alert-info-border-color:var(--alert-border-color);--alert-success-color:var(--emerald-50-hsl);--alert-success-bg:hsl(var(--alert-success-color),0.4);--alert-success-border-color:var(--alert-border-color);--alert-danger-color:var(--cardinal-50-hsl);--alert-danger-bg:hsl(var(--alert-danger-color),0.5);--alert-danger-border-color:var(--alert-border-color);--alert-warning-color:var(--yellow-50-hsl);--alert-warning-bg:hsl(var(--alert-warning-color),0.5);--alert-warning-border-color:var(--alert-border-color);--alert-light-bg:var(--gray-200);--alert-light-border-color:var(--alert-border-color);--alert-dark-bg:var(--gray-800);--alert-dark-border-color:var(--alert-border-color)}[data-dark-mode]{--alert-border-color:var(--gray-800);--alert-default-bg:hsl(var(--alert-default-color),0.05);--alert-default-border-color:var(--alert-border-color);--alert-primary-bg:hsl(var(--primary-hsl),0.1);--alert-primary-icon-color:var(--primary-200);--alert-primary-border-color:var(--primary-800);--alert-info-bg:hsl(var(--blue-500-hsl),0.1);--alert-info-icon-color:var(--blue-200);--alert-info-border-color:var(--blue-800);--alert-success-bg:hsl(var(--emerald-500-hsl),0.1);--alert-success-icon-color:var(--emerald-200);--alert-success-border-color:var(--emerald-800);--alert-danger-bg:hsl(var(--cardinal-500-hsl),0.1);--alert-danger-icon-color:var(--cardinal-200);--alert-danger-border-color:var(--cardinal-800);--alert-warning-bg:hsl(var(--yellow-500-hsl),0.1);--alert-warning-icon-color:var(--yellow-200);--alert-warning-border-color:var(--yellow-800);--alert-light-bg:var(--gray-900);--alert-light-icon-color:var(--gray-200);--alert-light-border-color:var(--gray-800);--alert-dark-bg:var(--gray-400);--alert-dark-icon-color:var(--gray-800);--alert-dark-border-color:var(--gray-200)}.alert{font-size:var(--font-size-sm);border-radius:4px;color:var(--gray-700)}.alert p{line-height:1.525rem}.alert p:last-child{margin-bottom:0}.alert-icon{margin-right:.35rem}.alert-default{background-color:var(--alert-default-bg);border-color:var(--alert-border-color);color:var(--text-default)}.alert-white{background-color:rgba(255,255,255,.95)}.alert-primary{background-color:var(--alert-primary-bg);border-color:var(--alert-primary-border-color);color:var(--text-default)}.alert-primary>.alert-icon span{color:var(--alert-primary-icon-color);margin-top:.15rem}.alert-primary a{font-weight:700}.alert-success{background-color:var(--alert-success-bg);border-color:var(--alert-success-border-color);color:var(--text-default)}.alert-success>.alert-icon span{color:var(--alert-success-icon-color);margin-top:.15rem}.alert-success a{font-weight:700}.alert-info{background-color:var(--alert-info-bg);border-color:var(--alert-info-border-color);color:var(--text-default)}.alert-info>.alert-icon span{color:var(--alert-info-icon-color);margin-top:.15rem}.alert-info a{font-weight:700}.alert-warning{background-color:var(--alert-warning-bg);border-color:var(--alert-warning-border-color);color:var(--text-default)}.alert-warning>.alert-icon span{color:var(--alert-warning-icon-color);margin-top:.15rem}.alert-warning .alert-link{color:#523e02}.alert-danger{background-color:var(--alert-danger-bg);border-color:var(--alert-danger-border-color);color:var(--text-default)}.alert-danger>.alert-icon span{color:var(--alert-danger-icon-color);margin-top:.15rem}.alert-danger .alert-link{color:#6a1a21}.alert-light{background-color:var(--alert-light-bg);border-color:var(--alert-light-border-color);color:var(--text-default)}.alert-light>.alert-icon span{color:var(--alert-light-icon-color);margin-top:.15rem}.alert-light .alert-link{color:#4f5050}.alert-dark{background-color:var(--alert-dark-bg);border-color:var(--alert-dark-border-color);color:var(--text-default-inv)}.alert-dark>.alert-icon span{color:var(--alert-dark-icon-color);margin-top:.15rem}.alert-dark .alert-link{color:#101214}.alert .alert-link:hover,.alert .alert-link:focus{text-decoration:none}.alert-dismissible .btn-close{position:absolute;top:50%;transform:translateY(-50%);right:1rem;z-index:2;padding:.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%)}[data-global-alert=closed] #announcement{display:none}:root{--card-title-color:var(--text-default);--card-text-color:var(--text-muted)}[data-dark-mode]{--card-title-color:var(--text-default);--card-text-color:var(--gray-500)}.card{background:var(--card-bg);border-color:var(--card-border-color);border-radius:4px;transition:all .2s;-webkit-transition:all .2s}.card .card-body{padding:1.5rem}.card:hover{border-color:var(--card-border-hover-color)}.card:hover .card-title{color:#fff}.card-title{color:var(--card-title-color)}.card-text{color:var(--card-text-color);font-weight:500}:root{--form-border-color:var(--gray-200);--form-control-focus-color:var(--gray-900);--form-control-focus-bg-color:none;--form-control-focus-border-color:var(--primary);--form-control-placeholder-color:#666d78;--form-check-input-border-color:var(--gray-400);--form-check-input-background-color:var(--primary);--form-check-input-checked-border-color:var(--primary);--form-check-input-checked-bg-image:url("data:image/svg+xml,")}[data-dark-mode]{--form-border-color:var(--gray-800);--form-control-focus-color:var(--gray-200);--form-control-focus-bg-color:#000;--form-control-focus-border-color:var(--primary-300);--form-control-placeholder-color:#7f8497;--form-check-input-border-color:var(--gray-700);--form-check-input-background-color:var(--primary-300);--form-check-input-checked-border-color:var(--primary-300);--form-check-input-checked-bg-image:url("data:image/svg+xml,")}.form-label,.form-check-label{font-weight:700;font-size:14px}.form-control{border:1px solid var(--form-border-color);font-size:14px;line-height:22px;border-radius:4px;color:var(--text-default)!important;background-color:var(--body-bg);text-align:left}.form-control:focus{border-color:var(--primary);box-shadow:none}.form-control[readonly]{background-color:var(--white)}.form-control:disabled{background-color:var(--gray-300)}.form-control::placeholder{color:var(--form-control-placeholder-color)}.form-control:focus{color:var(--form-control-focus-color);border-color:var(--form-control-focus-border-color);background-color:var(--form-control-focus-bg-color)}.form-check-input{border:1px solid var(--form-check-input-border-color);background-color:var(--body-bg)}.form-check-input:focus{border-color:var(--primary);box-shadow:none}.form-check-input.form-check-input:checked{background-color:var(--form-check-input-background-color);border-color:var(--form-check-input-checked-border-color);--bs-form-check-bg-image:var(--form-check-input-checked-bg-image)}:root{--table-hover-bg:rgba(0, 0, 0, 0.075)}[data-dark-mode]{--table-hover-bg:rgba(255, 255, 255, 0.075)}table td{border-top:1px solid var(--card-border-color)}table td,table th{border-right:1px solid var(--card-border-color);padding:8px 12px}table td:last-child,table th:last-child{border-right:0}.table{--bs-table-color:var(--text-default);--bs-table-bg:transparent;--bs-table-accent-bg:none;--bs-table-striped-color:var(--text-default);--bs-table-striped-bg:var(--alert-primary-bg);--bs-table-hover-color:var(--text-default);--bs-table-hover-bg:var(--table-hover-bg);color:var(--text-default);font-size:.875rem;border-collapse:separate;border-spacing:0}.table>:not(caption)>*>*{padding:1rem;border-bottom-width:0}.table tbody{vertical-align:top}.table tbody td{border-top:inherit;border-bottom-width:1px}.table tbody td:first-child{border-left-width:1px}.table tbody td:last-child{border-right:inherit;border-right-width:1px}.table tbody tr:first-child td{border-top-width:1px}.table tbody tr:first-child td:first-child{border-top-left-radius:4px}.table tbody tr:first-child td:last-child{border-top-right-radius:4px}.table tbody tr:last-child td:first-child{border-bottom-left-radius:4px}.table tbody tr:last-child td:last-child{border-bottom-right-radius:4px}.table td,.table th{border-right:0}.table thead,.table tbody,.table tfoot,.table tr,.table td,.table th{border-color:var(--card-border-color)}.table thead tr th{text-transform:uppercase;background:0 0}.table-sm>:not(caption)>*>*,.table-striped>:not(caption)>*>*,.table-borderless>:not(caption)>*>*,.table-hover>:not(caption)>*>*,.table-striped-columns>:not(caption)>*>*{padding:.6rem}@media(max-width:1199px){.table-sm>:not(caption)>*>*,.table-striped>:not(caption)>*>*,.table-borderless>:not(caption)>*>*,.table-hover>:not(caption)>*>*,.table-striped-columns>:not(caption)>*>*{padding:.6rem .25rem}}.table-xs>:not(caption)>*>*{padding:.25rem}.table-borderless>:not(caption)>*>*{border-bottom-width:0!important}.table-borderless td:first-child{border-left-width:0!important}.table-borderless td:last-child{border-right-width:0!important}.table-borderless tr:first-child td{border-top-width:0!important}.table-striped-columns>:not(caption)>tr>th:nth-child(2n){--bs-table-striped-bg:none}.table-responsive{display:block;width:100%;overflow-x:auto}:root{--nav-tabs-border-width:none;--nav-tabs-link-active-bg:none;--nav-tabs-link-active-color:var(--text-default);--nav-tabs-border-color:var(--gray-400)}[data-dark-mode]{--nav-tabs-border-color:var(--gray-800)}.nav-tabs{--bs-nav-tabs-border-width:var(--nav-tabs-border-width);--bs-nav-tabs-link-active-bg:var(--nav-tabs-link-active-bg);--bs-nav-tabs-link-active-color:var(--nav-tabs-link-active-color);border-bottom:1px solid var(--nav-tabs-border-color);margin-bottom:.8rem}.nav-tabs .nav-link{color:var(--text-muted)!important;margin-bottom:-1px}.nav-tabs .nav-link:hover{text-decoration:none!important}.nav-tabs .nav-link.active{border-bottom:2px solid var(--content-link-color);color:var(--content-link-color)!important}.tab-content{margin-bottom:.8rem}:root{--tooltip-bg:var(--white);--tooltip-border-color:var(--content-link-color);--tooltip-drop-shadow-color:var(--gray-500);--tooltip-link-color:var(--gray-700)}[data-dark-mode]{--tooltip-bg:var(--dark-alt);--tooltip-border-color:var(--primary-300);--tooltip-drop-shadow-color:var(--gray-900);--tooltip-link-color:var(--gray-500)}.tooltip{--bs-tooltip-bg:var(--tooltip-bg);--bs-tooltip-opacity:1.0;--bs-tooltip-font-size:0.575rem;--bs-tooltip-max-width:300px}.tooltip-inner{text-align:left;border:2px solid var(--tooltip-border-color);border-width:2px 2px 2px 8px;filter:drop-shadow(4px 4px 5px var(--tooltip-drop-shadow-color));--bs-tooltip-border-radius:4px}.tooltip-inner a{color:var(--tooltip-link-color);font-size:.85rem;line-height:1.55}.tooltip-inner a p{margin-bottom:.2rem;color:var(--text-muted);font-weight:600}.tooltip-inner a strong{font-size:.975rem;line-height:2;color:var(--text-default)}:root{--feature-icon-color:var(--primary);--feature-icon-faint:var(--gray-200);--feature-link-hover-bg-color:var(--primary)}[data-dark-mode]{--feature-icon-color:var(--primary-300);--feature-icon-faint:var(--gray-900);--feature-link-hover-bg-color:var(--gray-900)}.features .icon{background:rgba(var(--primary),.1)}.features .image:before{background:linear-gradient(45deg,transparent,rgba(var(--primary),.1))}.features .read-more,.features .color{color:var(--primary)!important}.features.feature-clean .icons{color:var(--primary)!important}.features.feature-clean .icons i{background-color:rgba(var(--primary),.1)}.features.feature-clean .title:hover{color:var(--primary-800)!important}.features.feature-full-bg .icon-color{color:var(--feature-icon-color)!important}.features.feature-full-bg .icon-faint{color:var(--feature-icon-faint)!important;transition:all .5s ease}.features.feature-full-bg:hover{background-color:var(--feature-link-hover-bg-color)!important}.features.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(var(--primary),.15));color:var(--primary)}.features.course-feature .full-img{color:var(--primary)!important}.features.explore-feature:hover .icons,.features.explore-feature:hover .title{color:var(--primary)!important}.features .btn-soft{background-color:rgba(var(--primary),.05)!important;border:1px solid rgba(var(--primary),.05)!important;color:var(--primary)!important;box-shadow:0 3px 5px rgba(var(--primary),.1)}.features .btn-soft:hover,.features .btn-soft:focus,.features .btn-soft:active,.features .btn-soft.active,.features .btn-soft.focus{background-color:var(--primary)!important;border-color:var(--primary)!important;color:var(--white)!important}.features:hover .image:before{background:rgba(var(--primary),.1)}.features .image:before{content:"";position:absolute;bottom:5px;left:5px;width:64px;height:64px;border-radius:6px;transform:rotate(33.75deg)}.features.feature-clean{background-color:var(--body-bg)}.features.feature-clean .icons i{height:65px;width:65px;line-height:65px}.features .ride-image{transform:rotate(-45deg)}.features .ride-image img{border-radius:100% 100% 100% 0}.features.key-feature{transition:all .3s ease}.features.key-feature:hover{transform:scale(1.05);box-shadow:var(--shadow-md)!important}.features:hover .image:before{animation:spinner-border 5s linear infinite!important}.features.feature-full-bg{transition:all .5s ease}.features.feature-full-bg .big-icon{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;opacity:.015;font-size:180px}.features.feature-full-bg:hover{box-shadow:var--(shadow-lg);color:var(--white)!important}.features.feature-full-bg:hover .icon-color i,.features.feature-full-bg:hover .badge,.features.feature-full-bg:hover .para{color:var(--white)!important;opacity:.5}.features.feature-full-bg:hover .content,.features.feature-full-bg:hover .icon-color{z-index:2}.features.feature-full-bg:hover .big-icon{opacity:.05}.features.feature-full-bg:hover .readmore{color:var(--white)!important}.features.course-feature{transition:all .5s ease}.features.course-feature .full-img{position:absolute;bottom:50%;transform:translateY(50%);left:0;right:0;opacity:0;margin:0 auto;z-index:-2;transition:all .5s ease;font-size:250px}.features.course-feature:hover{transform:translateY(-10px)}.features.course-feature:hover .full-img{opacity:.05}.features.explore-feature{transition:all .5s ease}.features.explore-feature .icons{height:80px;width:80px;line-height:80px;transition:all .5s ease}.features.explore-feature:hover{box-shadow:var(--shadow-lg)!important}.features .title,.key-feature .title{font-size:18px!important}.features .icon,.key-feature .icon{height:45px;min-width:45px;display:flex;align-items:center;justify-content:center}.fw-medium{font-weight:var(--fw-medium)}.section{padding:100px 0;position:relative}@media(max-width:768px){.section{padding:60px 0}}.bg-overlay{background-color:var(--overlay);position:absolute;top:0;right:0;left:0;bottom:0;width:100%;height:100%}.bg-overlay-white{background-color:var(--bg-overlay-white)}.title-heading{line-height:26px}.title-heading .heading{font-size:45px!important;letter-spacing:1px}@media(max-width:768px){.title-heading .heading{font-size:35px!important}}.title-heading .para-desc{font-size:18px}.section-title .title{letter-spacing:.5px;font-size:30px!important}@media(max-width:768px){.section-title .title{font-size:24px!important}}.para-desc{max-width:600px}.mt-100{margin-top:100px}.back-to-top{position:fixed;z-index:99;bottom:30px;right:30px;display:none;transition:all .5s ease;height:36px;width:36px;line-height:0;padding:0;border-radius:4px;border:none;background:var(--primary)}.back-to-top svg{transition:all .5s ease}.back-to-top:hover{transform:rotate(45deg)}.back-to-top:hover svg{transform:rotate(-45deg)!important}.opacity-05{opacity:.05}.opacity-1{opacity:.1}.opacity-2{opacity:.2}.opacity-3{opacity:.3}.opacity-4{opacity:.4}.opacity-5{opacity:.5}.opacity-6{opacity:.6}.opacity-7{opacity:.7}.opacity-075{opacity:.075}.opacity-8{opacity:.8}.opacity-9{opacity:.9}.back-to-home{position:fixed;top:4%;right:2%;z-index:1}.sticky-bar{position:sticky;top:80px}[class^=uil-]:before,[class*=" uil-"]:before{margin:0}.uim-svg{vertical-align:0!important}.social-icon li a{color:var(--dark);border:1px solid var(--dark);height:32px;width:32px;display:inline-flex;justify-content:center;align-items:center;text-align:center;transition:all .4s ease;overflow:hidden;position:relative}.social-icon li a .fea-social{stroke-width:2}.social-icon li a:hover{background-color:var(--primary);border-color:var(--primary)!important;color:var(--foot-social-color-white)!important}.social-icon li a:hover .fea-social{fill:var(--primary)}.social-icon.social li a{color:var(--foot-social-color);border-color:var(--social-border-color)}.social-icon.foot-social-icon li a{color:var(--foot-social-color);border-color:hsl(var(--footer),100%,calc(var(--l) + 5%))}.rounded{border-radius:6px!important}.rounded-top{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-left{border-top-left-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-bottom{border-bottom-left-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-right{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-md{border-radius:10px!important}.rounded-lg{border-radius:30px!important}.bg-white-color{background:var(--bg-white-color)}.d-flex .flex-1{flex:1}.material-icons{font-family:material symbols outlined;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}span.size-16,i.size-16{font-size:16px!important;font-variation-settings:'OPSZ' 16}span.size-20,i.size-20{font-size:20px!important;font-variation-settings:'OPSZ' 20}span.size-24,i.size-24{font-size:24px!important;font-variation-settings:'OPSZ' 24}span.size-40,i.size-40{font-size:40px!important;font-variation-settings:'OPSZ' 40}span.size-48,i.size-48{font-size:48px!important;font-variation-settings:'OPSZ' 48}.anchor{visibility:hidden}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}:root{--prism-code-color:#657b83;--prism-code-bg:#fdf6e3;--prism-code-scrollbar-thumb-color:var(--gray-400);--prism-line-highlight-bg-color:#e9967a;--prism-copy-btn-bg-hover-color:var(--gray-700)}[data-dark-mode]{--prism-code-color:#dee2e6;--prism-code-bg:var(--gray-900);--prism-code-scrollbar-thumb-color:var(--gray-600);--prism-line-highlight-bg-color:var(--gray-600);--prism-copy-btn-bg-hover-color:var(--white)}code[class*=language-],pre[class*=language-]{color:var(--prism-code-color);background:var(--prism-code-bg)!important}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#073642}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#073642}pre[class*=language-]{overflow:auto;border-radius:0 0 4px 4px}:not(pre)>code[class*=language-],pre[class*=language-]{background-color:#fdf6e3}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.line-highlight:before,.line-highlight[data-end]:after{background-color:var(--prism-line-highlight-bg-color)}[data-copy-state=copy] span:empty::before{background-color:var(--gray-500)}[data-copy-state=copy] span:empty:hover::before{background-color:var(--prism-copy-btn-bg-hover-color)}[data-copy-state=copy-success] span:empty::before{background-color:var(--emerald-400)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#93a1a1}.token.punctuation{color:#586e75}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#268bd2}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.url,.token.inserted{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#859900}.token.function,.token.class-name{color:#b58900}.token.regex,.token.important,.token.variable{color:#cb4b16}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}code{color:var(--text-default)}.docs-content .main-content pre{background-color:var(--prism-code-bg)!important}code[class*=language-],pre[class*=language-]{border:none!important;font-family:Fira Code;font-size:.8rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scrollbar-width:thin;scrollbar-color:var(--prism-code-scrollbar-thumb-color)var(--prism-code-bg)}code[class*=language-]::-webkit-scrollbar,pre[class*=language-]::-webkit-scrollbar{height:5px;background:var(--prism-code-bg)}code[class*=language-]::-webkit-scrollbar-thumb,pre[class*=language-]::-webkit-scrollbar-thumb{background:var(--prism-code-scrollbar-thumb-color)}pre[data-line]{position:relative;padding:0!important}.line-highlight:first-of-type{margin-top:0}.line-highlight:last-of-type{margin-top:0!important}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:0;background:rgba(153,122,102,8%);background:linear-gradient(to right,rgba(153,122,102,.1) 70%,rgba(153,122,102,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.14em;left:.6em;min-width:1.5em;padding:0 .5em;color:#f5f2f0;font:700 95%/1.3 sans-serif;text-align:center;vertical-align:.3em;border-radius:4px;text-shadow:none}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.14em}.line-numbers .line-highlight{margin-top:0!important}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)}pre[class*=language-].line-numbers{position:relative;padding-left:0;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit;padding:.3rem 3rem 1.25rem!important}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:.4em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:var(--gray-400);display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative;margin:16px 0;padding-top:1.25rem!important;background-color:var(--prism-code-bg);border-radius:4px}div.prism-codeblock.hl_lines .code-toolbar{padding-top:1.25rem!important}div.prism-shortcode.data-line .code-toolbar{padding-top:1.25rem!important}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.4em;right:.4em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>button.copy-to-clipboard-button{box-shadow:none;background:var(--prism-code-bg);opacity:.9}[data-copy-state=copy] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M9 43.95q-1.2 0-2.1-.9-.9-.9-.9-2.1V10.8h3v30.15h23.7v3Zm6-6q-1.2 0-2.1-.9-.9-.9-.9-2.1v-28q0-1.2.9-2.1.9-.9 2.1-.9h22q1.2 0 2.1.9.9.9.9 2.1v28q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h22v-28H15v28Zm0 0v-28 28Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M9 43.95q-1.2 0-2.1-.9-.9-.9-.9-2.1V10.8h3v30.15h23.7v3Zm6-6q-1.2 0-2.1-.9-.9-.9-.9-2.1v-28q0-1.2.9-2.1.9-.9 2.1-.9h22q1.2 0 2.1.9.9.9.9 2.1v28q0 1.2-.9 2.1-.9.9-2.1.9Zm0-3h22v-28H15v28Zm0 0v-28 28Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;display:block;height:24px;width:24px}[data-copy-state=copy-success] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M18.9 35.7 7.7 24.5l2.15-2.15 9.05 9.05 19.2-19.2 2.15 2.15Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M18.9 35.7 7.7 24.5l2.15-2.15 9.05 9.05 19.2-19.2 2.15 2.15Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;display:block;height:24px;width:24px}[data-copy-state=copy-error] span:empty::before{content:"";-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z'/%3E%3C/svg%3E");-webkit-mask-size:contain;mask-size:contain;background-color:var(--cardinal-300);display:block;height:24px;width:24px}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:4px;background:rgba(224,224,224,.2);box-shadow:0 2px rgba(0,0,0,.2);border-radius:4px}div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus{color:inherit;text-decoration:none}.token.treeview-part .entry-line{position:relative;text-indent:-99em;display:inline-block;vertical-align:top;width:1.2em}.token.treeview-part .entry-line:before,.token.treeview-part .line-h:after{content:"";position:absolute;top:0;left:50%;width:50%;height:100%}.token.treeview-part .line-h:before,.token.treeview-part .line-v:before{border-left:1px solid #ccc}.token.treeview-part .line-v-last:before{height:50%;border-left:1px solid #ccc;border-bottom:1px solid #ccc}.token.treeview-part .line-h:after{height:50%;border-bottom:1px solid #ccc}.token.treeview-part .entry-name{position:relative;display:inline-block;vertical-align:top}.token.treeview-part .entry-name.dotfile{opacity:.5}@font-face{font-family:prismtreeview;src:url(data:application/font-woff;base64,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)format("woff")}.token.treeview-part .entry-name:before{content:"\ea01";font-family:prismtreeview;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:2.5ex;display:inline-block}.token.treeview-part .entry-name.dir:before{content:"\ea02"}.token.treeview-part .entry-name.ext-bmp:before,.token.treeview-part .entry-name.ext-eps:before,.token.treeview-part .entry-name.ext-gif:before,.token.treeview-part .entry-name.ext-jpe:before,.token.treeview-part .entry-name.ext-jpg:before,.token.treeview-part .entry-name.ext-jpeg:before,.token.treeview-part .entry-name.ext-png:before,.token.treeview-part .entry-name.ext-svg:before,.token.treeview-part .entry-name.ext-tiff:before{content:"\ea03"}.token.treeview-part .entry-name.ext-cfg:before,.token.treeview-part .entry-name.ext-conf:before,.token.treeview-part .entry-name.ext-config:before,.token.treeview-part .entry-name.ext-csv:before,.token.treeview-part .entry-name.ext-ini:before,.token.treeview-part .entry-name.ext-log:before,.token.treeview-part .entry-name.ext-md:before,.token.treeview-part .entry-name.ext-nfo:before,.token.treeview-part .entry-name.ext-txt:before{content:"\ea06"}.token.treeview-part .entry-name.ext-asp:before,.token.treeview-part .entry-name.ext-aspx:before,.token.treeview-part .entry-name.ext-c:before,.token.treeview-part .entry-name.ext-cc:before,.token.treeview-part .entry-name.ext-cpp:before,.token.treeview-part .entry-name.ext-cs:before,.token.treeview-part .entry-name.ext-css:before,.token.treeview-part .entry-name.ext-h:before,.token.treeview-part .entry-name.ext-hh:before,.token.treeview-part .entry-name.ext-htm:before,.token.treeview-part .entry-name.ext-html:before,.token.treeview-part .entry-name.ext-jav:before,.token.treeview-part .entry-name.ext-java:before,.token.treeview-part .entry-name.ext-js:before,.token.treeview-part .entry-name.ext-php:before,.token.treeview-part .entry-name.ext-rb:before,.token.treeview-part .entry-name.ext-xml:before{content:"\ea07"}.token.treeview-part .entry-name.ext-7z:before,.token.treeview-part .entry-name.ext-bz:before,.token.treeview-part .entry-name.ext-bz2:before,.token.treeview-part .entry-name.ext-gz:before,.token.treeview-part .entry-name.ext-rar:before,.token.treeview-part .entry-name.ext-tar:before,.token.treeview-part .entry-name.ext-tgz:before,.token.treeview-part .entry-name.ext-zip:before{content:"\ea08"}.token.treeview-part .entry-name.ext-aac:before,.token.treeview-part .entry-name.ext-au:before,.token.treeview-part .entry-name.ext-cda:before,.token.treeview-part .entry-name.ext-flac:before,.token.treeview-part .entry-name.ext-mp3:before,.token.treeview-part .entry-name.ext-oga:before,.token.treeview-part .entry-name.ext-ogg:before,.token.treeview-part .entry-name.ext-wav:before,.token.treeview-part .entry-name.ext-wma:before{content:"\ea04"}.token.treeview-part .entry-name.ext-avi:before,.token.treeview-part .entry-name.ext-flv:before,.token.treeview-part .entry-name.ext-mkv:before,.token.treeview-part .entry-name.ext-mov:before,.token.treeview-part .entry-name.ext-mp4:before,.token.treeview-part .entry-name.ext-mpeg:before,.token.treeview-part .entry-name.ext-mpg:before,.token.treeview-part .entry-name.ext-ogv:before,.token.treeview-part .entry-name.ext-webm:before{content:"\ea05"}.token.treeview-part .entry-name.ext-pdf:before{content:"\ea09"}.token.treeview-part .entry-name.ext-xls:before,.token.treeview-part .entry-name.ext-xlsx:before{content:"\ea0a"}.token.treeview-part .entry-name.ext-doc:before,.token.treeview-part .entry-name.ext-docm:before,.token.treeview-part .entry-name.ext-docx:before{content:"\ea0c"}.token.treeview-part .entry-name.ext-pps:before,.token.treeview-part .entry-name.ext-ppt:before,.token.treeview-part .entry-name.ext-pptx:before{content:"\ea0b"}:root{--flexsearch-container-bg-color:var(--gray-100);--flexsearch-after-bg-color:var(--primary);--flexsearch-after-color:var(--white);--flexsearch-button-hover-bg-color:none;--flexsearch-key-bg-color:var(--primary);--flexsearch-key-color:#fff;--flexsearch-suggestion-bg-color:var(--white);--flexsearch-suggestion-link-hover-bg-color:#f5f6f7;--flexsearch-suggestion-title-color:var(--primary);--flexsearch-suggestion-title-border-color:var(--gray-300);--flexsearch-suggestion-desc-color:var(--text-default)}[data-dark-mode]{--flexsearch-container-bg-color:var(--dark-secondary);--flexsearch-after-bg-color:hsl(var(--primary-hsl),0.15);--flexsearch-after-color:var(--primary-200);--flexsearch-button-hover-bg-color:var(--black);--flexsearch-key-bg-color:hsl(var(--primary-hsl), 0.15);--flexsearch-key-color:var(--primary-200);--flexsearch-suggestion-bg-color:var(--dark-secondary);--flexsearch-suggestion-link-hover-bg-color:var(--gray-800);--flexsearch-suggestion-title-color:var(--primary-200);--flexsearch-suggestion-title-border-color:var(--gray-700);--flexsearch-suggestion-desc-color:var(--gray-300)}#FlexSearchCollapse{transition:.05s ease;width:fit-content}.flexsearch-container{background-color:var(--flexsearch-container-bg-color);padding:.8rem}.flexsearch-container .form-control{border:2px solid var(--primary);font-size:1.2rem}@media(min-width:768px){.flexsearch-container{border-radius:0 0 4px 0}.flexsearch{min-width:500px;width:500px}}.flexsearch-keymap{padding:0 0 .8rem .5rem;list-style:none;display:flex}.flexsearch-keymap .flexsearch-button-cmd-key{height:20px;width:30px}.flexsearch-keymap li:not(:last-of-type){margin-right:.8rem}.flexsearch-keymap li{align-items:center;display:flex}@media(max-width:768px){.flexsearch-keymap{display:none}}.flexsearch-key-label{color:var(--form-control-placeholder-color);font-size:.75em;line-height:1.6em}.flexsearch-button-keys{display:flex;min-width:calc(40px + .8em)}.flexsearch-button-cmd-key{align-items:center;background:var(--flexsearch-key-bg-color);border-radius:3px;color:var(--flexsearch-key-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;border:0;width:56px}.flexsearch-button-key{align-items:center;background:var(--flexsearch-key-bg-color);border-radius:3px;color:var(--flexsearch-key-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0;position:relative;border:0;width:20px;font-size:11px}#flexsearch-button{display:flex;height:36px;padding:0 8px;margin:0 0 0 16px;font-weight:400;align-items:center;justify-content:space-between;border-radius:4px}#flexsearch-button .flexsearch-button-placeholder{color:var(--form-control-placeholder-color)}#flexsearch-button:hover{background:var(--flexsearch-button-hover-bg-color)!important}#flexsearch-button:hover .flexsearch-button-placeholder{color:var(--text-default)}@media(min-width:992px){.flexsearch::after{right:.5125rem}}#suggestions{position:absolute;background-color:var(--flexsearch-suggestion-bg-color);left:0;max-height:70vh;overflow-y:auto;scrollbar-width:thin;margin-top:.5rem;max-width:calc(100vw - .15rem);z-index:999}#suggestions::-webkit-scrollbar{width:5px}#suggestions::-webkit-scrollbar-track{background:0 0}#suggestions::-webkit-scrollbar-thumb{background-color:rgba(155,155,155,.5);border-radius:2px;border:transparent}@media(min-width:992px){#suggestions{left:0}}#suggestions a,.suggestion__no-results{padding:.75rem;margin:0 .5rem}#suggestions a{display:block;text-decoration:none}#suggestions a:focus{background:var(--flexsearch-suggestion-link-hover-bg-color);border-radius:4px;outline:0}#suggestions div:first-child{margin-top:.5rem}#suggestions div:last-child{margin-bottom:.5rem}#suggestions a:hover{background:var(--flexsearch-suggestion-link-hover-bg-color);border-radius:4px}#suggestions span{display:flex;font-size:1rem}.suggestion__title{font-weight:700;color:var(--flexsearch-suggestion-title-color)}.suggestion__description,.suggestion__no-results{color:var(--flexsearch-suggestion-desc-color)}@media(min-width:992px){#suggestions{width:500px;max-width:500px}#suggestions a{display:flex}.suggestion__title{width:9rem;padding-right:1rem;border-right:1px solid var(--flexsearch-suggestion-title-border-color);display:inline-block;text-align:left}.suggestion__description{width:20.1rem;padding-left:1rem}}.docs-content .main-content pre.mermaid{background-color:initial!important;text-align:center!important}.docs-content .main-content pre.mermaid .messageText{fill:var(--text-default)!important}.docs-content .main-content pre.mermaid .messageLine0,.docs-content .main-content pre.mermaid .messageLine1{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid #arrowhead path,.docs-content .main-content pre.mermaid #crosshead path{fill:var(--text-default)!important;stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .edgePaths path{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .marker{fill:var(--text-default)!important;stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .grid .tick{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid .grid .tick text{fill:var(--text-default)!important}.docs-content .main-content pre.mermaid line{stroke:var(--text-default)!important}.docs-content .main-content pre.mermaid text{fill:var(--text-default)!important} \ No newline at end of file diff --git a/resources/_gen/assets/docs/scss/style.scss_2559dcb36d17cc8382d1803115bae9e1.json b/resources/_gen/assets/docs/scss/style.scss_2559dcb36d17cc8382d1803115bae9e1.json index f81737a..fc94f93 100644 --- a/resources/_gen/assets/docs/scss/style.scss_2559dcb36d17cc8382d1803115bae9e1.json +++ b/resources/_gen/assets/docs/scss/style.scss_2559dcb36d17cc8382d1803115bae9e1.json @@ -1 +1 @@ -{"Target":"docs/scss/style.min.e608f815e753ec56da1f9f434aaa0b686cb8a8a9de8c8386736a5f0a295b950c8d4b4319c11bce88b20c3141149b6781.css","MediaType":"text/css","Data":{"Integrity":"sha384-5gj4FedT7FbaH59DSqoLaGy4qKnejIOGc2pfCilblQyNS0MZwRvOiLIMMUEUm2eB"}} \ No newline at end of file +{"Target":"docs/scss/style.min.9e935c13517a7a741ae7c65525d3831f86c449b1cdefe30cef8faab8c1d1915e82b463fec53b50fde52c55a4b05916eb.css","MediaType":"text/css","Data":{"Integrity":"sha384-npNcE1F6enQa58ZVJdODH4bESbHN7+MM74+quMHRkV6CtGP+xTtQ/eUsVaSwWRbr"}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/style.scss_8c911ff330bb5ca9491c098c46a3173d.content b/resources/_gen/assets/scss/style.scss_8c911ff330bb5ca9491c098c46a3173d.content index c978e6d..da4f34f 100644 --- a/resources/_gen/assets/scss/style.scss_8c911ff330bb5ca9491c098c46a3173d.content +++ b/resources/_gen/assets/scss/style.scss_8c911ff330bb5ca9491c098c46a3173d.content @@ -1,3 +1,3 @@ /*!* Bootstrap v5.3.3 (https://getbootstrap.com/) * Copyright 2011-2024 The Bootstrap Authors -* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)*/:root,[data-bs-theme=light]{--bs-blue:#0066ff;--bs-indigo:#6610f2;--bs-purple:#7952B3;--bs-pink:#d63384;--bs-red:#e43f52;--bs-orange:#fd7e14;--bs-yellow:#f17425;--bs-green:#2eca8b;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-white:#ffffff;--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:#0066ff;--bs-secondary:#6c757d;--bs-success:#2eca8b;--bs-info:#17a2b8;--bs-warning:#f17425;--bs-danger:#e43f52;--bs-light:#f8f9fa;--bs-dark:#3c4858;--bs-footer:#202942;--bs-muted:#6b7686;--bs-primary-rgb:0, 102, 255;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:46, 202, 139;--bs-info-rgb:23, 162, 184;--bs-warning-rgb:241, 116, 37;--bs-danger-rgb:228, 63, 82;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:60, 72, 88;--bs-footer-rgb:32, 41, 66;--bs-muted-rgb:107, 118, 134;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--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:Inter;--bs-font-monospace:Fira Code;--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:#3C4257;--bs-body-color-rgb:60, 66, 87;--bs-body-bg:#ffffff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0066ff;--bs-link-color-rgb:0, 102, 255;--bs-link-decoration:underline;--bs-link-hover-color:#0052cc;--bs-link-hover-color-rgb:0, 82, 204;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fcf8e3;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#e9ecef;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.25rem;--bs-border-radius-sm:0.2rem;--bs-border-radius-lg:0.3rem;--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(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,*::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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width)solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.3875rem + 1.65vw)}@media(min-width:1200px){h1,.h1{font-size:2.625rem}}h2,.h2{font-size:calc(1.35rem + 1.2vw)}@media(min-width:1200px){h2,.h2{font-size:2.25rem}}h3,.h3{font-size:calc(1.3125rem + .75vw)}@media(min-width:1200px){h3,.h3{font-size:1.875rem}}h4,.h4{font-size:calc(1.275rem + .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:.875em}mark,.mark{padding:.2em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.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:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}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:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@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}::-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:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.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}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.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:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--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:1140px}}@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:1.5rem;--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}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.33333333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.66666667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333333%}.col-2{flex:none;width:16.66666667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.33333333%}.col-5{flex:none;width:41.66666667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.33333333%}.col-8{flex:none;width:66.66666667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.33333333%}.col-11{flex:none;width:91.66666667%}.col-12{flex:none;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--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}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.33333333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.66666667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333333%}.col-sm-2{flex:none;width:16.66666667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.33333333%}.col-sm-5{flex:none;width:41.66666667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.33333333%}.col-sm-8{flex:none;width:66.66666667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.33333333%}.col-sm-11{flex:none;width:91.66666667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--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}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.33333333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.66666667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333333%}.col-md-2{flex:none;width:16.66666667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.33333333%}.col-md-5{flex:none;width:41.66666667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.33333333%}.col-md-8{flex:none;width:66.66666667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.33333333%}.col-md-11{flex:none;width:91.66666667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--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}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.33333333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.66666667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333333%}.col-lg-2{flex:none;width:16.66666667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.33333333%}.col-lg-5{flex:none;width:41.66666667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.33333333%}.col-lg-8{flex:none;width:66.66666667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.33333333%}.col-lg-11{flex:none;width:91.66666667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--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}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.33333333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.66666667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333333%}.col-xl-2{flex:none;width:16.66666667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.33333333%}.col-xl-5{flex:none;width:41.66666667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.33333333%}.col-xl-8{flex:none;width:66.66666667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.33333333%}.col-xl-11{flex:none;width:91.66666667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--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}.row-cols-xxl-auto>*{flex:none;width:auto}.row-cols-xxl-1>*{flex:none;width:100%}.row-cols-xxl-2>*{flex:none;width:50%}.row-cols-xxl-3>*{flex:none;width:33.33333333%}.row-cols-xxl-4>*{flex:none;width:25%}.row-cols-xxl-5>*{flex:none;width:20%}.row-cols-xxl-6>*{flex:none;width:16.66666667%}.col-xxl-auto{flex:none;width:auto}.col-xxl-1{flex:none;width:8.33333333%}.col-xxl-2{flex:none;width:16.66666667%}.col-xxl-3{flex:none;width:25%}.col-xxl-4{flex:none;width:33.33333333%}.col-xxl-5{flex:none;width:41.66666667%}.col-xxl-6{flex:none;width:50%}.col-xxl-7{flex:none;width:58.33333333%}.col-xxl-8{flex:none;width:66.66666667%}.col-xxl-9{flex:none;width:75%}.col-xxl-10{flex:none;width:83.33333333%}.col-xxl-11{flex:none;width:91.66666667%}.col-xxl-12{flex:none;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--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}}.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)>*>*{padding:.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{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2)solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.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:#000000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#ffffff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#ffffff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#ffffff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#ffffff;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:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-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);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 .15s ease-in-out,box-shadow .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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.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::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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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-plaintext{display:block;width:100%;padding:.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 + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.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}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .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 + .75rem + calc(var(--bs-border-width) * 2));padding:.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 + .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:.375rem 2.25rem .375rem .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 .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 .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.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='%23dee2e6' 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:.125rem}.form-check .form-check-input{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{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.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:50%;background-size:contain;border:var(--bs-border-width)solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-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]{--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{background-color:#0d6efd;border-color:#0d6efd;--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{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--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:0;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input: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='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:100%;--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{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,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input: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:1.5rem;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,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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,.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;height:100%;padding:1rem .75rem;overflow:hidden;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 .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.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}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .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,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.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,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23198754' 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.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--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:#ffffff;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.25rem;--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.25rem 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;text-decoration:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-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)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,: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)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{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:#ffffff;--bs-btn-bg:#0066ff;--bs-btn-border-color:#0066ff;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#0057d9;--bs-btn-hover-border-color:#0052cc;--bs-btn-focus-shadow-rgb:38, 125, 255;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#0052cc;--bs-btn-active-border-color:#004dbf;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#0066ff;--bs-btn-disabled-border-color:#0066ff}.btn-secondary{--bs-btn-color:#ffffff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130, 138, 145;--bs-btn-active-color:#ffffff;--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:#ffffff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#ffffff;--bs-btn-bg:#2eca8b;--bs-btn-border-color:#2eca8b;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#27ac76;--bs-btn-hover-border-color:#25a26f;--bs-btn-focus-shadow-rgb:77, 210, 156;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#25a26f;--bs-btn-active-border-color:#239868;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#2eca8b;--bs-btn-disabled-border-color:#2eca8b}.btn-info{--bs-btn-color:#ffffff;--bs-btn-bg:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#148a9c;--bs-btn-hover-border-color:#128293;--bs-btn-focus-shadow-rgb:58, 176, 195;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#128293;--bs-btn-active-border-color:#117a8a;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#17a2b8;--bs-btn-disabled-border-color:#17a2b8}.btn-warning{--bs-btn-color:#ffffff;--bs-btn-bg:#f17425;--bs-btn-border-color:#f17425;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#cd631f;--bs-btn-hover-border-color:#c15d1e;--bs-btn-focus-shadow-rgb:243, 137, 70;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#c15d1e;--bs-btn-active-border-color:#b5571c;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#f17425;--bs-btn-disabled-border-color:#f17425}.btn-danger{--bs-btn-color:#ffffff;--bs-btn-bg:#e43f52;--bs-btn-border-color:#e43f52;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#c23646;--bs-btn-hover-border-color:#b63242;--bs-btn-focus-shadow-rgb:232, 92, 108;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#b63242;--bs-btn-active-border-color:#ab2f3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#e43f52;--bs-btn-disabled-border-color:#e43f52}.btn-light{--bs-btn-color:#000000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211, 212, 213;--bs-btn-active-color:#000000;--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:#000000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#ffffff;--bs-btn-bg:#3c4858;--bs-btn-border-color:#3c4858;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#596371;--bs-btn-hover-border-color:#505a69;--bs-btn-focus-shadow-rgb:89, 99, 113;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#636d79;--bs-btn-active-border-color:#505a69;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#3c4858;--bs-btn-disabled-border-color:#3c4858}.btn-footer{--bs-btn-color:#ffffff;--bs-btn-bg:#202942;--bs-btn-border-color:#202942;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#1b2338;--bs-btn-hover-border-color:#1a2135;--bs-btn-focus-shadow-rgb:65, 73, 94;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#1a2135;--bs-btn-active-border-color:#181f32;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#202942;--bs-btn-disabled-border-color:#202942}.btn-muted{--bs-btn-color:#ffffff;--bs-btn-bg:#6b7686;--bs-btn-border-color:#6b7686;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#5b6472;--bs-btn-hover-border-color:#565e6b;--bs-btn-focus-shadow-rgb:129, 139, 152;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#565e6b;--bs-btn-active-border-color:#505965;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#6b7686;--bs-btn-disabled-border-color:#6b7686}.btn-outline-primary{--bs-btn-color:#0066ff;--bs-btn-border-color:#0066ff;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#0066ff;--bs-btn-hover-border-color:#0066ff;--bs-btn-focus-shadow-rgb:0, 102, 255;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#0066ff;--bs-btn-active-border-color:#0066ff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0066ff;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0066ff;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108, 117, 125;--bs-btn-active-color:#ffffff;--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:#2eca8b;--bs-btn-border-color:#2eca8b;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#2eca8b;--bs-btn-hover-border-color:#2eca8b;--bs-btn-focus-shadow-rgb:46, 202, 139;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#2eca8b;--bs-btn-active-border-color:#2eca8b;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#2eca8b;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#2eca8b;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#17a2b8;--bs-btn-hover-border-color:#17a2b8;--bs-btn-focus-shadow-rgb:23, 162, 184;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#17a2b8;--bs-btn-active-border-color:#17a2b8;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#17a2b8;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#17a2b8;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#f17425;--bs-btn-border-color:#f17425;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#f17425;--bs-btn-hover-border-color:#f17425;--bs-btn-focus-shadow-rgb:241, 116, 37;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#f17425;--bs-btn-active-border-color:#f17425;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f17425;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f17425;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#e43f52;--bs-btn-border-color:#e43f52;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#e43f52;--bs-btn-hover-border-color:#e43f52;--bs-btn-focus-shadow-rgb:228, 63, 82;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#e43f52;--bs-btn-active-border-color:#e43f52;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#e43f52;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#e43f52;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248, 249, 250;--bs-btn-active-color:#000000;--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:#3c4858;--bs-btn-border-color:#3c4858;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#3c4858;--bs-btn-hover-border-color:#3c4858;--bs-btn-focus-shadow-rgb:60, 72, 88;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#3c4858;--bs-btn-active-border-color:#3c4858;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#3c4858;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#3c4858;--bs-gradient:none}.btn-outline-footer{--bs-btn-color:#202942;--bs-btn-border-color:#202942;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#202942;--bs-btn-hover-border-color:#202942;--bs-btn-focus-shadow-rgb:32, 41, 66;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#202942;--bs-btn-active-border-color:#202942;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#202942;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#202942;--bs-gradient:none}.btn-outline-muted{--bs-btn-color:#6b7686;--bs-btn-border-color:#6b7686;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#6b7686;--bs-btn-hover-border-color:#6b7686;--bs-btn-focus-shadow-rgb:107, 118, 134;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#6b7686;--bs-btn-active-border-color:#6b7686;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6b7686;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6b7686;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:#0066ff;--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:#0052cc;--bs-btn-hover-border-color:transparent;--bs-btn-active-color:#0052cc;--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:49, 132, 253;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{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.3rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.2rem}.fade{transition:opacity .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 .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .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:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.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:#0d6efd;--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:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.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:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.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:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.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;text-decoration:none;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);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:.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:#0d6efd;--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,.btn-group-vertical>.btn{position:relative;flex:auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.25rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(1px * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(1px * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{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:#0066ff;--bs-nav-link-hover-color:#0052cc;--bs-nav-link-disabled-color:#6c757d;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);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .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)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#dee2e6;--bs-nav-tabs-border-radius:0.25rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--bs-nav-tabs-link-active-bg:#ffffff;--bs-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 #ffffff;border-bottom:var(--bs-nav-tabs-border-width)solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{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 .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{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:0.25rem;--bs-nav-pills-link-active-color:#ffffff;--bs-nav-pills-link-active-bg:#0066ff}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{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{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width)solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:initial}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:initial}.nav-fill>.nav-link,.nav-fill .nav-item{flex:auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--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(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--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%280, 0, 0, 0.55%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(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.25rem;--bs-navbar-toggler-focus-width:0.25rem;--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);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.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 .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.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-basis:100%;flex-grow:1;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:50%;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{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{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{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{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{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{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:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#ffffff;--bs-navbar-brand-color:#ffffff;--bs-navbar-brand-hover-color:#ffffff;--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='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--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%28255, 255, 255, 0.55%29' 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:1px;--bs-card-border-color:rgba(0, 0, 0, 0.125);--bs-card-border-radius:0.25rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.25rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#ffffff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;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: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+.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{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;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='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%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='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--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-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{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='%236ea8fe'%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-.708z'/%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='%236ea8fe'%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-.708z'/%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,"/")}.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(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--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);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width)solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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);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(var(--bs-border-width) * -1)}.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:#ffffff;--bs-badge-border-radius:0.25rem;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{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--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:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.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)}.alert-footer{--bs-alert-color:var(--bs-footer-text-emphasis);--bs-alert-bg:var(--bs-footer-bg-subtle);--bs-alert-border-color:var(--bs-footer-border-subtle);--bs-alert-link-color:var(--bs-footer-text-emphasis)}.alert-muted{--bs-alert-color:var(--bs-muted-text-emphasis);--bs-alert-bg:var(--bs-muted-bg-subtle);--bs-alert-border-color:var(--bs-muted-border-subtle);--bs-alert-link-color:var(--bs-muted-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.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:#0d6efd;--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,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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:#0d6efd;--bs-list-group-active-border-color:#0d6efd;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-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action: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:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.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);text-decoration:none;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-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)}.list-group-item-footer{--bs-list-group-color:var(--bs-footer-text-emphasis);--bs-list-group-bg:var(--bs-footer-bg-subtle);--bs-list-group-border-color:var(--bs-footer-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-footer-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-footer-border-subtle);--bs-list-group-active-color:var(--bs-footer-bg-subtle);--bs-list-group-active-bg:var(--bs-footer-text-emphasis);--bs-list-group-active-border-color:var(--bs-footer-text-emphasis)}.list-group-item-muted{--bs-list-group-color:var(--bs-muted-text-emphasis);--bs-list-group-bg:var(--bs-muted-bg-subtle);--bs-list-group-border-color:var(--bs-muted-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-muted-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-muted-border-subtle);--bs-list-group-active-color:var(--bs-muted-bg-subtle);--bs-list-group-active-bg:var(--bs-muted-text-emphasis);--bs-list-group-active-border-color:var(--bs-muted-text-emphasis)}.btn-close{--bs-btn-close-color:#000000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%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(0, 102, 255, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:var(--bs-btn-close-bg)50%/1em no-repeat;border:0;border-radius:.25rem;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{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--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: ;--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{transition:transform .3s ease-out;transform:translate(0,-50px)}@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:calc(-.5 * var(--bs-modal-header-padding-y))calc(-.5 * var(--bs-modal-header-padding-x))calc(-.5 * var(--bs-modal-header-padding-y))auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex: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)}.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)}.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)}.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)}.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)}.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)}.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)}.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)}.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 .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 .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:0 0;border:0;opacity:.5;transition:opacity .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:.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 0z'/%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-.708z'/%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:initial;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1)grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1)grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.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)}}.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;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:400px;--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:.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:calc(-.5 * var(--bs-offcanvas-padding-y))calc(-.5 * var(--bs-offcanvas-padding-x))calc(-.5 * var(--bs-offcanvas-padding-y))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:.5}.placeholder.btn::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:.2}}.placeholder-wave{mask-image:linear-gradient(130deg,#000000 55%,rgba(0,0,0,.8) 75%,#000000 95%);mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%}}.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:#fff!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:#fff!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!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}.text-bg-footer{color:#fff!important;background-color:RGBA(var(--bs-footer-rgb),var(--bs-bg-opacity,1))!important}.text-bg-muted{color:#fff!important;background-color:RGBA(var(--bs-muted-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(0,82,204,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(0,82,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(37,162,111,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(37,162,111,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(18,130,147,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(18,130,147,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(193,93,30,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(193,93,30,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(182,50,66,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(182,50,66,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(48,58,70,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(48,58,70,var(--bs-link-underline-opacity,1))!important}.link-footer{color:RGBA(var(--bs-footer-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-footer-rgb),var(--bs-link-underline-opacity,1))!important}.link-footer:hover,.link-footer:focus{color:RGBA(26,33,53,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(26,33,53,var(--bs-link-underline-opacity,1))!important}.link-muted{color:RGBA(var(--bs-muted-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-muted-rgb),var(--bs-link-underline-opacity,1))!important}.link-muted:hover,.link-muted:focus{color:RGBA(86,94,107,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(86,94,107,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,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.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:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.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(.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: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}.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:.25}.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:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.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))}.focus-ring-footer{--bs-focus-ring-color:rgba(var(--bs-footer-rgb), var(--bs-focus-ring-opacity))}.focus-ring-muted{--bs-focus-ring-color:rgba(var(--bs-muted-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-footer{--bs-border-opacity:1;border-color:rgba(var(--bs-footer-rgb),var(--bs-border-opacity))!important}.border-muted{--bs-border-opacity:1;border-color:rgba(var(--bs-muted-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: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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.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:.25rem!important}.gap-2{gap:.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:.25rem!important}.row-gap-2{row-gap:.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:.25rem!important}.column-gap-2{column-gap:.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.3875rem + 1.65vw)!important}.fs-2{font-size:calc(1.35rem + 1.2vw)!important}.fs-3{font-size:calc(1.3125rem + .75vw)!important}.fs-4{font-size:calc(1.275rem + .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}.text-break{word-wrap:break-word!important;word-break:break-word!important}.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-footer{--bs-text-opacity:1;color:rgba(var(--bs-footer-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!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-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.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:.125em!important}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2{text-underline-offset:.25em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3{text-underline-offset:.375em!important}.link-offset-3-hover:hover{text-underline-offset:.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-footer{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-footer-rgb),var(--bs-link-underline-opacity))!important}.link-underline-muted{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-muted-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-footer{--bs-bg-opacity:1;background-color:rgba(var(--bs-footer-rgb),var(--bs-bg-opacity))!important}.bg-muted{--bs-bg-opacity:1;background-color:rgba(var(--bs-muted-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: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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.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:.25rem!important}.gap-sm-2{gap:.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:.25rem!important}.row-gap-sm-2{row-gap:.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:.25rem!important}.column-gap-sm-2{column-gap:.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: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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.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:.25rem!important}.gap-md-2{gap:.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:.25rem!important}.row-gap-md-2{row-gap:.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:.25rem!important}.column-gap-md-2{column-gap:.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: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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.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:.25rem!important}.gap-lg-2{gap:.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:.25rem!important}.row-gap-lg-2{row-gap:.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:.25rem!important}.column-gap-lg-2{column-gap:.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: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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.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:.25rem!important}.gap-xl-2{gap:.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:.25rem!important}.row-gap-xl-2{row-gap:.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:.25rem!important}.column-gap-xl-2{column-gap:.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: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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.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:.25rem!important}.gap-xxl-2{gap:.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:.25rem!important}.row-gap-xxl-2{row-gap:.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:.25rem!important}.column-gap-xxl-2{column-gap:.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.625rem!important}.fs-2{font-size:2.25rem!important}.fs-3{font-size:1.875rem!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}}@font-face{font-family:material symbols outlined;font-weight:400 700;font-display:block;font-style:normal;src:local("Material Icons"),local("MaterialIcons-Outlined"),url(../docs/fonts/material-symbols-outlined.woff2)format("woff2")}body{font-family:Inter;overflow-x:hidden!important;font-size:1rem;color:#3c4257;background-color:#fff}@media(max-width:1199px){html{scroll-padding-top:80px}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--bs-font-sans-serif);line-height:1.4;font-weight:600}::selection{background:rgba(0,102,255,.9);color:#fff}a{text-decoration:none!important;transition:all .5s ease}p{line-height:1.6}.four-oh-four{min-height:calc(100vh - 180px)}@media(max-width:767px){.four-oh-four{min-height:calc(100vh - 241px)}}#topnav{position:fixed;right:0;left:0;top:0;background-color:transparent;z-index:999;border:0;-webkit-transition:all .5s ease;transition:all .5s ease}#topnav .logo{float:left;color:#3c4858!important}#topnav .logo .l-dark,#topnav .logo .logo-dark-mode{display:none}#topnav .logo .l-light,#topnav .logo .logo-light-mode{display:inline-block}#topnav .logo:focus{outline:none}#topnav #navigation.toggle-menu{position:relative;display:block;top:0;border:none}#topnav #navigation.toggle-menu .toggle-menu-item{display:block}#topnav #navigation.toggle-menu .toggle-menu-item>li{float:none;margin:0 16px!important;text-align:center}#topnav #navigation.toggle-menu .toggle-menu-item>li>a{padding:16px 0;min-height:auto;font-size:18px}#topnav .navbar-toggle{border:0;position:relative;padding:0;margin:0;cursor:pointer}#topnav .navbar-toggle .lines{width:20px;display:block;position:relative;margin:4px 0 0;height:18px}#topnav .navbar-toggle span{height:2px;width:100%;background-color:#06f;display:block;margin-bottom:5px;transition:transform .5s ease}#topnav .navbar-toggle span:last-child{margin-bottom:0}#topnav .navbar-toggle.open span{position:absolute}#topnav .navbar-toggle.open span:first-child{top:6px;transform:rotate(45deg)}#topnav .navbar-toggle.open span:nth-child(2){visibility:hidden}#topnav .navbar-toggle.open span:last-child{width:100%;top:6px;transform:rotate(-45deg)}#topnav .navbar-toggle.open span:hover{background-color:#06f}#topnav .navbar-toggle:hover,#topnav .navbar-toggle:focus,#topnav .navbar-toggle .navigation-menu>li>a:hover,#topnav .navbar-toggle:focus{background-color:transparent}#topnav .navigation-menu{list-style:none;margin:0;padding:0}#topnav .navigation-menu>li{float:left;display:block;position:relative;margin:0 10px}#topnav .navigation-menu>li:hover>a,#topnav .navigation-menu>li.active>a{color:#06f!important}#topnav .navigation-menu>li>a{display:flex;color:#3c4858;font-size:15px;background-color:transparent!important;font-weight:700;letter-spacing:1px;line-height:24px;font-family:var(--bs-font-sans-serif);padding-left:15px;padding-right:15px;align-items:center}#topnav .navigation-menu>li>a:hover,#topnav .navigation-menu>li>a:active{color:#06f}#topnav.scroll{background-color:#fff;border:none;box-shadow:0 0 3px rgba(60,72,88,.15)}#topnav.scroll .navigation-menu>li>a{color:#3c4858}#topnav.scroll .navigation-menu>li>.menu-arrow{border-color:#3c4858}#topnav.scroll .navigation-menu>li:hover>a,#topnav.scroll .navigation-menu>li.active>a{color:#06f}#topnav.scroll .navigation-menu>li:hover>.menu-arrow,#topnav.scroll .navigation-menu>li.active>.menu-arrow{border-color:#06f}#topnav.nav-sticky{background:#fff;-webkit-box-shadow:0 0 3px rgba(60,72,88,.15);box-shadow:0 0 3px rgba(60,72,88,.15)}#topnav.nav-sticky .navigation-menu.nav-light>li>a{color:#3c4858}#topnav.nav-sticky .navigation-menu.nav-light>li.active>a{color:#06f!important}#topnav.nav-sticky .navigation-menu.nav-light>li:hover>.menu-arrow,#topnav.nav-sticky .navigation-menu.nav-light>li.active>.menu-arrow{border-color:#06f!important}#topnav.nav-sticky .navigation-menu.nav-light>li:hover>a,#topnav.nav-sticky .navigation-menu.nav-light>li.active>a{color:#06f!important}#topnav.nav-sticky.tagline-height{top:0!important}#topnav.nav-sticky .logo .l-dark{display:inline-block}#topnav.nav-sticky .logo .l-light{display:none}.logo{font-weight:700;font-size:24px;margin-right:15px;letter-spacing:1px;line-height:0}.logo svg{height:26px}@media(min-width:992px){#topnav .navigation-menu{display:flex;flex-wrap:wrap;justify-content:center}#topnav .navigation-menu>li>a{min-height:70px}#topnav .navigation-menu>li:hover>.menu-arrow{border-color:#06f}#topnav .navigation-menu>li:hover>a,#topnav .navigation-menu>li.active>a{color:#06f!important}#topnav .navigation-menu.nav-light>li>a{color:rgba(255,255,255,.5)}#topnav .navigation-menu.nav-light>li.active>a{color:#fff!important}#topnav .navigation-menu.nav-light>li:hover>.menu-arrow{border-color:#fff!important}#topnav .navigation-menu.nav-light>li:hover>a{color:#fff!important}#topnav .navigation-menu.nav-right{justify-content:flex-end!important}#topnav .navigation-menu.nav-left{justify-content:flex-start!important}#topnav .navigation-menu.nav-left>li.last-elements .submenu{left:0!important;right:auto!important}#topnav .navigation-menu.nav-left>li.last-elements .submenu:before{left:45px!important;right:auto!important}#topnav .navbar-toggle{display:none}#topnav #navigation{display:block!important}#topnav.scroll{top:0}#topnav.scroll .navigation-menu>li>a{padding-top:20px;padding-bottom:20px}#topnav.scroll-active .navigation-menu>li>a{padding-top:25px;padding-bottom:25px}}@media(max-width:991px){#topnav{background-color:#fff;min-height:74px}#topnav .logo .l-dark{display:inline-block!important}#topnav .logo .l-light{display:none!important}#topnav .container{width:auto;height:71px}#topnav #navigation{max-height:400px}#topnav .navigation-menu{float:none}#topnav .navigation-menu>li{float:none}#topnav .navigation-menu>li>a{color:#3c4858;padding:10px 20px}#topnav .navigation-menu>li>a:after{position:absolute;right:15px}#topnav .navigation-menu>li>a:hover,#topnav .menu-extras .menu-item{border-color:#6b7686}#topnav .navbar-header{float:left}#navigation{position:absolute;top:64px;left:0;width:100%;display:none;height:auto;padding-bottom:0;overflow:auto;border-top:1px solid #f2f4f6;border-bottom:1px solid #f2f4f6;background-color:#fff}#navigation.open{display:block;overflow-y:auto}}@media(min-width:768px){.navbar-toggle{display:block}}.navbar-white-bg{background-color:#fff!important}.social-link>li{line-height:initial}.footer{background:#202942;position:relative;color:#adb5bd}.footer .footer-py-60{padding:60px 0}.footer .footer-py-30{padding:30px 0}.footer .logo-footer{font-size:22px}.footer .logo-footer:focus{outline:none}.footer .logo-footer svg{height:30px}.footer .footer-head{letter-spacing:1px;font-weight:500;color:#fff}.footer .text-foot{color:#adb5bd}.footer .footer-list{margin-bottom:0}.footer .footer-list li{margin-bottom:10px}.footer .footer-list li a{transition:all .5s ease}.footer .footer-list li a:hover{color:#e6e8ea}.footer .footer-list li:last-child{margin-bottom:0}.footer .footer-border,.footer .footer-bar{border-top:1px solid #283453}.footer .border{border-color:#283453!important}.footer.footer-light{background:#f8f9fa;color:#495057}.footer.footer-light .footer-head{color:#3c4858}.footer.footer-light .foot-subscribe .form-control{background-color:#f8f9fa;border:1px solid #e9ecef;color:#f8f9fa}.footer.footer-light .foot-subscribe.foot-white .form-control{color:#adb5bd}.footer.footer-light .foot-subscribe input::placeholder{color:#adb5bd}.footer.footer-light .border{border-color:#e9ecef!important}.footer.footer-light .text-foot{color:#6b7686}.footer.footer-light .footer-list li a:hover{color:#495057}.btn-soft-primary{background-color:rgba(0,102,255,5%)!important;border:1px solid rgba(0,102,255,5%)!important;color:#06f!important;box-shadow:0 2px 1px rgba(0,102,255,.1)}.btn-soft-primary:hover,.btn-soft-primary:focus,.btn-soft-primary:active,.btn-soft-primary.active,.btn-soft-primary.focus{background-color:#06f!important;border-color:#06f!important;color:#fff!important}.btn-soft-secondary{background-color:rgba(108,117,125,5%)!important;border:1px solid rgba(108,117,125,5%)!important;color:#6c757d!important;box-shadow:0 2px 1px rgba(108,117,125,.1)}.btn-soft-secondary:hover,.btn-soft-secondary:focus,.btn-soft-secondary:active,.btn-soft-secondary.active,.btn-soft-secondary.focus{background-color:#6c757d!important;border-color:#6c757d!important;color:#fff!important}.btn-soft-success{background-color:rgba(46,202,139,5%)!important;border:1px solid rgba(46,202,139,5%)!important;color:#2eca8b!important;box-shadow:0 2px 1px rgba(46,202,139,.1)}.btn-soft-success:hover,.btn-soft-success:focus,.btn-soft-success:active,.btn-soft-success.active,.btn-soft-success.focus{background-color:#2eca8b!important;border-color:#2eca8b!important;color:#fff!important}.btn-soft-info{background-color:rgba(23,162,184,5%)!important;border:1px solid rgba(23,162,184,5%)!important;color:#17a2b8!important;box-shadow:0 2px 1px rgba(23,162,184,.1)}.btn-soft-info:hover,.btn-soft-info:focus,.btn-soft-info:active,.btn-soft-info.active,.btn-soft-info.focus{background-color:#17a2b8!important;border-color:#17a2b8!important;color:#fff!important}.btn-soft-warning{background-color:rgba(241,116,37,5%)!important;border:1px solid rgba(241,116,37,5%)!important;color:#f17425!important;box-shadow:0 2px 1px rgba(241,116,37,.1)}.btn-soft-warning:hover,.btn-soft-warning:focus,.btn-soft-warning:active,.btn-soft-warning.active,.btn-soft-warning.focus{background-color:#f17425!important;border-color:#f17425!important;color:#fff!important}.btn-soft-danger{background-color:rgba(228,63,82,5%)!important;border:1px solid rgba(228,63,82,5%)!important;color:#e43f52!important;box-shadow:0 2px 1px rgba(228,63,82,.1)}.btn-soft-danger:hover,.btn-soft-danger:focus,.btn-soft-danger:active,.btn-soft-danger.active,.btn-soft-danger.focus{background-color:#e43f52!important;border-color:#e43f52!important;color:#fff!important}.btn-soft-light{background-color:rgba(248,249,250,5%)!important;border:1px solid rgba(248,249,250,5%)!important;color:#f8f9fa!important;box-shadow:0 2px 1px rgba(248,249,250,.1)}.btn-soft-light:hover,.btn-soft-light:focus,.btn-soft-light:active,.btn-soft-light.active,.btn-soft-light.focus{background-color:#f8f9fa!important;border-color:#f8f9fa!important;color:#fff!important}.btn-soft-dark{background-color:rgba(60,72,88,5%)!important;border:1px solid rgba(60,72,88,5%)!important;color:#3c4858!important;box-shadow:0 2px 1px rgba(60,72,88,.1)}.btn-soft-dark:hover,.btn-soft-dark:focus,.btn-soft-dark:active,.btn-soft-dark.active,.btn-soft-dark.focus{background-color:#3c4858!important;border-color:#3c4858!important;color:#fff!important}.btn-soft-footer{background-color:rgba(32,41,66,5%)!important;border:1px solid rgba(32,41,66,5%)!important;color:#202942!important;box-shadow:0 2px 1px rgba(32,41,66,.1)}.btn-soft-footer:hover,.btn-soft-footer:focus,.btn-soft-footer:active,.btn-soft-footer.active,.btn-soft-footer.focus{background-color:#202942!important;border-color:#202942!important;color:#fff!important}.btn-soft-muted{background-color:rgba(107,118,134,5%)!important;border:1px solid rgba(107,118,134,5%)!important;color:#6b7686!important;box-shadow:0 2px 1px rgba(107,118,134,.1)}.btn-soft-muted:hover,.btn-soft-muted:focus,.btn-soft-muted:active,.btn-soft-muted.active,.btn-soft-muted.focus{background-color:#6b7686!important;border-color:#6b7686!important;color:#fff!important}.btn{padding:8px 20px;outline:none;text-decoration:none;font-size:16px;letter-spacing:.5px;transition:all .3s;font-weight:600;border-radius:5px}.btn:focus{box-shadow:none!important}.btn.btn-sm,.btn-group-sm>.btn{padding:7px 16px;font-size:10px}.btn.btn-lg,.btn-group-lg>.btn{padding:14px 30px;font-size:16px}.btn.searchbtn{padding:6px 20px}.btn.btn-pills{border-radius:30px}.btn.btn-light{border:1px solid #f2f4f6}.btn.btn-outline-light{border-color:#e9ecef!important}.btn.btn-soft-light{color:#ced4da!important;border-color:#e9ecef!important}.btn.btn-soft-dark:hover,.btn.btn-soft-dark:focus,.btn.btn-soft-dark:active,.btn.btn-soft-dark.active,.btn.btn-soft-dark.focus{color:#ced4da!important;border-color:#e9ecef!important}.btn.btn-dark,.btn.btn-secondary{color:#e9ecef}.btn.btn-outline-light{color:#212529}.btn.btn-icon{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.btn.btn-icon .icons{height:16px;width:16px;font-size:16px}.btn.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{height:48px;width:48px;line-height:46px}.btn.btn-icon.btn-lg .icons,.btn-group-lg>.btn-icon.btn .icons{height:20px;width:20px;font-size:20px}.btn.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{height:30px;width:30px;line-height:28px}button:not(:disabled){outline:none}.btn-landing{color:#3c4858}.badge{letter-spacing:.5px;padding:4px 8px;font-weight:600;line-height:11px}.badge.badge-link:hover{color:#fff!important}.bg-primary{background-color:rgba(0,102,255,4%)!important}.bg-hard-primary{background-color:#06f!important}.bg-soft-primary{background-color:rgba(0,102,255,.1)!important;border:1px solid rgba(0,102,255,.1)!important;color:#06f!important}.bg-secondary{background-color:rgba(108,117,125,4%)!important}.bg-hard-secondary{background-color:#6c757d!important}.bg-soft-secondary{background-color:rgba(108,117,125,.1)!important;border:1px solid rgba(108,117,125,.1)!important;color:#6c757d!important}.bg-success{background-color:rgba(46,202,139,4%)!important}.bg-hard-success{background-color:#2eca8b!important}.bg-soft-success{background-color:rgba(46,202,139,.1)!important;border:1px solid rgba(46,202,139,.1)!important;color:#2eca8b!important}.bg-info{background-color:rgba(23,162,184,4%)!important}.bg-hard-info{background-color:#17a2b8!important}.bg-soft-info{background-color:rgba(23,162,184,.1)!important;border:1px solid rgba(23,162,184,.1)!important;color:#17a2b8!important}.bg-warning{background-color:rgba(241,116,37,4%)!important}.bg-hard-warning{background-color:#f17425!important}.bg-soft-warning{background-color:rgba(241,116,37,.1)!important;border:1px solid rgba(241,116,37,.1)!important;color:#f17425!important}.bg-danger{background-color:rgba(228,63,82,4%)!important}.bg-hard-danger{background-color:#e43f52!important}.bg-soft-danger{background-color:rgba(228,63,82,.1)!important;border:1px solid rgba(228,63,82,.1)!important;color:#e43f52!important}.bg-light{background-color:rgba(248,249,250,4%)!important}.bg-hard-light{background-color:#f8f9fa!important}.bg-soft-light{background-color:rgba(248,249,250,.1)!important;border:1px solid rgba(248,249,250,.1)!important;color:#f8f9fa!important}.bg-dark{background-color:rgba(60,72,88,4%)!important}.bg-hard-dark{background-color:#3c4858!important}.bg-soft-dark{background-color:rgba(60,72,88,.1)!important;border:1px solid rgba(60,72,88,.1)!important;color:#3c4858!important}.bg-footer{background-color:rgba(32,41,66,4%)!important}.bg-hard-footer{background-color:#202942!important}.bg-soft-footer{background-color:rgba(32,41,66,.1)!important;border:1px solid rgba(32,41,66,.1)!important;color:#202942!important}.bg-muted{background-color:rgba(107,118,134,4%)!important}.bg-hard-muted{background-color:#6b7686!important}.bg-soft-muted{background-color:rgba(107,118,134,.1)!important;border:1px solid rgba(107,118,134,.1)!important;color:#6b7686!important}.bg-white-color{background-color:#fff!important}.features.feature-primary .icon{background:rgba(0,102,255,5%)}.features.feature-primary .no-icon{background:0 0}.features.feature-primary .image:before{background:linear-gradient(45deg,transparent,rgba(0,102,255,.1))}.features.feature-primary .read-more,.features.feature-primary .color{color:#06f!important}.features.feature-primary.feature-clean .icons{color:#06f!important}.features.feature-primary.feature-clean .icons i{background-color:rgba(0,102,255,.1)}.features.feature-primary.feature-clean .title:hover{color:#06f!important}.features.feature-primary.feature-full-bg .icon-color{color:#06f!important}.features.feature-primary.feature-full-bg:hover{background-color:#06f!important}.features.feature-primary.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(0,102,255,.15));color:#06f}.features.feature-primary.course-feature .full-img{color:#06f!important}.features.feature-primary.explore-feature:hover .icons,.features.feature-primary.explore-feature:hover .title{color:#06f!important}.features.feature-primary .btn-soft{background-color:rgba(0,102,255,5%)!important;border:1px solid rgba(0,102,255,5%)!important;color:#06f!important;box-shadow:0 3px 5px rgba(0,102,255,.1)}.features.feature-primary .btn-soft:hover,.features.feature-primary .btn-soft:focus,.features.feature-primary .btn-soft:active,.features.feature-primary .btn-soft.active,.features.feature-primary .btn-soft.focus{background-color:#06f!important;border-color:#06f!important;color:#fff!important}.features.feature-primary:hover .image:before{background:rgba(0,102,255,.1)}.features.feature-secondary .icon{background:rgba(108,117,125,5%)}.features.feature-secondary .no-icon{background:0 0}.features.feature-secondary .image:before{background:linear-gradient(45deg,transparent,rgba(108,117,125,.1))}.features.feature-secondary .read-more,.features.feature-secondary .color{color:#6c757d!important}.features.feature-secondary.feature-clean .icons{color:#6c757d!important}.features.feature-secondary.feature-clean .icons i{background-color:rgba(108,117,125,.1)}.features.feature-secondary.feature-clean .title:hover{color:#6c757d!important}.features.feature-secondary.feature-full-bg .icon-color{color:#6c757d!important}.features.feature-secondary.feature-full-bg:hover{background-color:#6c757d!important}.features.feature-secondary.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(108,117,125,.15));color:#6c757d}.features.feature-secondary.course-feature .full-img{color:#6c757d!important}.features.feature-secondary.explore-feature:hover .icons,.features.feature-secondary.explore-feature:hover .title{color:#6c757d!important}.features.feature-secondary .btn-soft{background-color:rgba(108,117,125,5%)!important;border:1px solid rgba(108,117,125,5%)!important;color:#6c757d!important;box-shadow:0 3px 5px rgba(108,117,125,.1)}.features.feature-secondary .btn-soft:hover,.features.feature-secondary .btn-soft:focus,.features.feature-secondary .btn-soft:active,.features.feature-secondary .btn-soft.active,.features.feature-secondary .btn-soft.focus{background-color:#6c757d!important;border-color:#6c757d!important;color:#fff!important}.features.feature-secondary:hover .image:before{background:rgba(108,117,125,.1)}.features.feature-success .icon{background:rgba(46,202,139,5%)}.features.feature-success .no-icon{background:0 0}.features.feature-success .image:before{background:linear-gradient(45deg,transparent,rgba(46,202,139,.1))}.features.feature-success .read-more,.features.feature-success .color{color:#2eca8b!important}.features.feature-success.feature-clean .icons{color:#2eca8b!important}.features.feature-success.feature-clean .icons i{background-color:rgba(46,202,139,.1)}.features.feature-success.feature-clean .title:hover{color:#2eca8b!important}.features.feature-success.feature-full-bg .icon-color{color:#2eca8b!important}.features.feature-success.feature-full-bg:hover{background-color:#2eca8b!important}.features.feature-success.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(46,202,139,.15));color:#2eca8b}.features.feature-success.course-feature .full-img{color:#2eca8b!important}.features.feature-success.explore-feature:hover .icons,.features.feature-success.explore-feature:hover .title{color:#2eca8b!important}.features.feature-success .btn-soft{background-color:rgba(46,202,139,5%)!important;border:1px solid rgba(46,202,139,5%)!important;color:#2eca8b!important;box-shadow:0 3px 5px rgba(46,202,139,.1)}.features.feature-success .btn-soft:hover,.features.feature-success .btn-soft:focus,.features.feature-success .btn-soft:active,.features.feature-success .btn-soft.active,.features.feature-success .btn-soft.focus{background-color:#2eca8b!important;border-color:#2eca8b!important;color:#fff!important}.features.feature-success:hover .image:before{background:rgba(46,202,139,.1)}.features.feature-info .icon{background:rgba(23,162,184,5%)}.features.feature-info .no-icon{background:0 0}.features.feature-info .image:before{background:linear-gradient(45deg,transparent,rgba(23,162,184,.1))}.features.feature-info .read-more,.features.feature-info .color{color:#17a2b8!important}.features.feature-info.feature-clean .icons{color:#17a2b8!important}.features.feature-info.feature-clean .icons i{background-color:rgba(23,162,184,.1)}.features.feature-info.feature-clean .title:hover{color:#17a2b8!important}.features.feature-info.feature-full-bg .icon-color{color:#17a2b8!important}.features.feature-info.feature-full-bg:hover{background-color:#17a2b8!important}.features.feature-info.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(23,162,184,.15));color:#17a2b8}.features.feature-info.course-feature .full-img{color:#17a2b8!important}.features.feature-info.explore-feature:hover .icons,.features.feature-info.explore-feature:hover .title{color:#17a2b8!important}.features.feature-info .btn-soft{background-color:rgba(23,162,184,5%)!important;border:1px solid rgba(23,162,184,5%)!important;color:#17a2b8!important;box-shadow:0 3px 5px rgba(23,162,184,.1)}.features.feature-info .btn-soft:hover,.features.feature-info .btn-soft:focus,.features.feature-info .btn-soft:active,.features.feature-info .btn-soft.active,.features.feature-info .btn-soft.focus{background-color:#17a2b8!important;border-color:#17a2b8!important;color:#fff!important}.features.feature-info:hover .image:before{background:rgba(23,162,184,.1)}.features.feature-warning .icon{background:rgba(241,116,37,5%)}.features.feature-warning .no-icon{background:0 0}.features.feature-warning .image:before{background:linear-gradient(45deg,transparent,rgba(241,116,37,.1))}.features.feature-warning .read-more,.features.feature-warning .color{color:#f17425!important}.features.feature-warning.feature-clean .icons{color:#f17425!important}.features.feature-warning.feature-clean .icons i{background-color:rgba(241,116,37,.1)}.features.feature-warning.feature-clean .title:hover{color:#f17425!important}.features.feature-warning.feature-full-bg .icon-color{color:#f17425!important}.features.feature-warning.feature-full-bg:hover{background-color:#f17425!important}.features.feature-warning.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(241,116,37,.15));color:#f17425}.features.feature-warning.course-feature .full-img{color:#f17425!important}.features.feature-warning.explore-feature:hover .icons,.features.feature-warning.explore-feature:hover .title{color:#f17425!important}.features.feature-warning .btn-soft{background-color:rgba(241,116,37,5%)!important;border:1px solid rgba(241,116,37,5%)!important;color:#f17425!important;box-shadow:0 3px 5px rgba(241,116,37,.1)}.features.feature-warning .btn-soft:hover,.features.feature-warning .btn-soft:focus,.features.feature-warning .btn-soft:active,.features.feature-warning .btn-soft.active,.features.feature-warning .btn-soft.focus{background-color:#f17425!important;border-color:#f17425!important;color:#fff!important}.features.feature-warning:hover .image:before{background:rgba(241,116,37,.1)}.features.feature-danger .icon{background:rgba(228,63,82,5%)}.features.feature-danger .no-icon{background:0 0}.features.feature-danger .image:before{background:linear-gradient(45deg,transparent,rgba(228,63,82,.1))}.features.feature-danger .read-more,.features.feature-danger .color{color:#e43f52!important}.features.feature-danger.feature-clean .icons{color:#e43f52!important}.features.feature-danger.feature-clean .icons i{background-color:rgba(228,63,82,.1)}.features.feature-danger.feature-clean .title:hover{color:#e43f52!important}.features.feature-danger.feature-full-bg .icon-color{color:#e43f52!important}.features.feature-danger.feature-full-bg:hover{background-color:#e43f52!important}.features.feature-danger.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(228,63,82,.15));color:#e43f52}.features.feature-danger.course-feature .full-img{color:#e43f52!important}.features.feature-danger.explore-feature:hover .icons,.features.feature-danger.explore-feature:hover .title{color:#e43f52!important}.features.feature-danger .btn-soft{background-color:rgba(228,63,82,5%)!important;border:1px solid rgba(228,63,82,5%)!important;color:#e43f52!important;box-shadow:0 3px 5px rgba(228,63,82,.1)}.features.feature-danger .btn-soft:hover,.features.feature-danger .btn-soft:focus,.features.feature-danger .btn-soft:active,.features.feature-danger .btn-soft.active,.features.feature-danger .btn-soft.focus{background-color:#e43f52!important;border-color:#e43f52!important;color:#fff!important}.features.feature-danger:hover .image:before{background:rgba(228,63,82,.1)}.features.feature-light .icon{background:rgba(248,249,250,5%)}.features.feature-light .no-icon{background:0 0}.features.feature-light .image:before{background:linear-gradient(45deg,transparent,rgba(248,249,250,.1))}.features.feature-light .read-more,.features.feature-light .color{color:#f8f9fa!important}.features.feature-light.feature-clean .icons{color:#f8f9fa!important}.features.feature-light.feature-clean .icons i{background-color:rgba(248,249,250,.1)}.features.feature-light.feature-clean .title:hover{color:#f8f9fa!important}.features.feature-light.feature-full-bg .icon-color{color:#f8f9fa!important}.features.feature-light.feature-full-bg:hover{background-color:#f8f9fa!important}.features.feature-light.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(248,249,250,.15));color:#f8f9fa}.features.feature-light.course-feature .full-img{color:#f8f9fa!important}.features.feature-light.explore-feature:hover .icons,.features.feature-light.explore-feature:hover .title{color:#f8f9fa!important}.features.feature-light .btn-soft{background-color:rgba(248,249,250,5%)!important;border:1px solid rgba(248,249,250,5%)!important;color:#f8f9fa!important;box-shadow:0 3px 5px rgba(248,249,250,.1)}.features.feature-light .btn-soft:hover,.features.feature-light .btn-soft:focus,.features.feature-light .btn-soft:active,.features.feature-light .btn-soft.active,.features.feature-light .btn-soft.focus{background-color:#f8f9fa!important;border-color:#f8f9fa!important;color:#fff!important}.features.feature-light:hover .image:before{background:rgba(248,249,250,.1)}.features.feature-dark .icon{background:rgba(60,72,88,5%)}.features.feature-dark .no-icon{background:0 0}.features.feature-dark .image:before{background:linear-gradient(45deg,transparent,rgba(60,72,88,.1))}.features.feature-dark .read-more,.features.feature-dark .color{color:#3c4858!important}.features.feature-dark.feature-clean .icons{color:#3c4858!important}.features.feature-dark.feature-clean .icons i{background-color:rgba(60,72,88,.1)}.features.feature-dark.feature-clean .title:hover{color:#3c4858!important}.features.feature-dark.feature-full-bg .icon-color{color:#3c4858!important}.features.feature-dark.feature-full-bg:hover{background-color:#3c4858!important}.features.feature-dark.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(60,72,88,.15));color:#3c4858}.features.feature-dark.course-feature .full-img{color:#3c4858!important}.features.feature-dark.explore-feature:hover .icons,.features.feature-dark.explore-feature:hover .title{color:#3c4858!important}.features.feature-dark .btn-soft{background-color:rgba(60,72,88,5%)!important;border:1px solid rgba(60,72,88,5%)!important;color:#3c4858!important;box-shadow:0 3px 5px rgba(60,72,88,.1)}.features.feature-dark .btn-soft:hover,.features.feature-dark .btn-soft:focus,.features.feature-dark .btn-soft:active,.features.feature-dark .btn-soft.active,.features.feature-dark .btn-soft.focus{background-color:#3c4858!important;border-color:#3c4858!important;color:#fff!important}.features.feature-dark:hover .image:before{background:rgba(60,72,88,.1)}.features.feature-footer .icon{background:rgba(32,41,66,5%)}.features.feature-footer .no-icon{background:0 0}.features.feature-footer .image:before{background:linear-gradient(45deg,transparent,rgba(32,41,66,.1))}.features.feature-footer .read-more,.features.feature-footer .color{color:#202942!important}.features.feature-footer.feature-clean .icons{color:#202942!important}.features.feature-footer.feature-clean .icons i{background-color:rgba(32,41,66,.1)}.features.feature-footer.feature-clean .title:hover{color:#202942!important}.features.feature-footer.feature-full-bg .icon-color{color:#202942!important}.features.feature-footer.feature-full-bg:hover{background-color:#202942!important}.features.feature-footer.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(32,41,66,.15));color:#202942}.features.feature-footer.course-feature .full-img{color:#202942!important}.features.feature-footer.explore-feature:hover .icons,.features.feature-footer.explore-feature:hover .title{color:#202942!important}.features.feature-footer .btn-soft{background-color:rgba(32,41,66,5%)!important;border:1px solid rgba(32,41,66,5%)!important;color:#202942!important;box-shadow:0 3px 5px rgba(32,41,66,.1)}.features.feature-footer .btn-soft:hover,.features.feature-footer .btn-soft:focus,.features.feature-footer .btn-soft:active,.features.feature-footer .btn-soft.active,.features.feature-footer .btn-soft.focus{background-color:#202942!important;border-color:#202942!important;color:#fff!important}.features.feature-footer:hover .image:before{background:rgba(32,41,66,.1)}.features.feature-muted .icon{background:rgba(107,118,134,5%)}.features.feature-muted .no-icon{background:0 0}.features.feature-muted .image:before{background:linear-gradient(45deg,transparent,rgba(107,118,134,.1))}.features.feature-muted .read-more,.features.feature-muted .color{color:#6b7686!important}.features.feature-muted.feature-clean .icons{color:#6b7686!important}.features.feature-muted.feature-clean .icons i{background-color:rgba(107,118,134,.1)}.features.feature-muted.feature-clean .title:hover{color:#6b7686!important}.features.feature-muted.feature-full-bg .icon-color{color:#6b7686!important}.features.feature-muted.feature-full-bg:hover{background-color:#6b7686!important}.features.feature-muted.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(107,118,134,.15));color:#6b7686}.features.feature-muted.course-feature .full-img{color:#6b7686!important}.features.feature-muted.explore-feature:hover .icons,.features.feature-muted.explore-feature:hover .title{color:#6b7686!important}.features.feature-muted .btn-soft{background-color:rgba(107,118,134,5%)!important;border:1px solid rgba(107,118,134,5%)!important;color:#6b7686!important;box-shadow:0 3px 5px rgba(107,118,134,.1)}.features.feature-muted .btn-soft:hover,.features.feature-muted .btn-soft:focus,.features.feature-muted .btn-soft:active,.features.feature-muted .btn-soft.active,.features.feature-muted .btn-soft.focus{background-color:#6b7686!important;border-color:#6b7686!important;color:#fff!important}.features.feature-muted:hover .image:before{background:rgba(107,118,134,.1)}.features .image:before{content:"";position:absolute;bottom:5px;left:5px;width:64px;height:64px;border-radius:6px;transform:rotate(33.75deg)}.features.feature-clean{background-color:#fff}.features.feature-clean .icons i{height:65px;width:65px;line-height:65px}.features .ride-image{transform:rotate(-45deg)}.features .ride-image img{border-radius:100% 100% 100% 0}.features.key-feature{transition:all .3s ease}.features.key-feature:hover{transform:scale(1.05);box-shadow:0 5px 13px rgba(60,72,88,.2)!important}.features:hover .image:before{animation:spinner-border 5s linear infinite!important}.features.feature-full-bg{transition:all .5s ease}.features.feature-full-bg .big-icon{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;opacity:.015;font-size:180px}.features.feature-full-bg:hover{box-shadow:0 10px 25px rgba(60,72,88,.15);color:#fff!important}.features.feature-full-bg:hover .icon-color i,.features.feature-full-bg:hover .para{color:rgba(255,255,255,.5)!important}.features.feature-full-bg:hover .content,.features.feature-full-bg:hover .icon-color{z-index:2}.features.feature-full-bg:hover .big-icon{opacity:.05}.features.feature-full-bg:hover .readmore{color:#fff!important}.features .title,.key-feature .title{font-size:22px!important}.features .icon,.features .no-icon,.key-feature .icon,.key-feature .no-icon{height:45px;min-width:45px;display:flex;align-items:center;justify-content:center}.fw-medium{font-weight:600}.section{padding:100px 0;position:relative}@media(max-width:768px){.section{padding:60px 0}}.section-two{padding:60px 0;position:relative}.bg-overlay{background-color:rgba(60,72,88,.7);position:absolute;top:0;right:0;left:0;bottom:0;width:100%;height:100%}.bg-overlay-white{background-color:rgba(255,255,255,.5)}.bg-gradient-primary{background:linear-gradient(to left,#59339d 0%,#0257d5 100%)}.bg-linear-gradient{background:linear-gradient(to bottom,transparent 0%,transparent 50%,rgba(0,0,0,.3) 80%,black 100%)}.bg-linear-gradient-2{background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.7) 75%,black 100%)}.bg-linear-gradient-3{background:linear-gradient(to right,black 0%,black 25%,black 50%,rgba(0,0,0,.5) 75%,transparent 100%)}.bg-gradient-overlay{background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 25%,rgba(0,0,0,.75) 50%,black 100%)}.bg-gradient-overlay-2{background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,rgba(0,0,0,.6) 25%,rgba(0,0,0,.7) 50%,rgba(0,0,0,.8) 100%)}.bg-primary-gradient-overlay{background:linear-gradient(to bottom,rgba(13,110,253,0) 0%,rgba(13,110,253,.25) 25%,rgba(13,110,253,.5) 50%,rgba(13,110,253,.75) 75%,#0d6efd 100%)}.bg-gradient-white-overlay{background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 50%,rgba(255,255,255,.5) 100%)}.title-heading{line-height:26px}.title-heading .heading{font-size:65px!important;letter-spacing:1px}@media(max-width:768px){.title-heading .heading{font-size:35px!important}}.title-heading .para-desc{font-size:18px}.section-title .title{letter-spacing:.5px;font-size:30px!important}@media(max-width:768px){.section-title .title{font-size:24px!important}}.text-shadow-title{text-shadow:2px 0 0 #fff,-2px 0 0 #fff,0 4px 0 rgba(255,255,255,.4),0 -2px 0 #fff,1px 1px #fff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff}.para-desc{max-width:600px}.mt-100{margin-top:100px}.feature-posts-placeholder{position:absolute;bottom:0;left:0;right:0;height:66.6%}@media(max-width:425px){.feature-posts-placeholder{height:80%}}@media(min-width:768px){.margin-top-100{margin-top:100px}}@media(max-width:768px){.mt-60{margin-top:60px}}@keyframes animate{0%{transform:translateY(0)rotate(0);opacity:1;border-radius:10px}100%{transform:translateY(-1e3px)rotate(720deg);opacity:0}}.rounded{border-radius:4px!important}.rounded-top{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-top-1{border-top-left-radius:.2rem!important;border-top-right-radius:.2rem!important}.rounded-top-2{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-top-3{border-top-left-radius:.3rem!important;border-top-right-radius:.3rem!important}.rounded-top-4{border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.rounded-top-5{border-top-left-radius:2rem!important;border-top-right-radius:2rem!important}.rounded-left{border-top-left-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-left-1{border-top-left-radius:.2rem!important;border-bottom-left-radius:.2rem!important}.rounded-left-2{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left-3{border-top-left-radius:.3rem!important;border-bottom-left-radius:.3rem!important}.rounded-left-4{border-top-left-radius:1rem!important;border-bottom-left-radius:1rem!important}.rounded-left-5{border-top-left-radius:2rem!important;border-bottom-left-radius:2rem!important}.rounded-bottom{border-bottom-left-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-bottom-1{border-bottom-right-radius:.2rem!important;border-bottom-left-radius:.2rem!important}.rounded-bottom-2{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-bottom-3{border-bottom-right-radius:.3rem!important;border-bottom-left-radius:.3rem!important}.rounded-bottom-4{border-bottom-right-radius:1rem!important;border-bottom-left-radius:1rem!important}.rounded-bottom-5{border-bottom-right-radius:2rem!important;border-bottom-left-radius:2rem!important}.rounded-right{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-right-1{border-bottom-right-radius:.2rem!important;border-top-right-radius:.2rem!important}.rounded-right-2{border-bottom-right-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right-3{border-bottom-right-radius:.3rem!important;border-top-right-radius:.3rem!important}.rounded-right-4{border-bottom-right-radius:1rem!important;border-top-right-radius:1rem!important}.rounded-right-5{border-bottom-right-radius:2rem!important;border-top-right-radius:2rem!important}.rounded-md{border-radius:10px!important}.rounded-lg{border-radius:30px!important}.border-primary{border-color:#06f!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#2eca8b!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#f17425!important}.border-danger{border-color:#e43f52!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#3c4858!important}.border-footer{border-color:#202942!important}.border-muted{border-color:#6b7686!important}.opacity-05{opacity:.05}.opacity-075{opacity:.075}.opacity-1{opacity:.1}.opacity-2{opacity:.2}.opacity-3{opacity:.3}.opacity-4{opacity:.4}.opacity-5{opacity:.5}.opacity-6{opacity:.6}.opacity-7{opacity:.7}.opacity-8{opacity:.8}.opacity-9{opacity:.9}.z-index-1{z-index:1}.z-index-0{z-index:0}.z-index-m-1{z-index:-1}.small,small{font-size:90%}.social-icon li a{color:#3c4858;border:1px solid #3c4858;height:32px;width:32px;display:inline-flex;justify-content:center;align-items:center;text-align:center;transition:all .4s ease;overflow:hidden;position:relative}.social-icon li a .fea-social{stroke-width:2}.social-icon li a:hover{background-color:#06f;border-color:#06f!important;color:#fff!important}.social-icon li a:hover .fea-social{fill:#06f}.social-icon.social li a{color:#adb5bd;border-color:#adb5bd}.social-icon.foot-social-icon li a{color:#adb5bd;border-color:#283453}.back-to-top{position:fixed;z-index:99;bottom:30px;right:30px;display:none;transition:all .5s ease;height:36px;width:36px;line-height:33px;border-radius:6px;border:none;text-align:center;text-align:-moz-center;text-align:-webkit-center;padding-top:7px;background:#06f;color:#fff!important}.back-to-top .icons{transition:all .5s ease}.back-to-top:hover{transform:rotate(45deg)}.back-to-top:hover .icons{transform:rotate(-45deg)!important}.position-middle-bottom{position:absolute;bottom:15px;left:12px;right:12px;text-align:center}.text-color-white{color:#fff!important}.d-flex .flex-1{flex:1}.material-icons{font-family:material symbols outlined;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}span.size-16,i.size-16{font-size:16px!important;font-variation-settings:'OPSZ' 16}span.size-20,i.size-20{font-size:20px!important;font-variation-settings:'OPSZ' 20}span.size-24,i.size-24{font-size:24px!important;font-variation-settings:'OPSZ' 24}span.size-40,i.size-40{font-size:40px!important;font-variation-settings:'OPSZ' 40}span.size-48,i.size-48{font-size:48px!important;font-variation-settings:'OPSZ' 48}span.icon-bg{background:#06f;color:#fff!important;font-variation-settings:'GRAD' -25;margin-left:-8px!important;padding:3px;border-radius:3px}span.menu-icon{margin:0 5px 3px -2px}@media(max-width:767px){.classic-hero-image img{max-width:100%;height:auto}}.hero{background-size:cover;padding-top:70px} \ No newline at end of file +* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)*/:root,[data-bs-theme=light]{--bs-blue:#0066ff;--bs-indigo:#6610f2;--bs-purple:#7952B3;--bs-pink:#d63384;--bs-red:#e43f52;--bs-orange:#fd7e14;--bs-yellow:#f17425;--bs-green:#2eca8b;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-white:#ffffff;--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:#0066ff;--bs-secondary:#6c757d;--bs-success:#2eca8b;--bs-info:#17a2b8;--bs-warning:#f17425;--bs-danger:#e43f52;--bs-light:#f8f9fa;--bs-dark:#3c4858;--bs-footer:#202942;--bs-muted:#6b7686;--bs-primary-rgb:0, 102, 255;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:46, 202, 139;--bs-info-rgb:23, 162, 184;--bs-warning-rgb:241, 116, 37;--bs-danger-rgb:228, 63, 82;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:60, 72, 88;--bs-footer-rgb:32, 41, 66;--bs-muted-rgb:107, 118, 134;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--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:Inter;--bs-font-monospace:Fira Code;--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:#3C4257;--bs-body-color-rgb:60, 66, 87;--bs-body-bg:#ffffff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0066ff;--bs-link-color-rgb:0, 102, 255;--bs-link-decoration:underline;--bs-link-hover-color:#0052cc;--bs-link-hover-color-rgb:0, 82, 204;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fcf8e3;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#e9ecef;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.25rem;--bs-border-radius-sm:0.2rem;--bs-border-radius-lg:0.3rem;--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(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,*::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:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width)solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.3875rem + 1.65vw)}@media(min-width:1200px){h1,.h1{font-size:2.625rem}}h2,.h2{font-size:calc(1.35rem + 1.2vw)}@media(min-width:1200px){h2,.h2{font-size:2.25rem}}h3,.h3{font-size:calc(1.3125rem + .75vw)}@media(min-width:1200px){h3,.h3{font-size:1.875rem}}h4,.h4{font-size:calc(1.275rem + .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:.875em}mark,.mark{padding:.2em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.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:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}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:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.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:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@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}::-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:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.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}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.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:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x:1.5rem;--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:1140px}}@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:1.5rem;--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}.row-cols-auto>*{flex:none;width:auto}.row-cols-1>*{flex:none;width:100%}.row-cols-2>*{flex:none;width:50%}.row-cols-3>*{flex:none;width:33.33333333%}.row-cols-4>*{flex:none;width:25%}.row-cols-5>*{flex:none;width:20%}.row-cols-6>*{flex:none;width:16.66666667%}.col-auto{flex:none;width:auto}.col-1{flex:none;width:8.33333333%}.col-2{flex:none;width:16.66666667%}.col-3{flex:none;width:25%}.col-4{flex:none;width:33.33333333%}.col-5{flex:none;width:41.66666667%}.col-6{flex:none;width:50%}.col-7{flex:none;width:58.33333333%}.col-8{flex:none;width:66.66666667%}.col-9{flex:none;width:75%}.col-10{flex:none;width:83.33333333%}.col-11{flex:none;width:91.66666667%}.col-12{flex:none;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--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}.row-cols-sm-auto>*{flex:none;width:auto}.row-cols-sm-1>*{flex:none;width:100%}.row-cols-sm-2>*{flex:none;width:50%}.row-cols-sm-3>*{flex:none;width:33.33333333%}.row-cols-sm-4>*{flex:none;width:25%}.row-cols-sm-5>*{flex:none;width:20%}.row-cols-sm-6>*{flex:none;width:16.66666667%}.col-sm-auto{flex:none;width:auto}.col-sm-1{flex:none;width:8.33333333%}.col-sm-2{flex:none;width:16.66666667%}.col-sm-3{flex:none;width:25%}.col-sm-4{flex:none;width:33.33333333%}.col-sm-5{flex:none;width:41.66666667%}.col-sm-6{flex:none;width:50%}.col-sm-7{flex:none;width:58.33333333%}.col-sm-8{flex:none;width:66.66666667%}.col-sm-9{flex:none;width:75%}.col-sm-10{flex:none;width:83.33333333%}.col-sm-11{flex:none;width:91.66666667%}.col-sm-12{flex:none;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--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}.row-cols-md-auto>*{flex:none;width:auto}.row-cols-md-1>*{flex:none;width:100%}.row-cols-md-2>*{flex:none;width:50%}.row-cols-md-3>*{flex:none;width:33.33333333%}.row-cols-md-4>*{flex:none;width:25%}.row-cols-md-5>*{flex:none;width:20%}.row-cols-md-6>*{flex:none;width:16.66666667%}.col-md-auto{flex:none;width:auto}.col-md-1{flex:none;width:8.33333333%}.col-md-2{flex:none;width:16.66666667%}.col-md-3{flex:none;width:25%}.col-md-4{flex:none;width:33.33333333%}.col-md-5{flex:none;width:41.66666667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.33333333%}.col-md-8{flex:none;width:66.66666667%}.col-md-9{flex:none;width:75%}.col-md-10{flex:none;width:83.33333333%}.col-md-11{flex:none;width:91.66666667%}.col-md-12{flex:none;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--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}.row-cols-lg-auto>*{flex:none;width:auto}.row-cols-lg-1>*{flex:none;width:100%}.row-cols-lg-2>*{flex:none;width:50%}.row-cols-lg-3>*{flex:none;width:33.33333333%}.row-cols-lg-4>*{flex:none;width:25%}.row-cols-lg-5>*{flex:none;width:20%}.row-cols-lg-6>*{flex:none;width:16.66666667%}.col-lg-auto{flex:none;width:auto}.col-lg-1{flex:none;width:8.33333333%}.col-lg-2{flex:none;width:16.66666667%}.col-lg-3{flex:none;width:25%}.col-lg-4{flex:none;width:33.33333333%}.col-lg-5{flex:none;width:41.66666667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.33333333%}.col-lg-8{flex:none;width:66.66666667%}.col-lg-9{flex:none;width:75%}.col-lg-10{flex:none;width:83.33333333%}.col-lg-11{flex:none;width:91.66666667%}.col-lg-12{flex:none;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--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}.row-cols-xl-auto>*{flex:none;width:auto}.row-cols-xl-1>*{flex:none;width:100%}.row-cols-xl-2>*{flex:none;width:50%}.row-cols-xl-3>*{flex:none;width:33.33333333%}.row-cols-xl-4>*{flex:none;width:25%}.row-cols-xl-5>*{flex:none;width:20%}.row-cols-xl-6>*{flex:none;width:16.66666667%}.col-xl-auto{flex:none;width:auto}.col-xl-1{flex:none;width:8.33333333%}.col-xl-2{flex:none;width:16.66666667%}.col-xl-3{flex:none;width:25%}.col-xl-4{flex:none;width:33.33333333%}.col-xl-5{flex:none;width:41.66666667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.33333333%}.col-xl-8{flex:none;width:66.66666667%}.col-xl-9{flex:none;width:75%}.col-xl-10{flex:none;width:83.33333333%}.col-xl-11{flex:none;width:91.66666667%}.col-xl-12{flex:none;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--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}.row-cols-xxl-auto>*{flex:none;width:auto}.row-cols-xxl-1>*{flex:none;width:100%}.row-cols-xxl-2>*{flex:none;width:50%}.row-cols-xxl-3>*{flex:none;width:33.33333333%}.row-cols-xxl-4>*{flex:none;width:25%}.row-cols-xxl-5>*{flex:none;width:20%}.row-cols-xxl-6>*{flex:none;width:16.66666667%}.col-xxl-auto{flex:none;width:auto}.col-xxl-1{flex:none;width:8.33333333%}.col-xxl-2{flex:none;width:16.66666667%}.col-xxl-3{flex:none;width:25%}.col-xxl-4{flex:none;width:33.33333333%}.col-xxl-5{flex:none;width:41.66666667%}.col-xxl-6{flex:none;width:50%}.col-xxl-7{flex:none;width:58.33333333%}.col-xxl-8{flex:none;width:66.66666667%}.col-xxl-9{flex:none;width:75%}.col-xxl-10{flex:none;width:83.33333333%}.col-xxl-11{flex:none;width:91.66666667%}.col-xxl-12{flex:none;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--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}}.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)>*>*{padding:.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{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2)solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.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:#000000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#ffffff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#ffffff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#ffffff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#ffffff;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:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-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);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 .15s ease-in-out,box-shadow .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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.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::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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:initial;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 + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.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}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .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 + .75rem + calc(var(--bs-border-width) * 2));padding:.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 + .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:.375rem 2.25rem .375rem .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 .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 .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.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='%23dee2e6' 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:.125rem}.form-check .form-check-input{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{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.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:50%;background-size:contain;border:var(--bs-border-width)solid var(--bs-border-color);print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-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]{--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{background-color:#0d6efd;border-color:#0d6efd;--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{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--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:0;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input: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='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:100%;--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{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,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input: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:1.5rem;padding:0;appearance:none;background-color:initial}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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,.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;height:100%;padding:1rem .75rem;overflow:hidden;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 .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85)translateY(-.5rem)translateX(.15rem)}.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}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .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,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.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,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23198754' 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.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.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,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem)center;background-size:calc(.75em + .375rem)calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem)right calc(.375em + .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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem)calc(.75em + .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 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--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:#ffffff;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.25rem;--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.25rem 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;text-decoration:none;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 .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-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)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,: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)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{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:#ffffff;--bs-btn-bg:#0066ff;--bs-btn-border-color:#0066ff;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#0057d9;--bs-btn-hover-border-color:#0052cc;--bs-btn-focus-shadow-rgb:38, 125, 255;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#0052cc;--bs-btn-active-border-color:#004dbf;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#0066ff;--bs-btn-disabled-border-color:#0066ff}.btn-secondary{--bs-btn-color:#ffffff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130, 138, 145;--bs-btn-active-color:#ffffff;--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:#ffffff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#ffffff;--bs-btn-bg:#2eca8b;--bs-btn-border-color:#2eca8b;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#27ac76;--bs-btn-hover-border-color:#25a26f;--bs-btn-focus-shadow-rgb:77, 210, 156;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#25a26f;--bs-btn-active-border-color:#239868;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#2eca8b;--bs-btn-disabled-border-color:#2eca8b}.btn-info{--bs-btn-color:#ffffff;--bs-btn-bg:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#148a9c;--bs-btn-hover-border-color:#128293;--bs-btn-focus-shadow-rgb:58, 176, 195;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#128293;--bs-btn-active-border-color:#117a8a;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#17a2b8;--bs-btn-disabled-border-color:#17a2b8}.btn-warning{--bs-btn-color:#ffffff;--bs-btn-bg:#f17425;--bs-btn-border-color:#f17425;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#cd631f;--bs-btn-hover-border-color:#c15d1e;--bs-btn-focus-shadow-rgb:243, 137, 70;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#c15d1e;--bs-btn-active-border-color:#b5571c;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#f17425;--bs-btn-disabled-border-color:#f17425}.btn-danger{--bs-btn-color:#ffffff;--bs-btn-bg:#e43f52;--bs-btn-border-color:#e43f52;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#c23646;--bs-btn-hover-border-color:#b63242;--bs-btn-focus-shadow-rgb:232, 92, 108;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#b63242;--bs-btn-active-border-color:#ab2f3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#e43f52;--bs-btn-disabled-border-color:#e43f52}.btn-light{--bs-btn-color:#000000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211, 212, 213;--bs-btn-active-color:#000000;--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:#000000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#ffffff;--bs-btn-bg:#3c4858;--bs-btn-border-color:#3c4858;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#596371;--bs-btn-hover-border-color:#505a69;--bs-btn-focus-shadow-rgb:89, 99, 113;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#636d79;--bs-btn-active-border-color:#505a69;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#3c4858;--bs-btn-disabled-border-color:#3c4858}.btn-footer{--bs-btn-color:#ffffff;--bs-btn-bg:#202942;--bs-btn-border-color:#202942;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#1b2338;--bs-btn-hover-border-color:#1a2135;--bs-btn-focus-shadow-rgb:65, 73, 94;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#1a2135;--bs-btn-active-border-color:#181f32;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#202942;--bs-btn-disabled-border-color:#202942}.btn-muted{--bs-btn-color:#ffffff;--bs-btn-bg:#6b7686;--bs-btn-border-color:#6b7686;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#5b6472;--bs-btn-hover-border-color:#565e6b;--bs-btn-focus-shadow-rgb:129, 139, 152;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#565e6b;--bs-btn-active-border-color:#505965;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffffff;--bs-btn-disabled-bg:#6b7686;--bs-btn-disabled-border-color:#6b7686}.btn-outline-primary{--bs-btn-color:#0066ff;--bs-btn-border-color:#0066ff;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#0066ff;--bs-btn-hover-border-color:#0066ff;--bs-btn-focus-shadow-rgb:0, 102, 255;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#0066ff;--bs-btn-active-border-color:#0066ff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0066ff;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0066ff;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108, 117, 125;--bs-btn-active-color:#ffffff;--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:#2eca8b;--bs-btn-border-color:#2eca8b;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#2eca8b;--bs-btn-hover-border-color:#2eca8b;--bs-btn-focus-shadow-rgb:46, 202, 139;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#2eca8b;--bs-btn-active-border-color:#2eca8b;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#2eca8b;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#2eca8b;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#17a2b8;--bs-btn-hover-border-color:#17a2b8;--bs-btn-focus-shadow-rgb:23, 162, 184;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#17a2b8;--bs-btn-active-border-color:#17a2b8;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#17a2b8;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#17a2b8;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#f17425;--bs-btn-border-color:#f17425;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#f17425;--bs-btn-hover-border-color:#f17425;--bs-btn-focus-shadow-rgb:241, 116, 37;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#f17425;--bs-btn-active-border-color:#f17425;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f17425;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f17425;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#e43f52;--bs-btn-border-color:#e43f52;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#e43f52;--bs-btn-hover-border-color:#e43f52;--bs-btn-focus-shadow-rgb:228, 63, 82;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#e43f52;--bs-btn-active-border-color:#e43f52;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#e43f52;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#e43f52;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248, 249, 250;--bs-btn-active-color:#000000;--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:#3c4858;--bs-btn-border-color:#3c4858;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#3c4858;--bs-btn-hover-border-color:#3c4858;--bs-btn-focus-shadow-rgb:60, 72, 88;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#3c4858;--bs-btn-active-border-color:#3c4858;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#3c4858;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#3c4858;--bs-gradient:none}.btn-outline-footer{--bs-btn-color:#202942;--bs-btn-border-color:#202942;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#202942;--bs-btn-hover-border-color:#202942;--bs-btn-focus-shadow-rgb:32, 41, 66;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#202942;--bs-btn-active-border-color:#202942;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#202942;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#202942;--bs-gradient:none}.btn-outline-muted{--bs-btn-color:#6b7686;--bs-btn-border-color:#6b7686;--bs-btn-hover-color:#ffffff;--bs-btn-hover-bg:#6b7686;--bs-btn-hover-border-color:#6b7686;--bs-btn-focus-shadow-rgb:107, 118, 134;--bs-btn-active-color:#ffffff;--bs-btn-active-bg:#6b7686;--bs-btn-active-border-color:#6b7686;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6b7686;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6b7686;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:#0066ff;--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:#0052cc;--bs-btn-hover-border-color:transparent;--bs-btn-active-color:#0052cc;--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:49, 132, 253;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{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.3rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.2rem}.fade{transition:opacity .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 .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .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:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.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:#0d6efd;--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:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.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:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.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:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.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;text-decoration:none;white-space:nowrap;background-color:initial;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);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:initial}.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:.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:#0d6efd;--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,.btn-group-vertical>.btn{position:relative;flex:auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.25rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(1px * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(1px * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{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:#0066ff;--bs-nav-link-hover-color:#0052cc;--bs-nav-link-disabled-color:#6c757d;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);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .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)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#dee2e6;--bs-nav-tabs-border-radius:0.25rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--bs-nav-tabs-link-active-bg:#ffffff;--bs-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 #ffffff;border-bottom:var(--bs-nav-tabs-border-width)solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{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 .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{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:0.25rem;--bs-nav-pills-link-active-color:#ffffff;--bs-nav-pills-link-active-bg:#0066ff}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{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{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width)solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:initial}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:initial}.nav-fill>.nav-link,.nav-fill .nav-item{flex:auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--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(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--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%280, 0, 0, 0.55%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(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.25rem;--bs-navbar-toggler-focus-width:0.25rem;--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);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.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 .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.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-basis:100%;flex-grow:1;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:initial;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:50%;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{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:initial!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{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:initial!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{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:initial!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{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:initial!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{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:initial!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{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:initial!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:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#ffffff;--bs-navbar-brand-color:#ffffff;--bs-navbar-brand-hover-color:#ffffff;--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='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--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%28255, 255, 255, 0.55%29' 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:1px;--bs-card-border-color:rgba(0, 0, 0, 0.125);--bs-card-border-radius:0.25rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.25rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#ffffff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;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: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+.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{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;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='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%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='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--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-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{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='%236ea8fe'%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-.708z'/%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='%236ea8fe'%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-.708z'/%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,"/")}.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(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--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);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width)solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .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);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(var(--bs-border-width) * -1)}.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:#ffffff;--bs-badge-border-radius:0.25rem;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{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--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:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.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)}.alert-footer{--bs-alert-color:var(--bs-footer-text-emphasis);--bs-alert-bg:var(--bs-footer-bg-subtle);--bs-alert-border-color:var(--bs-footer-border-subtle);--bs-alert-link-color:var(--bs-footer-text-emphasis)}.alert-muted{--bs-alert-color:var(--bs-muted-text-emphasis);--bs-alert-bg:var(--bs-muted-bg-subtle);--bs-alert-border-color:var(--bs-muted-border-subtle);--bs-alert-link-color:var(--bs-muted-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.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:#0d6efd;--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,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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:#0d6efd;--bs-list-group-active-border-color:#0d6efd;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-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action: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:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.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);text-decoration:none;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-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)}.list-group-item-footer{--bs-list-group-color:var(--bs-footer-text-emphasis);--bs-list-group-bg:var(--bs-footer-bg-subtle);--bs-list-group-border-color:var(--bs-footer-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-footer-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-footer-border-subtle);--bs-list-group-active-color:var(--bs-footer-bg-subtle);--bs-list-group-active-bg:var(--bs-footer-text-emphasis);--bs-list-group-active-border-color:var(--bs-footer-text-emphasis)}.list-group-item-muted{--bs-list-group-color:var(--bs-muted-text-emphasis);--bs-list-group-bg:var(--bs-muted-bg-subtle);--bs-list-group-border-color:var(--bs-muted-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-muted-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-muted-border-subtle);--bs-list-group-active-color:var(--bs-muted-bg-subtle);--bs-list-group-active-bg:var(--bs-muted-text-emphasis);--bs-list-group-active-border-color:var(--bs-muted-text-emphasis)}.btn-close{--bs-btn-close-color:#000000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%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(0, 102, 255, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:var(--bs-btn-close-bg)50%/1em no-repeat;border:0;border-radius:.25rem;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{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--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: ;--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{transition:transform .3s ease-out;transform:translate(0,-50px)}@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:calc(-.5 * var(--bs-modal-header-padding-y))calc(-.5 * var(--bs-modal-header-padding-x))calc(-.5 * var(--bs-modal-header-padding-y))auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex: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)}.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)}.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)}.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)}.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)}.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)}.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)}.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)}.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 .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 .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:0 0;border:0;opacity:.5;transition:opacity .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:.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 0z'/%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-.708z'/%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:initial;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .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:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1)grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1)grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.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)}}.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;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:400px;--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:initial!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:initial!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:initial!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:.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:calc(-.5 * var(--bs-offcanvas-padding-y))calc(-.5 * var(--bs-offcanvas-padding-x))calc(-.5 * var(--bs-offcanvas-padding-y))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:.5}.placeholder.btn::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:.2}}.placeholder-wave{mask-image:linear-gradient(130deg,#000000 55%,rgba(0,0,0,.8) 75%,#000000 95%);mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%}}.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:#fff!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:#fff!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!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}.text-bg-footer{color:#fff!important;background-color:RGBA(var(--bs-footer-rgb),var(--bs-bg-opacity,1))!important}.text-bg-muted{color:#fff!important;background-color:RGBA(var(--bs-muted-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(0,82,204,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(0,82,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(37,162,111,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(37,162,111,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(18,130,147,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(18,130,147,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(193,93,30,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(193,93,30,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(182,50,66,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(182,50,66,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(48,58,70,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(48,58,70,var(--bs-link-underline-opacity,1))!important}.link-footer{color:RGBA(var(--bs-footer-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-footer-rgb),var(--bs-link-underline-opacity,1))!important}.link-footer:hover,.link-footer:focus{color:RGBA(26,33,53,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(26,33,53,var(--bs-link-underline-opacity,1))!important}.link-muted{color:RGBA(var(--bs-muted-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-muted-rgb),var(--bs-link-underline-opacity,1))!important}.link-muted:hover,.link-muted:focus{color:RGBA(86,94,107,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(86,94,107,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,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.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:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.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(.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: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}.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:.25}.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:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.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))}.focus-ring-footer{--bs-focus-ring-color:rgba(var(--bs-footer-rgb), var(--bs-focus-ring-opacity))}.focus-ring-muted{--bs-focus-ring-color:rgba(var(--bs-muted-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-footer{--bs-border-opacity:1;border-color:rgba(var(--bs-footer-rgb),var(--bs-border-opacity))!important}.border-muted{--bs-border-opacity:1;border-color:rgba(var(--bs-muted-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: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:.25rem!important}.m-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-2{margin-top:.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:.25rem!important}.me-2{margin-right:.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:.25rem!important}.mb-2{margin-bottom:.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:.25rem!important}.ms-2{margin-left:.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}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-2{padding-top:.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:.25rem!important}.pe-2{padding-right:.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:.25rem!important}.pb-2{padding-bottom:.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:.25rem!important}.ps-2{padding-left:.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:.25rem!important}.gap-2{gap:.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:.25rem!important}.row-gap-2{row-gap:.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:.25rem!important}.column-gap-2{column-gap:.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.3875rem + 1.65vw)!important}.fs-2{font-size:calc(1.35rem + 1.2vw)!important}.fs-3{font-size:calc(1.3125rem + .75vw)!important}.fs-4{font-size:calc(1.275rem + .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}.text-break{word-wrap:break-word!important;word-break:break-word!important}.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-footer{--bs-text-opacity:1;color:rgba(var(--bs-footer-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!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-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.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:.125em!important}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2{text-underline-offset:.25em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3{text-underline-offset:.375em!important}.link-offset-3-hover:hover{text-underline-offset:.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-footer{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-footer-rgb),var(--bs-link-underline-opacity))!important}.link-underline-muted{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-muted-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-footer{--bs-bg-opacity:1;background-color:rgba(var(--bs-footer-rgb),var(--bs-bg-opacity))!important}.bg-muted{--bs-bg-opacity:1;background-color:rgba(var(--bs-muted-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:initial!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: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:.25rem!important}.m-sm-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-sm-2{margin-top:.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:.25rem!important}.me-sm-2{margin-right:.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:.25rem!important}.mb-sm-2{margin-bottom:.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:.25rem!important}.ms-sm-2{margin-left:.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}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-sm-2{padding-top:.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:.25rem!important}.pe-sm-2{padding-right:.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:.25rem!important}.pb-sm-2{padding-bottom:.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:.25rem!important}.ps-sm-2{padding-left:.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:.25rem!important}.gap-sm-2{gap:.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:.25rem!important}.row-gap-sm-2{row-gap:.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:.25rem!important}.column-gap-sm-2{column-gap:.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: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:.25rem!important}.m-md-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-md-2{margin-top:.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:.25rem!important}.me-md-2{margin-right:.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:.25rem!important}.mb-md-2{margin-bottom:.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:.25rem!important}.ms-md-2{margin-left:.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}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-md-2{padding-top:.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:.25rem!important}.pe-md-2{padding-right:.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:.25rem!important}.pb-md-2{padding-bottom:.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:.25rem!important}.ps-md-2{padding-left:.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:.25rem!important}.gap-md-2{gap:.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:.25rem!important}.row-gap-md-2{row-gap:.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:.25rem!important}.column-gap-md-2{column-gap:.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: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:.25rem!important}.m-lg-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-lg-2{margin-top:.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:.25rem!important}.me-lg-2{margin-right:.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:.25rem!important}.mb-lg-2{margin-bottom:.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:.25rem!important}.ms-lg-2{margin-left:.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}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-lg-2{padding-top:.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:.25rem!important}.pe-lg-2{padding-right:.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:.25rem!important}.pb-lg-2{padding-bottom:.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:.25rem!important}.ps-lg-2{padding-left:.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:.25rem!important}.gap-lg-2{gap:.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:.25rem!important}.row-gap-lg-2{row-gap:.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:.25rem!important}.column-gap-lg-2{column-gap:.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: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:.25rem!important}.m-xl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xl-2{margin-top:.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:.25rem!important}.me-xl-2{margin-right:.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:.25rem!important}.mb-xl-2{margin-bottom:.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:.25rem!important}.ms-xl-2{margin-left:.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}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xl-2{padding-top:.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:.25rem!important}.pe-xl-2{padding-right:.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:.25rem!important}.pb-xl-2{padding-bottom:.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:.25rem!important}.ps-xl-2{padding-left:.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:.25rem!important}.gap-xl-2{gap:.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:.25rem!important}.row-gap-xl-2{row-gap:.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:.25rem!important}.column-gap-xl-2{column-gap:.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: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:.25rem!important}.m-xxl-2{margin:.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:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.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:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.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:.25rem!important}.mt-xxl-2{margin-top:.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:.25rem!important}.me-xxl-2{margin-right:.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:.25rem!important}.mb-xxl-2{margin-bottom:.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:.25rem!important}.ms-xxl-2{margin-left:.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}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.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:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.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:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.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:.25rem!important}.pt-xxl-2{padding-top:.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:.25rem!important}.pe-xxl-2{padding-right:.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:.25rem!important}.pb-xxl-2{padding-bottom:.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:.25rem!important}.ps-xxl-2{padding-left:.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:.25rem!important}.gap-xxl-2{gap:.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:.25rem!important}.row-gap-xxl-2{row-gap:.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:.25rem!important}.column-gap-xxl-2{column-gap:.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.625rem!important}.fs-2{font-size:2.25rem!important}.fs-3{font-size:1.875rem!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}}@font-face{font-family:material symbols outlined;font-weight:400 700;font-display:block;font-style:normal;src:local("Material Icons"),local("MaterialIcons-Outlined"),url(../docs/fonts/material-symbols-outlined.woff2)format("woff2")}body{font-family:Inter;overflow-x:hidden!important;font-size:1rem;color:#3c4257;background-color:#fff}@media(max-width:1199px){html{scroll-padding-top:80px}}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--bs-font-sans-serif);line-height:1.4;font-weight:600}::selection{background:rgba(0,102,255,.9);color:#fff}a{text-decoration:none!important;transition:all .5s ease}p{line-height:1.6}.four-oh-four{min-height:calc(100vh - 180px)}@media(max-width:767px){.four-oh-four{min-height:calc(100vh - 241px)}}#topnav{position:fixed;right:0;left:0;top:0;background-color:initial;z-index:999;border:0;-webkit-transition:all .5s ease;transition:all .5s ease}#topnav .logo{float:left;color:#3c4858!important}#topnav .logo .l-dark,#topnav .logo .logo-dark-mode{display:none}#topnav .logo .l-light,#topnav .logo .logo-light-mode{display:inline-block}#topnav .logo:focus{outline:none}#topnav #navigation.toggle-menu{position:relative;display:block;top:0;border:none}#topnav #navigation.toggle-menu .toggle-menu-item{display:block}#topnav #navigation.toggle-menu .toggle-menu-item>li{float:none;margin:0 16px!important;text-align:center}#topnav #navigation.toggle-menu .toggle-menu-item>li>a{padding:16px 0;min-height:auto;font-size:18px}#topnav .navbar-toggle{border:0;position:relative;padding:0;margin:0;cursor:pointer}#topnav .navbar-toggle .lines{width:20px;display:block;position:relative;margin:4px 0 0;height:18px}#topnav .navbar-toggle span{height:2px;width:100%;background-color:#06f;display:block;margin-bottom:5px;transition:transform .5s ease}#topnav .navbar-toggle span:last-child{margin-bottom:0}#topnav .navbar-toggle.open span{position:absolute}#topnav .navbar-toggle.open span:first-child{top:6px;transform:rotate(45deg)}#topnav .navbar-toggle.open span:nth-child(2){visibility:hidden}#topnav .navbar-toggle.open span:last-child{width:100%;top:6px;transform:rotate(-45deg)}#topnav .navbar-toggle.open span:hover{background-color:#06f}#topnav .navbar-toggle:hover,#topnav .navbar-toggle:focus,#topnav .navbar-toggle .navigation-menu>li>a:hover,#topnav .navbar-toggle:focus{background-color:initial}#topnav .navigation-menu{list-style:none;margin:0;padding:0}#topnav .navigation-menu>li{float:left;display:block;position:relative;margin:0 10px}#topnav .navigation-menu>li:hover>a,#topnav .navigation-menu>li.active>a{color:#06f!important}#topnav .navigation-menu>li>a{display:flex;color:#3c4858;font-size:15px;background-color:initial!important;font-weight:700;letter-spacing:1px;line-height:24px;font-family:var(--bs-font-sans-serif);padding-left:15px;padding-right:15px;align-items:center}#topnav .navigation-menu>li>a:hover,#topnav .navigation-menu>li>a:active{color:#06f}#topnav.scroll{background-color:#fff;border:none;box-shadow:0 0 3px rgba(60,72,88,.15)}#topnav.scroll .navigation-menu>li>a{color:#3c4858}#topnav.scroll .navigation-menu>li>.menu-arrow{border-color:#3c4858}#topnav.scroll .navigation-menu>li:hover>a,#topnav.scroll .navigation-menu>li.active>a{color:#06f}#topnav.scroll .navigation-menu>li:hover>.menu-arrow,#topnav.scroll .navigation-menu>li.active>.menu-arrow{border-color:#06f}#topnav.nav-sticky{background:#fff;-webkit-box-shadow:0 0 3px rgba(60,72,88,.15);box-shadow:0 0 3px rgba(60,72,88,.15)}#topnav.nav-sticky .navigation-menu.nav-light>li>a{color:#3c4858}#topnav.nav-sticky .navigation-menu.nav-light>li.active>a{color:#06f!important}#topnav.nav-sticky .navigation-menu.nav-light>li:hover>.menu-arrow,#topnav.nav-sticky .navigation-menu.nav-light>li.active>.menu-arrow{border-color:#06f!important}#topnav.nav-sticky .navigation-menu.nav-light>li:hover>a,#topnav.nav-sticky .navigation-menu.nav-light>li.active>a{color:#06f!important}#topnav.nav-sticky.tagline-height{top:0!important}#topnav.nav-sticky .logo .l-dark{display:inline-block}#topnav.nav-sticky .logo .l-light{display:none}.logo{font-weight:700;font-size:24px;margin-right:15px;letter-spacing:1px;line-height:0}.logo svg{height:26px}@media(min-width:992px){#topnav .navigation-menu{display:flex;flex-wrap:wrap;justify-content:center}#topnav .navigation-menu>li>a{min-height:70px}#topnav .navigation-menu>li:hover>.menu-arrow{border-color:#06f}#topnav .navigation-menu>li:hover>a,#topnav .navigation-menu>li.active>a{color:#06f!important}#topnav .navigation-menu.nav-light>li>a{color:rgba(255,255,255,.5)}#topnav .navigation-menu.nav-light>li.active>a{color:#fff!important}#topnav .navigation-menu.nav-light>li:hover>.menu-arrow{border-color:#fff!important}#topnav .navigation-menu.nav-light>li:hover>a{color:#fff!important}#topnav .navigation-menu.nav-right{justify-content:flex-end!important}#topnav .navigation-menu.nav-left{justify-content:flex-start!important}#topnav .navigation-menu.nav-left>li.last-elements .submenu{left:0!important;right:auto!important}#topnav .navigation-menu.nav-left>li.last-elements .submenu:before{left:45px!important;right:auto!important}#topnav .navbar-toggle{display:none}#topnav #navigation{display:block!important}#topnav.scroll{top:0}#topnav.scroll .navigation-menu>li>a{padding-top:20px;padding-bottom:20px}#topnav.scroll-active .navigation-menu>li>a{padding-top:25px;padding-bottom:25px}}@media(max-width:991px){#topnav{background-color:#fff;min-height:74px}#topnav .logo .l-dark{display:inline-block!important}#topnav .logo .l-light{display:none!important}#topnav .container{width:auto;height:71px}#topnav #navigation{max-height:400px}#topnav .navigation-menu{float:none}#topnav .navigation-menu>li{float:none}#topnav .navigation-menu>li>a{color:#3c4858;padding:10px 20px}#topnav .navigation-menu>li>a:after{position:absolute;right:15px}#topnav .navigation-menu>li>a:hover,#topnav .menu-extras .menu-item{border-color:#6b7686}#topnav .navbar-header{float:left}#navigation{position:absolute;top:64px;left:0;width:100%;display:none;height:auto;padding-bottom:0;overflow:auto;border-top:1px solid #f2f4f6;border-bottom:1px solid #f2f4f6;background-color:#fff}#navigation.open{display:block;overflow-y:auto}}@media(min-width:768px){.navbar-toggle{display:block}}.navbar-white-bg{background-color:#fff!important}.social-link>li{line-height:initial}.footer{background:#202942;position:relative;color:#adb5bd}.footer .footer-py-60{padding:60px 0}.footer .footer-py-30{padding:30px 0}.footer .logo-footer{font-size:22px}.footer .logo-footer:focus{outline:none}.footer .logo-footer svg{height:30px}.footer .footer-head{letter-spacing:1px;font-weight:500;color:#fff}.footer .text-foot{color:#adb5bd}.footer .footer-list{margin-bottom:0}.footer .footer-list li{margin-bottom:10px}.footer .footer-list li a{transition:all .5s ease}.footer .footer-list li a:hover{color:#e6e8ea}.footer .footer-list li:last-child{margin-bottom:0}.footer .footer-border,.footer .footer-bar{border-top:1px solid #283453}.footer .border{border-color:#283453!important}.footer.footer-light{background:#f8f9fa;color:#495057}.footer.footer-light .footer-head{color:#3c4858}.footer.footer-light .foot-subscribe .form-control{background-color:#f8f9fa;border:1px solid #e9ecef;color:#f8f9fa}.footer.footer-light .foot-subscribe.foot-white .form-control{color:#adb5bd}.footer.footer-light .foot-subscribe input::placeholder{color:#adb5bd}.footer.footer-light .border{border-color:#e9ecef!important}.footer.footer-light .text-foot{color:#6b7686}.footer.footer-light .footer-list li a:hover{color:#495057}.btn-soft-primary{background-color:rgba(0,102,255,5%)!important;border:1px solid rgba(0,102,255,5%)!important;color:#06f!important;box-shadow:0 2px 1px rgba(0,102,255,.1)}.btn-soft-primary:hover,.btn-soft-primary:focus,.btn-soft-primary:active,.btn-soft-primary.active,.btn-soft-primary.focus{background-color:#06f!important;border-color:#06f!important;color:#fff!important}.btn-soft-secondary{background-color:rgba(108,117,125,5%)!important;border:1px solid rgba(108,117,125,5%)!important;color:#6c757d!important;box-shadow:0 2px 1px rgba(108,117,125,.1)}.btn-soft-secondary:hover,.btn-soft-secondary:focus,.btn-soft-secondary:active,.btn-soft-secondary.active,.btn-soft-secondary.focus{background-color:#6c757d!important;border-color:#6c757d!important;color:#fff!important}.btn-soft-success{background-color:rgba(46,202,139,5%)!important;border:1px solid rgba(46,202,139,5%)!important;color:#2eca8b!important;box-shadow:0 2px 1px rgba(46,202,139,.1)}.btn-soft-success:hover,.btn-soft-success:focus,.btn-soft-success:active,.btn-soft-success.active,.btn-soft-success.focus{background-color:#2eca8b!important;border-color:#2eca8b!important;color:#fff!important}.btn-soft-info{background-color:rgba(23,162,184,5%)!important;border:1px solid rgba(23,162,184,5%)!important;color:#17a2b8!important;box-shadow:0 2px 1px rgba(23,162,184,.1)}.btn-soft-info:hover,.btn-soft-info:focus,.btn-soft-info:active,.btn-soft-info.active,.btn-soft-info.focus{background-color:#17a2b8!important;border-color:#17a2b8!important;color:#fff!important}.btn-soft-warning{background-color:rgba(241,116,37,5%)!important;border:1px solid rgba(241,116,37,5%)!important;color:#f17425!important;box-shadow:0 2px 1px rgba(241,116,37,.1)}.btn-soft-warning:hover,.btn-soft-warning:focus,.btn-soft-warning:active,.btn-soft-warning.active,.btn-soft-warning.focus{background-color:#f17425!important;border-color:#f17425!important;color:#fff!important}.btn-soft-danger{background-color:rgba(228,63,82,5%)!important;border:1px solid rgba(228,63,82,5%)!important;color:#e43f52!important;box-shadow:0 2px 1px rgba(228,63,82,.1)}.btn-soft-danger:hover,.btn-soft-danger:focus,.btn-soft-danger:active,.btn-soft-danger.active,.btn-soft-danger.focus{background-color:#e43f52!important;border-color:#e43f52!important;color:#fff!important}.btn-soft-light{background-color:rgba(248,249,250,5%)!important;border:1px solid rgba(248,249,250,5%)!important;color:#f8f9fa!important;box-shadow:0 2px 1px rgba(248,249,250,.1)}.btn-soft-light:hover,.btn-soft-light:focus,.btn-soft-light:active,.btn-soft-light.active,.btn-soft-light.focus{background-color:#f8f9fa!important;border-color:#f8f9fa!important;color:#fff!important}.btn-soft-dark{background-color:rgba(60,72,88,5%)!important;border:1px solid rgba(60,72,88,5%)!important;color:#3c4858!important;box-shadow:0 2px 1px rgba(60,72,88,.1)}.btn-soft-dark:hover,.btn-soft-dark:focus,.btn-soft-dark:active,.btn-soft-dark.active,.btn-soft-dark.focus{background-color:#3c4858!important;border-color:#3c4858!important;color:#fff!important}.btn-soft-footer{background-color:rgba(32,41,66,5%)!important;border:1px solid rgba(32,41,66,5%)!important;color:#202942!important;box-shadow:0 2px 1px rgba(32,41,66,.1)}.btn-soft-footer:hover,.btn-soft-footer:focus,.btn-soft-footer:active,.btn-soft-footer.active,.btn-soft-footer.focus{background-color:#202942!important;border-color:#202942!important;color:#fff!important}.btn-soft-muted{background-color:rgba(107,118,134,5%)!important;border:1px solid rgba(107,118,134,5%)!important;color:#6b7686!important;box-shadow:0 2px 1px rgba(107,118,134,.1)}.btn-soft-muted:hover,.btn-soft-muted:focus,.btn-soft-muted:active,.btn-soft-muted.active,.btn-soft-muted.focus{background-color:#6b7686!important;border-color:#6b7686!important;color:#fff!important}.btn{padding:8px 20px;outline:none;text-decoration:none;font-size:16px;letter-spacing:.5px;transition:all .3s;font-weight:600;border-radius:5px}.btn:focus{box-shadow:none!important}.btn.btn-sm,.btn-group-sm>.btn{padding:7px 16px;font-size:10px}.btn.btn-lg,.btn-group-lg>.btn{padding:14px 30px;font-size:16px}.btn.searchbtn{padding:6px 20px}.btn.btn-pills{border-radius:30px}.btn.btn-light{border:1px solid #f2f4f6}.btn.btn-outline-light{border-color:#e9ecef!important}.btn.btn-soft-light{color:#ced4da!important;border-color:#e9ecef!important}.btn.btn-soft-dark:hover,.btn.btn-soft-dark:focus,.btn.btn-soft-dark:active,.btn.btn-soft-dark.active,.btn.btn-soft-dark.focus{color:#ced4da!important;border-color:#e9ecef!important}.btn.btn-dark,.btn.btn-secondary{color:#e9ecef}.btn.btn-outline-light{color:#212529}.btn.btn-icon{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.btn.btn-icon .icons{height:16px;width:16px;font-size:16px}.btn.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{height:48px;width:48px;line-height:46px}.btn.btn-icon.btn-lg .icons,.btn-group-lg>.btn-icon.btn .icons{height:20px;width:20px;font-size:20px}.btn.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{height:30px;width:30px;line-height:28px}button:not(:disabled){outline:none}.btn-landing{color:#3c4858}.badge{letter-spacing:.5px;padding:4px 8px;font-weight:600;line-height:11px}.badge.badge-link:hover{color:#fff!important}.bg-primary{background-color:rgba(0,102,255,4%)!important}.bg-hard-primary{background-color:#06f!important}.bg-soft-primary{background-color:rgba(0,102,255,.1)!important;border:1px solid rgba(0,102,255,.1)!important;color:#06f!important}.bg-secondary{background-color:rgba(108,117,125,4%)!important}.bg-hard-secondary{background-color:#6c757d!important}.bg-soft-secondary{background-color:rgba(108,117,125,.1)!important;border:1px solid rgba(108,117,125,.1)!important;color:#6c757d!important}.bg-success{background-color:rgba(46,202,139,4%)!important}.bg-hard-success{background-color:#2eca8b!important}.bg-soft-success{background-color:rgba(46,202,139,.1)!important;border:1px solid rgba(46,202,139,.1)!important;color:#2eca8b!important}.bg-info{background-color:rgba(23,162,184,4%)!important}.bg-hard-info{background-color:#17a2b8!important}.bg-soft-info{background-color:rgba(23,162,184,.1)!important;border:1px solid rgba(23,162,184,.1)!important;color:#17a2b8!important}.bg-warning{background-color:rgba(241,116,37,4%)!important}.bg-hard-warning{background-color:#f17425!important}.bg-soft-warning{background-color:rgba(241,116,37,.1)!important;border:1px solid rgba(241,116,37,.1)!important;color:#f17425!important}.bg-danger{background-color:rgba(228,63,82,4%)!important}.bg-hard-danger{background-color:#e43f52!important}.bg-soft-danger{background-color:rgba(228,63,82,.1)!important;border:1px solid rgba(228,63,82,.1)!important;color:#e43f52!important}.bg-light{background-color:rgba(248,249,250,4%)!important}.bg-hard-light{background-color:#f8f9fa!important}.bg-soft-light{background-color:rgba(248,249,250,.1)!important;border:1px solid rgba(248,249,250,.1)!important;color:#f8f9fa!important}.bg-dark{background-color:rgba(60,72,88,4%)!important}.bg-hard-dark{background-color:#3c4858!important}.bg-soft-dark{background-color:rgba(60,72,88,.1)!important;border:1px solid rgba(60,72,88,.1)!important;color:#3c4858!important}.bg-footer{background-color:rgba(32,41,66,4%)!important}.bg-hard-footer{background-color:#202942!important}.bg-soft-footer{background-color:rgba(32,41,66,.1)!important;border:1px solid rgba(32,41,66,.1)!important;color:#202942!important}.bg-muted{background-color:rgba(107,118,134,4%)!important}.bg-hard-muted{background-color:#6b7686!important}.bg-soft-muted{background-color:rgba(107,118,134,.1)!important;border:1px solid rgba(107,118,134,.1)!important;color:#6b7686!important}.bg-white-color{background-color:#fff!important}.features.feature-primary .icon{background:rgba(0,102,255,5%)}.features.feature-primary .no-icon{background:0 0}.features.feature-primary .image:before{background:linear-gradient(45deg,transparent,rgba(0,102,255,.1))}.features.feature-primary .read-more,.features.feature-primary .color{color:#06f!important}.features.feature-primary.feature-clean .icons{color:#06f!important}.features.feature-primary.feature-clean .icons i{background-color:rgba(0,102,255,.1)}.features.feature-primary.feature-clean .title:hover{color:#06f!important}.features.feature-primary.feature-full-bg .icon-color{color:#06f!important}.features.feature-primary.feature-full-bg:hover{background-color:#06f!important}.features.feature-primary.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(0,102,255,.15));color:#06f}.features.feature-primary.course-feature .full-img{color:#06f!important}.features.feature-primary.explore-feature:hover .icons,.features.feature-primary.explore-feature:hover .title{color:#06f!important}.features.feature-primary .btn-soft{background-color:rgba(0,102,255,5%)!important;border:1px solid rgba(0,102,255,5%)!important;color:#06f!important;box-shadow:0 3px 5px rgba(0,102,255,.1)}.features.feature-primary .btn-soft:hover,.features.feature-primary .btn-soft:focus,.features.feature-primary .btn-soft:active,.features.feature-primary .btn-soft.active,.features.feature-primary .btn-soft.focus{background-color:#06f!important;border-color:#06f!important;color:#fff!important}.features.feature-primary:hover .image:before{background:rgba(0,102,255,.1)}.features.feature-secondary .icon{background:rgba(108,117,125,5%)}.features.feature-secondary .no-icon{background:0 0}.features.feature-secondary .image:before{background:linear-gradient(45deg,transparent,rgba(108,117,125,.1))}.features.feature-secondary .read-more,.features.feature-secondary .color{color:#6c757d!important}.features.feature-secondary.feature-clean .icons{color:#6c757d!important}.features.feature-secondary.feature-clean .icons i{background-color:rgba(108,117,125,.1)}.features.feature-secondary.feature-clean .title:hover{color:#6c757d!important}.features.feature-secondary.feature-full-bg .icon-color{color:#6c757d!important}.features.feature-secondary.feature-full-bg:hover{background-color:#6c757d!important}.features.feature-secondary.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(108,117,125,.15));color:#6c757d}.features.feature-secondary.course-feature .full-img{color:#6c757d!important}.features.feature-secondary.explore-feature:hover .icons,.features.feature-secondary.explore-feature:hover .title{color:#6c757d!important}.features.feature-secondary .btn-soft{background-color:rgba(108,117,125,5%)!important;border:1px solid rgba(108,117,125,5%)!important;color:#6c757d!important;box-shadow:0 3px 5px rgba(108,117,125,.1)}.features.feature-secondary .btn-soft:hover,.features.feature-secondary .btn-soft:focus,.features.feature-secondary .btn-soft:active,.features.feature-secondary .btn-soft.active,.features.feature-secondary .btn-soft.focus{background-color:#6c757d!important;border-color:#6c757d!important;color:#fff!important}.features.feature-secondary:hover .image:before{background:rgba(108,117,125,.1)}.features.feature-success .icon{background:rgba(46,202,139,5%)}.features.feature-success .no-icon{background:0 0}.features.feature-success .image:before{background:linear-gradient(45deg,transparent,rgba(46,202,139,.1))}.features.feature-success .read-more,.features.feature-success .color{color:#2eca8b!important}.features.feature-success.feature-clean .icons{color:#2eca8b!important}.features.feature-success.feature-clean .icons i{background-color:rgba(46,202,139,.1)}.features.feature-success.feature-clean .title:hover{color:#2eca8b!important}.features.feature-success.feature-full-bg .icon-color{color:#2eca8b!important}.features.feature-success.feature-full-bg:hover{background-color:#2eca8b!important}.features.feature-success.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(46,202,139,.15));color:#2eca8b}.features.feature-success.course-feature .full-img{color:#2eca8b!important}.features.feature-success.explore-feature:hover .icons,.features.feature-success.explore-feature:hover .title{color:#2eca8b!important}.features.feature-success .btn-soft{background-color:rgba(46,202,139,5%)!important;border:1px solid rgba(46,202,139,5%)!important;color:#2eca8b!important;box-shadow:0 3px 5px rgba(46,202,139,.1)}.features.feature-success .btn-soft:hover,.features.feature-success .btn-soft:focus,.features.feature-success .btn-soft:active,.features.feature-success .btn-soft.active,.features.feature-success .btn-soft.focus{background-color:#2eca8b!important;border-color:#2eca8b!important;color:#fff!important}.features.feature-success:hover .image:before{background:rgba(46,202,139,.1)}.features.feature-info .icon{background:rgba(23,162,184,5%)}.features.feature-info .no-icon{background:0 0}.features.feature-info .image:before{background:linear-gradient(45deg,transparent,rgba(23,162,184,.1))}.features.feature-info .read-more,.features.feature-info .color{color:#17a2b8!important}.features.feature-info.feature-clean .icons{color:#17a2b8!important}.features.feature-info.feature-clean .icons i{background-color:rgba(23,162,184,.1)}.features.feature-info.feature-clean .title:hover{color:#17a2b8!important}.features.feature-info.feature-full-bg .icon-color{color:#17a2b8!important}.features.feature-info.feature-full-bg:hover{background-color:#17a2b8!important}.features.feature-info.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(23,162,184,.15));color:#17a2b8}.features.feature-info.course-feature .full-img{color:#17a2b8!important}.features.feature-info.explore-feature:hover .icons,.features.feature-info.explore-feature:hover .title{color:#17a2b8!important}.features.feature-info .btn-soft{background-color:rgba(23,162,184,5%)!important;border:1px solid rgba(23,162,184,5%)!important;color:#17a2b8!important;box-shadow:0 3px 5px rgba(23,162,184,.1)}.features.feature-info .btn-soft:hover,.features.feature-info .btn-soft:focus,.features.feature-info .btn-soft:active,.features.feature-info .btn-soft.active,.features.feature-info .btn-soft.focus{background-color:#17a2b8!important;border-color:#17a2b8!important;color:#fff!important}.features.feature-info:hover .image:before{background:rgba(23,162,184,.1)}.features.feature-warning .icon{background:rgba(241,116,37,5%)}.features.feature-warning .no-icon{background:0 0}.features.feature-warning .image:before{background:linear-gradient(45deg,transparent,rgba(241,116,37,.1))}.features.feature-warning .read-more,.features.feature-warning .color{color:#f17425!important}.features.feature-warning.feature-clean .icons{color:#f17425!important}.features.feature-warning.feature-clean .icons i{background-color:rgba(241,116,37,.1)}.features.feature-warning.feature-clean .title:hover{color:#f17425!important}.features.feature-warning.feature-full-bg .icon-color{color:#f17425!important}.features.feature-warning.feature-full-bg:hover{background-color:#f17425!important}.features.feature-warning.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(241,116,37,.15));color:#f17425}.features.feature-warning.course-feature .full-img{color:#f17425!important}.features.feature-warning.explore-feature:hover .icons,.features.feature-warning.explore-feature:hover .title{color:#f17425!important}.features.feature-warning .btn-soft{background-color:rgba(241,116,37,5%)!important;border:1px solid rgba(241,116,37,5%)!important;color:#f17425!important;box-shadow:0 3px 5px rgba(241,116,37,.1)}.features.feature-warning .btn-soft:hover,.features.feature-warning .btn-soft:focus,.features.feature-warning .btn-soft:active,.features.feature-warning .btn-soft.active,.features.feature-warning .btn-soft.focus{background-color:#f17425!important;border-color:#f17425!important;color:#fff!important}.features.feature-warning:hover .image:before{background:rgba(241,116,37,.1)}.features.feature-danger .icon{background:rgba(228,63,82,5%)}.features.feature-danger .no-icon{background:0 0}.features.feature-danger .image:before{background:linear-gradient(45deg,transparent,rgba(228,63,82,.1))}.features.feature-danger .read-more,.features.feature-danger .color{color:#e43f52!important}.features.feature-danger.feature-clean .icons{color:#e43f52!important}.features.feature-danger.feature-clean .icons i{background-color:rgba(228,63,82,.1)}.features.feature-danger.feature-clean .title:hover{color:#e43f52!important}.features.feature-danger.feature-full-bg .icon-color{color:#e43f52!important}.features.feature-danger.feature-full-bg:hover{background-color:#e43f52!important}.features.feature-danger.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(228,63,82,.15));color:#e43f52}.features.feature-danger.course-feature .full-img{color:#e43f52!important}.features.feature-danger.explore-feature:hover .icons,.features.feature-danger.explore-feature:hover .title{color:#e43f52!important}.features.feature-danger .btn-soft{background-color:rgba(228,63,82,5%)!important;border:1px solid rgba(228,63,82,5%)!important;color:#e43f52!important;box-shadow:0 3px 5px rgba(228,63,82,.1)}.features.feature-danger .btn-soft:hover,.features.feature-danger .btn-soft:focus,.features.feature-danger .btn-soft:active,.features.feature-danger .btn-soft.active,.features.feature-danger .btn-soft.focus{background-color:#e43f52!important;border-color:#e43f52!important;color:#fff!important}.features.feature-danger:hover .image:before{background:rgba(228,63,82,.1)}.features.feature-light .icon{background:rgba(248,249,250,5%)}.features.feature-light .no-icon{background:0 0}.features.feature-light .image:before{background:linear-gradient(45deg,transparent,rgba(248,249,250,.1))}.features.feature-light .read-more,.features.feature-light .color{color:#f8f9fa!important}.features.feature-light.feature-clean .icons{color:#f8f9fa!important}.features.feature-light.feature-clean .icons i{background-color:rgba(248,249,250,.1)}.features.feature-light.feature-clean .title:hover{color:#f8f9fa!important}.features.feature-light.feature-full-bg .icon-color{color:#f8f9fa!important}.features.feature-light.feature-full-bg:hover{background-color:#f8f9fa!important}.features.feature-light.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(248,249,250,.15));color:#f8f9fa}.features.feature-light.course-feature .full-img{color:#f8f9fa!important}.features.feature-light.explore-feature:hover .icons,.features.feature-light.explore-feature:hover .title{color:#f8f9fa!important}.features.feature-light .btn-soft{background-color:rgba(248,249,250,5%)!important;border:1px solid rgba(248,249,250,5%)!important;color:#f8f9fa!important;box-shadow:0 3px 5px rgba(248,249,250,.1)}.features.feature-light .btn-soft:hover,.features.feature-light .btn-soft:focus,.features.feature-light .btn-soft:active,.features.feature-light .btn-soft.active,.features.feature-light .btn-soft.focus{background-color:#f8f9fa!important;border-color:#f8f9fa!important;color:#fff!important}.features.feature-light:hover .image:before{background:rgba(248,249,250,.1)}.features.feature-dark .icon{background:rgba(60,72,88,5%)}.features.feature-dark .no-icon{background:0 0}.features.feature-dark .image:before{background:linear-gradient(45deg,transparent,rgba(60,72,88,.1))}.features.feature-dark .read-more,.features.feature-dark .color{color:#3c4858!important}.features.feature-dark.feature-clean .icons{color:#3c4858!important}.features.feature-dark.feature-clean .icons i{background-color:rgba(60,72,88,.1)}.features.feature-dark.feature-clean .title:hover{color:#3c4858!important}.features.feature-dark.feature-full-bg .icon-color{color:#3c4858!important}.features.feature-dark.feature-full-bg:hover{background-color:#3c4858!important}.features.feature-dark.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(60,72,88,.15));color:#3c4858}.features.feature-dark.course-feature .full-img{color:#3c4858!important}.features.feature-dark.explore-feature:hover .icons,.features.feature-dark.explore-feature:hover .title{color:#3c4858!important}.features.feature-dark .btn-soft{background-color:rgba(60,72,88,5%)!important;border:1px solid rgba(60,72,88,5%)!important;color:#3c4858!important;box-shadow:0 3px 5px rgba(60,72,88,.1)}.features.feature-dark .btn-soft:hover,.features.feature-dark .btn-soft:focus,.features.feature-dark .btn-soft:active,.features.feature-dark .btn-soft.active,.features.feature-dark .btn-soft.focus{background-color:#3c4858!important;border-color:#3c4858!important;color:#fff!important}.features.feature-dark:hover .image:before{background:rgba(60,72,88,.1)}.features.feature-footer .icon{background:rgba(32,41,66,5%)}.features.feature-footer .no-icon{background:0 0}.features.feature-footer .image:before{background:linear-gradient(45deg,transparent,rgba(32,41,66,.1))}.features.feature-footer .read-more,.features.feature-footer .color{color:#202942!important}.features.feature-footer.feature-clean .icons{color:#202942!important}.features.feature-footer.feature-clean .icons i{background-color:rgba(32,41,66,.1)}.features.feature-footer.feature-clean .title:hover{color:#202942!important}.features.feature-footer.feature-full-bg .icon-color{color:#202942!important}.features.feature-footer.feature-full-bg:hover{background-color:#202942!important}.features.feature-footer.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(32,41,66,.15));color:#202942}.features.feature-footer.course-feature .full-img{color:#202942!important}.features.feature-footer.explore-feature:hover .icons,.features.feature-footer.explore-feature:hover .title{color:#202942!important}.features.feature-footer .btn-soft{background-color:rgba(32,41,66,5%)!important;border:1px solid rgba(32,41,66,5%)!important;color:#202942!important;box-shadow:0 3px 5px rgba(32,41,66,.1)}.features.feature-footer .btn-soft:hover,.features.feature-footer .btn-soft:focus,.features.feature-footer .btn-soft:active,.features.feature-footer .btn-soft.active,.features.feature-footer .btn-soft.focus{background-color:#202942!important;border-color:#202942!important;color:#fff!important}.features.feature-footer:hover .image:before{background:rgba(32,41,66,.1)}.features.feature-muted .icon{background:rgba(107,118,134,5%)}.features.feature-muted .no-icon{background:0 0}.features.feature-muted .image:before{background:linear-gradient(45deg,transparent,rgba(107,118,134,.1))}.features.feature-muted .read-more,.features.feature-muted .color{color:#6b7686!important}.features.feature-muted.feature-clean .icons{color:#6b7686!important}.features.feature-muted.feature-clean .icons i{background-color:rgba(107,118,134,.1)}.features.feature-muted.feature-clean .title:hover{color:#6b7686!important}.features.feature-muted.feature-full-bg .icon-color{color:#6b7686!important}.features.feature-muted.feature-full-bg:hover{background-color:#6b7686!important}.features.feature-muted.key-feature .icon{background:linear-gradient(45deg,transparent,rgba(107,118,134,.15));color:#6b7686}.features.feature-muted.course-feature .full-img{color:#6b7686!important}.features.feature-muted.explore-feature:hover .icons,.features.feature-muted.explore-feature:hover .title{color:#6b7686!important}.features.feature-muted .btn-soft{background-color:rgba(107,118,134,5%)!important;border:1px solid rgba(107,118,134,5%)!important;color:#6b7686!important;box-shadow:0 3px 5px rgba(107,118,134,.1)}.features.feature-muted .btn-soft:hover,.features.feature-muted .btn-soft:focus,.features.feature-muted .btn-soft:active,.features.feature-muted .btn-soft.active,.features.feature-muted .btn-soft.focus{background-color:#6b7686!important;border-color:#6b7686!important;color:#fff!important}.features.feature-muted:hover .image:before{background:rgba(107,118,134,.1)}.features .image:before{content:"";position:absolute;bottom:5px;left:5px;width:64px;height:64px;border-radius:6px;transform:rotate(33.75deg)}.features.feature-clean{background-color:#fff}.features.feature-clean .icons i{height:65px;width:65px;line-height:65px}.features .ride-image{transform:rotate(-45deg)}.features .ride-image img{border-radius:100% 100% 100% 0}.features.key-feature{transition:all .3s ease}.features.key-feature:hover{transform:scale(1.05);box-shadow:0 5px 13px rgba(60,72,88,.2)!important}.features:hover .image:before{animation:spinner-border 5s linear infinite!important}.features.feature-full-bg{transition:all .5s ease}.features.feature-full-bg .big-icon{position:absolute;top:50%;transform:translateY(-50%);left:0;right:0;opacity:.015;font-size:180px}.features.feature-full-bg:hover{box-shadow:0 10px 25px rgba(60,72,88,.15);color:#fff!important}.features.feature-full-bg:hover .icon-color i,.features.feature-full-bg:hover .para{color:rgba(255,255,255,.5)!important}.features.feature-full-bg:hover .content,.features.feature-full-bg:hover .icon-color{z-index:2}.features.feature-full-bg:hover .big-icon{opacity:.05}.features.feature-full-bg:hover .readmore{color:#fff!important}.features .title,.key-feature .title{font-size:22px!important}.features .icon,.features .no-icon,.key-feature .icon,.key-feature .no-icon{height:45px;min-width:45px;display:flex;align-items:center;justify-content:center}.fw-medium{font-weight:600}.section{padding:100px 0;position:relative}@media(max-width:768px){.section{padding:60px 0}}.section-two{padding:60px 0;position:relative}.bg-overlay{background-color:rgba(60,72,88,.7);position:absolute;top:0;right:0;left:0;bottom:0;width:100%;height:100%}.bg-overlay-white{background-color:rgba(255,255,255,.5)}.bg-gradient-primary{background:linear-gradient(to left,#59339d 0%,#0257d5 100%)}.bg-linear-gradient{background:linear-gradient(to bottom,transparent 0%,transparent 50%,rgba(0,0,0,.3) 80%,black 100%)}.bg-linear-gradient-2{background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.7) 75%,black 100%)}.bg-linear-gradient-3{background:linear-gradient(to right,black 0%,black 25%,black 50%,rgba(0,0,0,.5) 75%,transparent 100%)}.bg-gradient-overlay{background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 25%,rgba(0,0,0,.75) 50%,black 100%)}.bg-gradient-overlay-2{background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,rgba(0,0,0,.6) 25%,rgba(0,0,0,.7) 50%,rgba(0,0,0,.8) 100%)}.bg-primary-gradient-overlay{background:linear-gradient(to bottom,rgba(13,110,253,0) 0%,rgba(13,110,253,.25) 25%,rgba(13,110,253,.5) 50%,rgba(13,110,253,.75) 75%,#0d6efd 100%)}.bg-gradient-white-overlay{background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 50%,rgba(255,255,255,.5) 100%)}.title-heading{line-height:26px}.title-heading .heading{font-size:65px!important;letter-spacing:1px}@media(max-width:768px){.title-heading .heading{font-size:35px!important}}.title-heading .para-desc{font-size:18px}.section-title .title{letter-spacing:.5px;font-size:30px!important}@media(max-width:768px){.section-title .title{font-size:24px!important}}.text-shadow-title{text-shadow:2px 0 0 #fff,-2px 0 0 #fff,0 4px 0 rgba(255,255,255,.4),0 -2px 0 #fff,1px 1px #fff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff}.para-desc{max-width:600px}.mt-100{margin-top:100px}.feature-posts-placeholder{position:absolute;bottom:0;left:0;right:0;height:66.6%}@media(max-width:425px){.feature-posts-placeholder{height:80%}}@media(min-width:768px){.margin-top-100{margin-top:100px}}@media(max-width:768px){.mt-60{margin-top:60px}}@keyframes animate{0%{transform:translateY(0)rotate(0);opacity:1;border-radius:10px}100%{transform:translateY(-1e3px)rotate(720deg);opacity:0}}.rounded{border-radius:4px!important}.rounded-top{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-top-1{border-top-left-radius:.2rem!important;border-top-right-radius:.2rem!important}.rounded-top-2{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-top-3{border-top-left-radius:.3rem!important;border-top-right-radius:.3rem!important}.rounded-top-4{border-top-left-radius:1rem!important;border-top-right-radius:1rem!important}.rounded-top-5{border-top-left-radius:2rem!important;border-top-right-radius:2rem!important}.rounded-left{border-top-left-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-left-1{border-top-left-radius:.2rem!important;border-bottom-left-radius:.2rem!important}.rounded-left-2{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left-3{border-top-left-radius:.3rem!important;border-bottom-left-radius:.3rem!important}.rounded-left-4{border-top-left-radius:1rem!important;border-bottom-left-radius:1rem!important}.rounded-left-5{border-top-left-radius:2rem!important;border-bottom-left-radius:2rem!important}.rounded-bottom{border-bottom-left-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-bottom-1{border-bottom-right-radius:.2rem!important;border-bottom-left-radius:.2rem!important}.rounded-bottom-2{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-bottom-3{border-bottom-right-radius:.3rem!important;border-bottom-left-radius:.3rem!important}.rounded-bottom-4{border-bottom-right-radius:1rem!important;border-bottom-left-radius:1rem!important}.rounded-bottom-5{border-bottom-right-radius:2rem!important;border-bottom-left-radius:2rem!important}.rounded-right{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-right-1{border-bottom-right-radius:.2rem!important;border-top-right-radius:.2rem!important}.rounded-right-2{border-bottom-right-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right-3{border-bottom-right-radius:.3rem!important;border-top-right-radius:.3rem!important}.rounded-right-4{border-bottom-right-radius:1rem!important;border-top-right-radius:1rem!important}.rounded-right-5{border-bottom-right-radius:2rem!important;border-top-right-radius:2rem!important}.rounded-md{border-radius:10px!important}.rounded-lg{border-radius:30px!important}.border-primary{border-color:#06f!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#2eca8b!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#f17425!important}.border-danger{border-color:#e43f52!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#3c4858!important}.border-footer{border-color:#202942!important}.border-muted{border-color:#6b7686!important}.opacity-05{opacity:.05}.opacity-075{opacity:.075}.opacity-1{opacity:.1}.opacity-2{opacity:.2}.opacity-3{opacity:.3}.opacity-4{opacity:.4}.opacity-5{opacity:.5}.opacity-6{opacity:.6}.opacity-7{opacity:.7}.opacity-8{opacity:.8}.opacity-9{opacity:.9}.z-index-1{z-index:1}.z-index-0{z-index:0}.z-index-m-1{z-index:-1}.small,small{font-size:90%}.social-icon li a{color:#3c4858;border:1px solid #3c4858;height:32px;width:32px;display:inline-flex;justify-content:center;align-items:center;text-align:center;transition:all .4s ease;overflow:hidden;position:relative}.social-icon li a .fea-social{stroke-width:2}.social-icon li a:hover{background-color:#06f;border-color:#06f!important;color:#fff!important}.social-icon li a:hover .fea-social{fill:#06f}.social-icon.social li a{color:#adb5bd;border-color:#adb5bd}.social-icon.foot-social-icon li a{color:#adb5bd;border-color:#283453}.back-to-top{position:fixed;z-index:99;bottom:30px;right:30px;display:none;transition:all .5s ease;height:36px;width:36px;line-height:33px;border-radius:6px;border:none;text-align:center;text-align:-moz-center;text-align:-webkit-center;padding-top:7px;background:#06f;color:#fff!important}.back-to-top .icons{transition:all .5s ease}.back-to-top:hover{transform:rotate(45deg)}.back-to-top:hover .icons{transform:rotate(-45deg)!important}.position-middle-bottom{position:absolute;bottom:15px;left:12px;right:12px;text-align:center}.text-color-white{color:#fff!important}.d-flex .flex-1{flex:1}.material-icons{font-family:material symbols outlined;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}span.size-16,i.size-16{font-size:16px!important;font-variation-settings:'OPSZ' 16}span.size-20,i.size-20{font-size:20px!important;font-variation-settings:'OPSZ' 20}span.size-24,i.size-24{font-size:24px!important;font-variation-settings:'OPSZ' 24}span.size-40,i.size-40{font-size:40px!important;font-variation-settings:'OPSZ' 40}span.size-48,i.size-48{font-size:48px!important;font-variation-settings:'OPSZ' 48}span.icon-bg{background:#06f;color:#fff!important;font-variation-settings:'GRAD' -25;margin-left:-8px!important;padding:3px;border-radius:3px}span.menu-icon{margin:0 5px 3px -2px}@media(max-width:767px){.classic-hero-image img{max-width:100%;height:auto}}.hero{background-size:cover;padding-top:70px} \ No newline at end of file diff --git a/resources/_gen/assets/scss/style.scss_8c911ff330bb5ca9491c098c46a3173d.json b/resources/_gen/assets/scss/style.scss_8c911ff330bb5ca9491c098c46a3173d.json index e55399a..62138c1 100644 --- a/resources/_gen/assets/scss/style.scss_8c911ff330bb5ca9491c098c46a3173d.json +++ b/resources/_gen/assets/scss/style.scss_8c911ff330bb5ca9491c098c46a3173d.json @@ -1 +1 @@ -{"Target":"scss/style.min.4bfec8ecae2636b5bb34fb53b7eaccf82826e0f7c40af3c54fdcff4c023493b4c4f3106c90ecc52c78a5048a2d8ef809.css","MediaType":"text/css","Data":{"Integrity":"sha384-S/7I7K4mNrW7NPtTt+rM+Cgm4PfECvPFT9z/TAI0k7TE8xBskOzFLHilBIotjvgJ"}} \ No newline at end of file +{"Target":"scss/style.min.e3e1bc5be46f578c60e8e3b09a46990466da286e0629c07ce7dd74e1ed2ebb26fe16efc5b3046411d13ade6533b6daf7.css","MediaType":"text/css","Data":{"Integrity":"sha384-4+G8W+RvV4xg6OOwmkaZBGbaKG4GKcB859104e0uuyb+Fu/FswRkEdE63mUzttr3"}} \ No newline at end of file diff --git a/resources/_gen/images/images/logos/star.png b/resources/_gen/images/images/logos/star.png deleted file mode 100644 index aca680c7ea71613dd7dc04da132b19f88f523dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2578 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 diff --git a/resources/_gen/images/images/lotus_docs_screenshot_hu_96a4be244a204161.webp b/resources/_gen/images/images/lotus_docs_screenshot_hu_96a4be244a204161.webp deleted file mode 100644 index cb2c4554a4a6062424671ffd2a275760854a5768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53046 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 H4B!4Qh&|*` diff --git a/resources/_gen/images/opengraph/card-base-2_hu_31b032575c8c7401.png b/resources/_gen/images/opengraph/card-base-2_hu_31b032575c8c7401.png deleted file mode 100644 index c793bece33dc3c8f6edd2e280ae490059cfbc813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47792 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¥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 H4B!4Qh&|*` diff --git a/resources/_gen/images/opengraph/card-base-2_hu_be62d49e46818fbe.png b/resources/_gen/images/opengraph/card-base-2_hu_be62d49e46818fbe.png deleted file mode 100644 index e3e67e41ffa34e2d8545cbf89c03f00a2f3ac1e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47646 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%0D&Tx+scXVoZA8-0FhY* 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 diff --git a/resources/_gen/images/opengraph/card-base-2_hu_cc06f218b0207f88.png b/resources/_gen/images/opengraph/card-base-2_hu_cc06f218b0207f88.png deleted file mode 100644 index 8393d4a5792433079a251c7df52579c9f1f639c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41154 zcmd?RbyU=08!d{BfM6g9(jX!wjkJ_>cT0Cj_o$SBf;2cZ(%ncZNSAa8h;(&sQm&45b<`-}5XYc(y?;9vDD|QEi5CaVj?T&=Fh$0%=^&&L1tIp_G z;gjzaYnW(gZ_y+~1eIOm*Cubr;?Bo?-%eaPjZIAKydt8_9+dh@M78$rL!&wlimA$W zLZ>V2B+0J6!jrEDt4tosNdF~H(+(o+rMb5q^gb)gOdR)zK9NavX69y^32BD(#Gdxh z&PwD*^i&iSyTO5MKqw3?nqb#=8g+yWZfY}g+5zdw?3FoaNlFwy*9uY1pM z1D&r6yNg}HEuef9Bw`4Ep?zyB%5pSP4^xL9`Y2PxSy|%H2(S&0tPo>==0uP^!t#@$ zR`N>dowbKg&^!aMf+fZLAAY>a=UeP56f8~~_*-U^Mlv_QPWYJo{-@j1S0g1e_pwuc z-*5jqMINb2pD1r16<+z1|Me%kR~`ECGSp2Nfmn1LEP3J|?OydKlYJC1WXQLMf3J=V zpBZV`m|NSLTjRS%2#1*+EO$-c8)T2~#}G|LA{*|Arn=u!X#MZm3#8TNJm9|CF>HVp?uEs6vW#zX-CR>OmuqQS|9%A{iGI+ip zi%x2sn9sCRA9b9^xgMpXwze8-^+W!}{ZG%Le7+~(j1dgK;6#S$iwgM<@x+IdHDP3D zy)R>tZ!0_&b?4{~8fOdl>Lx$yE7)@J6sS(4e00Br zpnh@Vi#W9(ub^@0galPYYGPPPdr5qDNHt<(kSA4f8Qs6F$X!hNzLEMnxRyZ{mX@nv ztYqf32~&e~VsR@jeA0vj1CGnVlUjb;@+KRHQEQS)r9mEl%0Bf4cPXwN(e4g{Y)9@I zeYwFfl5ncy+98rk)>53!7ml}r$MRgX$5(&X-_ZQCLX*ad+g{&-;g=?)`{8T140`Qf)X=X(-lN&WhylCIdaQe=K6R(_Xiz{ z%M$;P6*H`porx6g9ndhPS=+C2!pKyPq)&Ijo&W6cN;18l_=o%_wNXm7==sF7B5t0h za{fZudr^`UVLbIASaet{d0FlU@5A-!zND~NDG0wJc1BWpHQbCDAU9fc^=~#fs7k== zbZKulDGzdqe;hPq(mfTRBO5TW-p`X2-nsT&k|(M4$ptlL*L<02lCQOD?&#AQ5tb+i za)VOMNt-JkYE%*{ar#c5vgX=~-ZQ`UkNQdrgVWtaU8m_;eojFFW1Zo@8MXA%XYnp- zqNCB?yFre6eT4h}`K$ho56us<9W^&;I%vbB39Tb;L`!BGZu?Ftpxp>J9((&#f0pS_ zjFkVw+XQ%Dik67cP6qE``B8)^uhf)QP)RUm*3}PZx@bSa4Q%0lpCZB%=hke%%sD(V zo~NoaD@3li>?l^mdjC^rNnS05gyN@>+5M`0?0jFLFtZm#?O#oiLz+742UYRzt$spO z;Svb4Sg&H^QccTRl9+)MOYL811kqSpeeT^w&}XB|)BrEe{;a1=1ggS&cd>O#=uPca zGNLp`K1ebW1{*KtSZCHMj~j5T;@=Cpk0HkTO>!)tW{y#Zl9oXu+F>O?goOZG%<&F} zpA?l6m+7Pki+Smrefp~`^aK_C`&~uLk!{2clK#-W?L~w+Z6u9weDKrMzSw>WgUShQ z*#Ot4>@|}n7=ERCZ$_<8{FJcSr&i=&d^r#5wuqv-f@FyF{@Nu#>|8Ukj%!6)5!(#| ze-YD(d;LUI*|Qr!W}X zimGp>GqdEq$I6WgqDOZa{{vGi=C{i1{t{v2LB;&*V6K|mr7c?dmLg9~nUP*oD=&*! zcO{+5W1BE1#;=WCer$f=Tq9HDIJA4xq+fYkfTMl&jf;QdSU|q3ad^8CMnKw+wczEd zXHk;DmFeMB^V;@-?yovt`9FL}pxW?3@;#Q6|B$?B1=j6`R@1>@S5|@3+M&M*J?=RN zRV;U+IdX?y2sc>|2U#U7C-wVgpXL3YN_G*Mf9=~e%;>Hs`O5m!h?yxBOWyakA`0@R zAoo$t{ZSpd60)^1!8PY#H$?|7;tnh#0FBz4zgM;d(#j#H$atd?%c;Xeetr}Xn z*Eq;q*J&1Q=1)q77unnVGCG&H+;X2t*pFJLl2q^=s>9btdL~?J6&WqubxqH1{kz(G z@}?DHS&6Fnka)h~b?2xP;oRzKTKkZIVGhLCQ|w#melG{Tgu)~rZ&cW7M9&v6zN^%X zo?o!7H1X%dvbMN;q|Df9Pn&?}dd(wBGBZ7gR-sTRvc{2Rw!}(x^;gEtI!am?;pSPy zvHyuLZAC(~2><*+0b?)gPbG(R5pP$CWzBDU4sQfgNf_9cQ%S_>KT zk|);L{)C}1!}QSDxbJPjgHHbl1O?GiNODv3f74f$A2;+N0`J~3(irBsoBR^uX_)j1@eO%0jp*}tWKZ?U!}JxF zfufih_Y_6%cz#>}ieSB)skkgc!CsavxM}ycRy36vL1xAhx3cO<5~GCr1R^^{pE`Y_ znMGd2R}33n5o{KET4DmcsDdtn3PmMXWCLZCBwcb;-F6l5d?_bnM2 zmb}rnqICJN8~SX7y%(AEonh+Q4R(?=cyeXswo=L|c7tRLFXQ~{Hh9#z_pmdmD%Oi9 zHk+>MNxNJZPO($|mdDn%??^?cRR8NW4gCt|kcDVtUoV}Q

    x!A8;ZCtg31TM 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®O^cKQX(yuk00ePFyv$9-NC6`B~L%z11`EAFv zb&XRh!Z&AYpTtAU97uOyMHjdq5qrY55rcae(xMIcqrv>^k%`F#`29kc!SUCZHlT&! zkSPoBx`F(9-RO<^f*@((MK;SiB`sqsIvirFr1!Agw|>ey_nyr~Cl? z43Vj#TFsQ~nXeEQz-~_p=*sb}HEPh2#8mu}LFK~dWDk@^`U%(^~WX)ujhr=f#OlCNy7{$ ztsH_YgC+3mID3-42XZXv3{PL?? zbGF(Oc$$|%g;&dYfv>YorUZO9I{Yd8JMgqzRJ z&l_{6nN-4HTK`)3;3CW^%>L3Z)iU5D0X9^_6J^HRXPxWS(gvWaBgcL>(t=+xb zGt^mu&?F2KtUt^&TVd0>s!;fdcL|IwD!5|mFt4wL?EQkk)eDn#Q|8ky60`X2>Bjm zGLqn+FFG|&Z)=xN?l^|>btJ*mV&nV|50TYfAxbu0d6?nEA}G)$bZcJtl5fwWTRsWi z_yY;mGCE(_#iI*OJia|2Sz#rPUcoi?Yc{DQT@bqCJ>#e5wXfFqMp8;=Lq-3%kBUV<6ht4%XpdbkBJq4>Wb z0B*V?ex+|^*XQwL#-JF@(zoy44Vy;2T0TC%fMJcj#`K|$fq{Xu6hwTSbpO9K$Ygx~ zK4I?vh#L8SWg`An3|V-;H}aHYjEVnfB!hS-<~HtoUdKx7TK{+lCoCpTek9v*9}&`F zSkf|Z5{t;{vD%1JnPUsk7rxf`SDgH0xB&*n{Yh^u7d$=xCy0(X?z1DVZu{U>mr*ig z7M}X@7cQdR!?h&(?+ef(7w`}g-?jT7u1d-KUgba@x%D~;dXLvhIi6bN-hgE?fXq%pF7Mh|J z00OexAQf?#CTDP%x@9TND$%%Q!}-vvpDT!W4KH-&HEQ)>y+ufzo+Q3S^pKwC_;tw6H>!B#c)-arEpX_Zrm!}xc$<~T@JKu|i zdWXU=Hzp$rV|)Jwfw_DBZ^BMJF>afwg5l)NN?GCVhgZ*^ClHHZ9=A}%^kDwX2`iQYr|UQ6p#pX0tvK21h9HK?9Y}&Dk3U6wTZ_YHf z6^o&aBRjL8v2k*(My*sGhen+wrWYpd)togs7(f#CgK=;Zd*j~N2-tK63!bd_ z!q*s-S{xv&cAa*uS5njno90iBy3gBp`2^9mzcDBpK!k#1alcoIM8~=u_}A*yXLSuU zZ->RWJZL#Zdp^5*0P3O@1r|i_Cp)7q1nvPaNpA!KhZLbs^sehug!_c%*gW)>Y`3rw zIhE#`j>3coC?)%Fbyxnu3x1|bs9CP>zd}2)iAOy9_9?sC!^lXA!>j*XC6bOZ3hf!+ zw5S%^)#i>mYa$q(1U=1d&B&_Y4R%|3y*!@#CerC?F;!xT3V+r%r8d6Vyo~#}a@l4w z$kwd$nz@C6Fs8SQz(BJ_MG%EorpX3UrqbAYP7spr2G>c0*6*cII5zRT{NM-`KSez; zd#2_y4302kX3(87IFS55{sT#r$n(?S58ciGH!FgPOBhYNygX+eUbz65F60G@a%!^g Iq|Ji=FVi;*b^rhX