diff --git a/.docker/nginx/app.conf b/.docker/nginx/default.conf
similarity index 58%
rename from .docker/nginx/app.conf
rename to .docker/nginx/default.conf
index d1c02106..9a174f21 100644
--- a/.docker/nginx/app.conf
+++ b/.docker/nginx/default.conf
@@ -1,6 +1,6 @@
server {
listen 80;
- index index.php;
+ index index.html;
root /var/www/html;
location ~ \.(ico|css|js|gif|jpe?g|png|woff2?|ttf|otf|svg|eot)$ {
@@ -9,14 +9,6 @@ server {
access_log off;
}
- location ~ \.php$ {
- fastcgi_split_path_info ^(.+\.php)(/.+)$;
- fastcgi_pass php:9000;
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_param PATH_INFO $fastcgi_path_info;
- }
-
location / {
try_files $uri $uri/index.html;
gzip_static on;
@@ -24,4 +16,4 @@ server {
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
-}
\ No newline at end of file
+}
diff --git a/config.php b/config.php
index 2b1f2b7d..5a772671 100644
--- a/config.php
+++ b/config.php
@@ -32,13 +32,13 @@
return '
[
diff --git a/lang/cs/main.json b/lang/cs/main.json
index 0757d7ab..78e5d8f0 100644
--- a/lang/cs/main.json
+++ b/lang/cs/main.json
@@ -1,6 +1,154 @@
{
+ "# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n": "# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n",
"# LibreSign Privacy Notice\n\n## Introduction\n\nThe **LibreSign** is documents signer free developed by **LibreCode**, cooperative of professional of IT. The LibreSign was thinked having to base the security and the privacy of users.\n\nWe establish this Privacy Notice to inform how the personal data collected through of the our contact form on website of LibreSign is treaties, protected and utilized.\n\nThis Notice is governed for norms of General Data Protection Law (GDPL) by Brasil and General Data Protection Law (GDPL) by Europe Union, reflexeting our compromise in protect the privacy and the integration of users personal data.\n\n## Collect of Data\n\nThe LibreCode collect and treat the following personal data through of your website (www.libresign.coop):\n\n- **Name**\n- **E-mail**\n- **Phone**\n\nThese data is provided voluntarily by users when filling the contact form available on our website. The collect these data have how finality exclusive establish a communication channel efficient with the interested in our products and services.\n\n**When filling the registration form you agree with the treat of your data to publish of products of LibreCode. You can revoke your consent any time, just click on link available in communication or send an e-mail to:** contato@librecode.coop.\n\n## Use of Data\n\nThe personal data collected is used just to the following finalities:\n\n- Answer of requests, doubts or users of comments\n- Send communications that have been expressly requested by user ou that be pertinent to your manifested interest\n- Register of attendance history\n- For legal and/or regulatory purposes\n \nThe LibreCode is committed to not use the data collected to specific distincts finality above without the prev notification of the data holders.\n\n## Data Sharing\n\nThe LibreCode not share, sell, rent or another way provides collected personal data to third parties, except when necessary to fulfill with legal obligations or with user express authorization.\n\n## Data Security\n\nWe employ measures security technique and organizational to protected the personal data collected against accesses not authorized, undue changes, disclosure or destruction. Our commitment with security, include adoption of recommented pratics in terms of data protect. To know more about the security politic of LibreCode between in contact us.\n\n## Data Holders Rights\n\nAccording to art 18 of LGPD and the GDPR, users have the use to access, to correct, delete or to carry personal user data, beside can limit or if oppose to your treat when substantiated in the interest legitimate of the controller.\n\nTo exercise your rights, the holders of data and/or your responsible should **in to by way e-mail:** contato@librecode.coop\n\n## Changes of Privacy Politic\n\nLibreCode reserves the right to change this Privacy Policy any moment. The changes will be valid immediately after you publish on website. We recommend the periodic review this politic.\n\n## Contact\n\nTo relative questions to our Privacy Politic any moment contact us by e-mail: contato@librecode.coop\n\nThis Privacy Politic was updated by last once on 08 april 2024": "# Oznámení o ochraně osobních údajů LibreSign\n\n## Úvod\n\n**LibreSign** je bezplatný podepisovač dokumentů vyvinutý **LibreCode**, družstvem profesionálů z oblasti IT. LibreSign byl vytvořen s ohledem na bezpečnost a soukromí uživatelů.\n\nToto oznámení o ochraně osobních údajů vytváříme proto, abychom vás informovali o tom, jak jsou osobní údaje shromážděné prostřednictvím kontaktního formuláře na webových stránkách LibreSign zpracovávány, chráněny a využívány.\n\nToto oznámení se řídí normami obecného zákona o ochraně osobních údajů (GDPL) v Brazílii a obecného zákona o ochraně osobních údajů (GDPL) v Evropské unii a odráží náš kompromis v ochraně soukromí a integraci osobních údajů uživatelů.\n\n## Shromažďování údajů\n\nLibreCode shromažďuje a zpracovává následující osobní údaje prostřednictvím vašich webových stránek (www.libresign.coop):\n\n- **Jméno**\n- **E-mail**\n- **Telefon**\n\nTyto údaje uživatelé poskytují dobrovolně při vyplňování kontaktního formuláře, který je k dispozici na našich webových stránkách. Shromažďování těchto údajů má jak konečný exkluzivní vytvořit efektivní komunikační kanál se zájemci o naše produkty a služby.\n\n**Při vyplnění registračního formuláře souhlasíte se zpracováním vašich údajů pro účely zveřejnění produktů společnosti LibreCode. Svůj souhlas můžete kdykoli odvolat, stačí kliknout na odkaz dostupný v komunikaci nebo zaslat e-mail na adresu:** contato@librecode.coop.\n\n## Použití údajů\n\nShromážděné osobní údaje se používají pouze k následujícím účelům:\n\n- Odpovědi na žádosti, pochybnosti nebo komentáře uživatelů.\n- Zasílání sdělení, která si uživatel výslovně vyžádal ou která se vztahují k vašemu projevenému zájmu\n- Evidence historie návštěvnosti\n- Pro právní a/nebo regulační účely\n \nLibreCode se zavazuje, že shromážděné údaje nepoužije ke konkrétním odlišným výše uvedeným účelům bez předchozího upozornění držitelů údajů.\n\n## Sdílení údajů\n\nLibreCode nesdílí, neprodává, nepronajímá ani jinak neposkytuje shromážděné osobní údaje třetím stranám, s výjimkou případů, kdy je to nezbytné pro splnění zákonných povinností nebo s výslovným souhlasem uživatele.\n\n## Bezpečnost údajů\n\nPoužíváme bezpečnostní techniku a organizační opatření k ochraně shromážděných osobních údajů před neoprávněným přístupem, neoprávněnými změnami, zveřejněním nebo zničením. Náš závazek v oblasti bezpečnosti zahrnuje přijetí doporučených postupů, pokud jde o ochranu údajů. Chcete-li se dozvědět více o bezpečnostní politice LibreCode, kontaktujte nás.\n\n## Práva držitelů údajů\n\nPodle čl. 18 LGPD a GDPR mají uživatelé právo na přístup, opravu, vymazání nebo přenos osobních údajů uživatele, kromě toho mohou omezit nebo v případě nesouhlasu se svým zpracováním, pokud je to odůvodněno oprávněným zájmem správce.\n\nChcete-li uplatnit svá práva, měli byste se obrátit na držitele údajů a/nebo na svého odpovědného pracovníka prostřednictvím e-mailu:** contato@librecode.coop.\n\n## Změny politiky ochrany osobních údajů\n\nSpolečnost LibreCode si vyhrazuje právo kdykoli změnit tyto Zásady ochrany osobních údajů. Změny budou platné ihned po zveřejnění na webových stránkách. Doporučujeme tyto zásady pravidelně kontrolovat.\n\n## Kontakt\n\nPro relativní dotazy k našim Zásadám ochrany osobních údajů nás kdykoli kontaktujte e-mailem: contato@librecode.coop.\n\nTyto Zásady ochrany osobních údajů byly naposledy aktualizovány dne 08. dubna 2024",
- "### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n": "### Pokročilé zabezpečení pro veřejné společnosti\n\nV digitálním prostředí, kde je bezpečnost informací klíčová, zejména pro veřejné společnosti, které pracují s velkými objemy citlivých dokumentů, vyniká LibreSign pokročilým zabezpečením. Pomocí šifrování dat a vícefaktorového ověřování zajišťuje LibreSign, že jsou vaše data vždy chráněna.\n\n#### Podívejte se na některé výhody:\n\nKoncové šifrování zajišťuje, že k obsahu dokumentu mohou přistupovat a číst jej pouze oprávnění příjemci. S LibreSign je každý dokument šifrován od odeslání až po finální podpis, což zajišťuje, že vaše informace zůstanou v bezpečí na každém kroku.\n\nToto šifrování chrání před odposlechem během přenosu a ukládání dokumentů a zajišťuje, že i v případě přístupu třetích stran budou data nerozluštitelná a nepoužitelná. Pro veřejné společnosti, které často pracují s důvěrnými informacemi, je toto dodatečné zabezpečení nezbytné pro ochranu integrity jejich administrativních procesů.\n\n#### Bezpečné ověřování\n\nLibreSign implementuje vícefaktorové ověřování (MFA), které ztěžuje neoprávněný přístup a zajišťuje, že dokumenty mohou podepisovat pouze ověřené osoby. Tato metoda vyžaduje, aby uživatelé před přístupem k dokumentům poskytli dvě nebo více forem ověření, což zvyšuje bezpečnost a spolehlivost procesu podepisování.\n\nKromě hesla může být například vyžadován kód zaslaný na mobilní telefon nebo e-mail uživatele. Tato další úroveň ověření zabraňuje neoprávněným osobám padělat podpisy nebo získat přístup k důležitým dokumentům. Pro veřejné organizace, kde jsou přesnost a odpovědnost prvořadé, poskytuje MFA nepostradatelnou další úroveň zabezpečení.\n\n### Význam digitálního zabezpečení ve veřejných společnostech\n\nVeřejné společnosti denně pracují s informacemi, které vyžadují nejvyšší úroveň zabezpečení. Od smluv a dohod až po legislativní dokumenty a záznamy občanů - ochrana těchto dat je klíčová. Jakékoli narušení bezpečnosti může mít vážné následky, včetně ztráty dat, neoprávněného přístupu k citlivým informacím a poškození dobrého jména organizace.\n\nSystém LibreSign byl vyvinut s důrazem na bezpečnost a efektivitu. Platforma zajišťuje, aby každý dokument prošel bezpečným procesem od vytvoření až po finální podpis. Tato úroveň detailu a péče je obzvláště důležitá ve scénáři, kde jsou spolehlivost a bezpečnost povinné.\n\n### Další výhody LibreSign\n\nKromě pokročilých bezpečnostních funkcí nabízí LibreSign i další výhody, díky nimž je správa dokumentů efektivnější a bezpečnější:\n\n- **Intuitivní rozhraní:** Platforma se snadno používá, takže se zaměstnanci mohou soustředit na své hlavní úkoly a neztrácet čas složitými systémy.\n- **Monitorování v reálném čase:** Sledování stavu dokumentů v reálném čase, které umožňuje rychlé akce, jako je zasílání upomínek za nevyřízené podpisy.\n- **Integrace s dalšími systémy:** Systém LibreSign lze integrovat s dalšími systémy používanými ve vaší organizaci, čímž získáte ucelenější a centralizovanější správu dokumentů.\n\n### Závěr\n\nBezpečnost vašich dokumentů nesmí být ohrožena. Se systémem LibreSign máte zaručenou maximální ochranu díky end-to-end šifrování a ověřování pomocí více identifikačních faktorů. Naše řešení je vyvinuto tak, aby splňovalo přísné bezpečnostní požadavky veřejných společností a zajistilo, že s každým dokumentem bude zacházeno s nejvyšší úrovní integrity a spolehlivosti.\n\nNečekejte, až se narušení bezpečnosti dotkne vaší organizace. Kontaktujte nás ještě dnes a dozvíte se více o tom, jak může LibreSign splnit potřeby vaší veřejné organizace. Naplánujte si ukázku a zjistěte, jak můžeme zlepšit správu dokumentů a administrativní efektivitu ve vaší instituci.\n\nChraňte své dokumenty, optimalizujte své procesy a zajistěte bezpečnost a efektivitu, kterou si vaše veřejná organizace zaslouží, pomocí LibreSign.\n",
"## Common problems in document management\n\nDocument management faces several common issues. Manual document signing can take days or even weeks, especially when multiple signatures are needed, delaying important processes and affecting the institution's operations. Moreover, manual handling of documents increases the chance of errors, leading to legal and administrative problems. The use of paper, printing, storage, and sending physical documents also generates significant costs for institutions. Finally, ensuring data security and compliance with laws, such as the LGPD (General Data Protection Law), is a constant challenge.\n\n### Real problem: Floods in Rio Grande do Sul\n\nA recent example that highlights the importance of document digitization is the floods in Rio Grande do Sul. Many schools and universities lost important physical documents due to the floods, resulting in enormous losses and difficulties in recovering essential information. The lack of digitization severely affected the administration and continuity of educational activities. This tragic event reinforces the urgent need to adopt digital solutions to protect important data and ensure the resilience of institutions against natural disasters.\n\n## LibreSign: The ideal solution\n\nLibreSign is a digital signature platform that allows educational institutions to digitize and automate document management, offering a secure, efficient, and cost-effective solution. With LibreSign, you reduce bureaucracy, save resources, and increase security.\n\nAmong its features, we highlight:\n\n1. Digital document signing using digital certificates (e-CPF, e-CNPJ, or system-generated certificates).\n2. Legal validity and compliance with Brazilian legislation, including the General Data Protection Law (LGPD), and the European Union's General Data Protection Regulation (GDPR).\n3. Centralizes the creation, storage, and signing of documents in a single system, facilitating access and management, reducing bureaucracy, and increasing the efficiency of academic offices.\n4. Uses advanced encryption to protect documents from unauthorized access, ensuring data integrity and confidentiality, which is essential for LGPD compliance.\n5. Eliminates the need for physical document sending, saving time and resources.\n\n### Examples of documents that can be signed\n\nLibreSign can be used to sign a wide variety of school and academic documents, including:\n\n1. Enrollment contracts\n2. Report cards and performance reports\n3. Certificates and diplomas\n4. Lesson plans\n5. Parental authorizations\n6. Statements and requests\n7. Various administrative forms\n\nUsing LibreSign for these documents increases practicality, security, efficiency, and legal compliance, benefiting both institutions and students.\n\n#### Discover the benefits of using LibreSign\n\n- Speed: Reduce the time needed to sign and process documents, increasing productivity.\n- Cost Reduction: Eliminate costs associated with paper, printing, and sending documents.\n- Security: Ensure the protection of sensitive data and compliance with the LGPD.\n- Sustainability: Contribute to environmental preservation by reducing paper usage.\n- Accessibility: Allow documents to be signed from anywhere, at any time, facilitating remote management.\n\nDigitizing signing processes is a crucial step towards modernizing educational institutions. LibreSign offers a complete solution that not only improves efficiency and reduces costs but also ensures data security and compliance. Transform your institution's document management with LibreSign and enjoy all the benefits of digital transformation.\n\n🌐 Contact us: [LibreSign Contact Us](https://libresign.coop/contact-us)\n": "## Běžné problémy při správě dokumentů\n\nSpráva dokumentů se potýká s několika běžnými problémy. Ruční podepisování dokumentů může trvat dny nebo dokonce týdny, zejména pokud je potřeba více podpisů, což zdržuje důležité procesy a ovlivňuje provoz instituce. Ruční zpracování dokumentů navíc zvyšuje pravděpodobnost chyb, což vede k právním a administrativním problémům. Používání papíru, tisk, ukládání a odesílání fyzických dokumentů také vytváří institucím značné náklady. V neposlední řadě je neustálou výzvou zajištění bezpečnosti dat a dodržování zákonů, jako je například obecný zákon o ochraně osobních údajů (LGPD).\n\n### Skutečný problém: Záplavy v Rio Grande do Sul\n\nNedávným příkladem, který podtrhuje význam digitalizace dokumentů, jsou povodně v Rio Grande do Sul. Mnoho škol a univerzit přišlo v důsledku povodní o důležité fyzické dokumenty, což vedlo k obrovským ztrátám a obtížím při obnově základních informací. Absence digitalizace vážně ovlivnila správu a kontinuitu vzdělávacích aktivit. Tato tragická událost posiluje naléhavou potřebu přijmout digitální řešení na ochranu důležitých dat a zajistit odolnost institucí proti přírodním katastrofám.\n\n## LibreSign: ideální řešení\n\nLibreSign je platforma pro digitální podpisy, která umožňuje vzdělávacím institucím digitalizovat a automatizovat správu dokumentů a nabízí bezpečné, efektivní a nákladově efektivní řešení. S LibreSign snížíte byrokracii, ušetříte zdroje a zvýšíte bezpečnost.\n\nMezi jejími funkcemi vyzdvihujeme např:\n\n1. Digitální podepisování dokumentů pomocí digitálních certifikátů (e-CPF, e-CNPJ nebo systémem generovaných certifikátů).\n2. Právní platnost a soulad s brazilskou legislativou, včetně obecného zákona o ochraně osobních údajů (LGPD) a obecného nařízení Evropské unie o ochraně osobních údajů (GDPR).\n3. Centralizace vytváření, ukládání a podepisování dokumentů v jediném systému, což usnadňuje přístup a správu, snižuje byrokracii a zvyšuje efektivitu akademických pracovišť.\n4. Využívá pokročilé šifrování k ochraně dokumentů před neoprávněným přístupem, čímž zajišťuje integritu a důvěrnost dat, což je nezbytné pro dodržování LGPD.\n5. Eliminuje potřebu fyzického zasílání dokumentů, čímž šetří čas a zdroje.\n\n### Příklady dokumentů, které lze podepsat\n\nLibreSign lze použít k podepisování široké škály školních a akademických dokumentů, včetně:\n\n1. Zápisové smlouvy\n2. Vysvědčení a zprávy o výsledcích\n3. Vysvědčení a diplomy\n4. Plány výuky\n5. Pověření rodičů\n6. Prohlášení a žádosti\n7. Různé administrativní formuláře\n\nPoužití systému LibreSign pro tyto dokumenty zvyšuje praktičnost, bezpečnost, efektivitu a soulad s právními předpisy, což přináší výhody institucím i studentům.\n\n#### Objevte výhody používání LibreSign.\n\n- Rychlost: Zkraťte dobu potřebnou k podepisování a zpracování dokumentů a zvyšte produktivitu.\n- Snížení nákladů: Eliminace nákladů spojených s papírem, tiskem a odesíláním dokumentů.\n- Bezpečnost: Zajištění ochrany citlivých údajů a souladu se směrnicí LGPD.\n- Udržitelnost: Přispějte k ochraně životního prostředí snížením spotřeby papíru.\n- Dostupnost: Umožňuje podepisovat dokumenty odkudkoli a kdykoli a usnadňuje vzdálenou správu.\n\nDigitalizace podpisových procesů je zásadním krokem k modernizaci vzdělávacích institucí. LibreSign nabízí kompletní řešení, které nejen zvyšuje efektivitu a snižuje náklady, ale také zajišťuje bezpečnost dat a dodržování předpisů. Transformujte správu dokumentů své instituce pomocí LibreSign a využívejte všech výhod digitální transformace.\n\n🌐 Kontaktujte nás: [LibreSign Kontaktujte nás](https://libresign.coop/contact-us)\n",
- "### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n": "### Monitorování v reálném čase - Transformace správy dokumentů ve veřejných organizacích pomocí LibreSign\n\nEfektivní a transparentní správa dokumentů je stálou výzvou pro mnoho organizací, zejména těch ve veřejném sektoru, kde je podepisování velkých objemů dokumentů rutinou. Nedostatek přehledu a kontroly nad stavem podpisů může vést ke zpoždění a značné ztrátě produktivity, což má negativní dopad na každodenní služby a provoz.\n\nPředstavte si, že si nejste jisti, zda byl důležitý dokument podepsán, nebo ještě hůře, že zjistíte, že je třeba provést neodkladné úkony, když už je pozdě. Tento scénář nejenže vyvolává frustraci, ale může také ohrozit efektivitu a důvěryhodnost organizace. Právě v této souvislosti vyniká LibreSign, který nabízí řešení, jež zajišťuje naprostou transparentnost a kontrolu nad procesem podepisování dokumentů.\n\n### Hlavní výhody monitorování v reálném čase s LibreSign\n\n#### 1. Podrobné a okamžité sledování\n\nMonitorování v reálném čase v systému LibreSign umožňuje sledovat každý krok procesu podepisování. To znamená, že kdykoli můžete zkontrolovat, zda byl dokument podepsán, nebo zda ještě čeká na provedení úkonů. Tento okamžitý přehled je nezbytný pro zajištění toho, aby dokumenty nestály na místě a aby všechny zúčastněné strany dodržovaly své termíny.\n\n#### 2. Zasílání automatických upomínek\n\nKdyž dokument čeká na podpis, LibreSign umožňuje zasílat signatářům upomínky. Tato funkce zajišťuje, že jsou všichni upozorněni a mohou rychle jednat, čímž se předejde zbytečným průtahům. Ve veřejných organizacích, kde jsou rychlost a přesnost zásadní, je tato možnost automatického připomínání signatářům velmi významným rozlišovacím prvkem.\n\n#### 3. Rychlé řešení problémů\n\nDíky monitorování v reálném čase lze problémy identifikovat a řešit okamžitě. Sledováním průběhu vyřizování dokumentů lze odhalit případné překážky nebo zpoždění a podniknout potřebné kroky k nápravě situace. Tato schopnost rychlé reakce zvyšuje efektivitu pracovního postupu a zajišťuje, že dokumenty budou podepsány ve stanovených termínech.\n\n#### 4. Intuitivní ovládací panel\n\nInteraktivní řídicí panel LibreSign vám poskytuje jasný a podrobný přehled o stavu každého dokumentu. Toto intuitivní rozhraní usnadňuje správu a sledování více souběžných podpisů, což umožňuje týmu soustředit se na strategičtější úkoly s vědomím, že se o kontrolu a sledování dokumentů stará systém.\n\n#### Proč veřejné organizace potřebují LibreSign?\n\nVeřejné organizace pracují s velkými objemy dokumentů, které musí být podepsány různými stranami, často na různých místech. Efektivita správy těchto podpisů je nezbytná pro udržení správných administrativních procesů a zajištění kontinuity služeb. LibreSign nejen urychluje proces podepisování, ale také zlepšuje organizaci a produktivitu týmu tím, že centralizuje správu podpisů v jediném panelu.\n\n### Příklady aplikací pro monitorování v reálném čase\n\n1. **Vládní úřady:**\n\nVe vládních odděleních, kde je podepisování úředních dokumentů každodenní činností, zajišťuje monitorování v reálném čase, aby byly všechny dokumenty podepsány včas a aby nebyly opomenuty žádné důležité detaily.\n\n2. **Nemocnice a zdravotnické služby:**\n\nV nemocnicích a zdravotnických službách může efektivní správa dokumentů doslova zachraňovat životy. Schopnost sledovat podpisy receptů a povolení, receptů a dalších důležitých dokumentů v reálném čase zajišťuje, že pacienti dostanou potřebnou péči bez zpoždění.\n\n3. **Vzdělávací sektor:**\n\nŠkoly, univerzity a další vzdělávací instituce mohou využívat výhod systému LibreSign díky efektivní a transparentní správě smluv s učiteli, souhlasů rodičů, záznamů o studentech a dalších důležitých dokumentů.\n\nZavedení monitorování v reálném čase pomocí LibreSign přináší revoluci ve správě dokumentů a zajišťuje transparentnější a efektivnější práci. Z této technologie mohou těžit zejména veřejné organizace, kterým zajistí, že jejich podpisové procesy budou agilní a dobře řízené.\n\nNedovolte, aby nedostatek přehledu a kontroly poškodil produktivitu vaší organizace. Vyzkoušejte LibreSign a změňte své procesy digitálního podepisování. Naplánujte si ukázku a zjistěte, jak můžeme zlepšit správu dokumentů a administrativní efektivitu ve vaší instituci.\n"
+ "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n": "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n",
+ "### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n": "### Pokročilé zabezpečení pro veřejné společnosti\n\nV digitálním prostředí, kde je bezpečnost informací klíčová, zejména pro veřejné společnosti, které pracují s velkými objemy citlivých dokumentů, vyniká LibreSign pokročilým zabezpečením. Pomocí šifrování dat a vícefaktorového ověřování zajišťuje LibreSign, že jsou vaše data vždy chráněna.\n\n#### Podívejte se na některé výhody:\n\nKoncové šifrování zajišťuje, že k obsahu dokumentu mohou přistupovat a číst jej pouze oprávnění příjemci. S LibreSign je každý dokument šifrován od odeslání až po finální podpis, což zajišťuje, že vaše informace zůstanou v bezpečí na každém kroku.\n\nToto šifrování chrání před odposlechem během přenosu a ukládání dokumentů a zajišťuje, že i v případě přístupu třetích stran budou data nerozluštitelná a nepoužitelná. Pro veřejné společnosti, které často pracují s důvěrnými informacemi, je toto dodatečné zabezpečení nezbytné pro ochranu integrity jejich administrativních procesů.\n\n#### Bezpečné ověřování\n\nLibreSign implementuje vícefaktorové ověřování (MFA), které ztěžuje neoprávněný přístup a zajišťuje, že dokumenty mohou podepisovat pouze ověřené osoby. Tato metoda vyžaduje, aby uživatelé před přístupem k dokumentům poskytli dvě nebo více forem ověření, což zvyšuje bezpečnost a spolehlivost procesu podepisování.\n\nKromě hesla může být například vyžadován kód zaslaný na mobilní telefon nebo e-mail uživatele. Tato další úroveň ověření zabraňuje neoprávněným osobám padělat podpisy nebo získat přístup k důležitým dokumentům. Pro veřejné organizace, kde jsou přesnost a odpovědnost prvořadé, poskytuje MFA nepostradatelnou další úroveň zabezpečení.\n\n### Význam digitálního zabezpečení ve veřejných společnostech\n\nVeřejné společnosti denně pracují s informacemi, které vyžadují nejvyšší úroveň zabezpečení. Od smluv a dohod až po legislativní dokumenty a záznamy občanů - ochrana těchto dat je klíčová. Jakékoli narušení bezpečnosti může mít vážné následky, včetně ztráty dat, neoprávněného přístupu k citlivým informacím a poškození dobrého jména organizace.\n\nSystém LibreSign byl vyvinut s důrazem na bezpečnost a efektivitu. Platforma zajišťuje, aby každý dokument prošel bezpečným procesem od vytvoření až po finální podpis. Tato úroveň detailu a péče je obzvláště důležitá ve scénáři, kde jsou spolehlivost a bezpečnost povinné.\n\n### Další výhody LibreSign\n\nKromě pokročilých bezpečnostních funkcí nabízí LibreSign i další výhody, díky nimž je správa dokumentů efektivnější a bezpečnější:\n\n- **Intuitivní rozhraní:** Platforma se snadno používá, takže se zaměstnanci mohou soustředit na své hlavní úkoly a neztrácet čas složitými systémy.\n- **Monitorování v reálném čase:** Sledování stavu dokumentů v reálném čase, které umožňuje rychlé akce, jako je zasílání upomínek za nevyřízené podpisy.\n- **Integrace s dalšími systémy:** Systém LibreSign lze integrovat s dalšími systémy používanými ve vaší organizaci, čímž získáte ucelenější a centralizovanější správu dokumentů.\n\n### Závěr\n\nBezpečnost vašich dokumentů nesmí být ohrožena. Se systémem LibreSign máte zaručenou maximální ochranu díky end-to-end šifrování a ověřování pomocí více identifikačních faktorů. Naše řešení je vyvinuto tak, aby splňovalo přísné bezpečnostní požadavky veřejných společností a zajistilo, že s každým dokumentem bude zacházeno s nejvyšší úrovní integrity a spolehlivosti.\n\nNečekejte, až se narušení bezpečnosti dotkne vaší organizace. Kontaktujte nás ještě dnes a dozvíte se více o tom, jak může LibreSign splnit potřeby vaší veřejné organizace. Naplánujte si ukázku a zjistěte, jak můžeme zlepšit správu dokumentů a administrativní efektivitu ve vaší instituci.\n\nChraňte své dokumenty, optimalizujte své procesy a zajistěte bezpečnost a efektivitu, kterou si vaše veřejná organizace zaslouží, pomocí LibreSign.\n",
+ "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n": "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n",
+ "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n": "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n",
+ "### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n": "### Monitorování v reálném čase - Transformace správy dokumentů ve veřejných organizacích pomocí LibreSign\n\nEfektivní a transparentní správa dokumentů je stálou výzvou pro mnoho organizací, zejména těch ve veřejném sektoru, kde je podepisování velkých objemů dokumentů rutinou. Nedostatek přehledu a kontroly nad stavem podpisů může vést ke zpoždění a značné ztrátě produktivity, což má negativní dopad na každodenní služby a provoz.\n\nPředstavte si, že si nejste jisti, zda byl důležitý dokument podepsán, nebo ještě hůře, že zjistíte, že je třeba provést neodkladné úkony, když už je pozdě. Tento scénář nejenže vyvolává frustraci, ale může také ohrozit efektivitu a důvěryhodnost organizace. Právě v této souvislosti vyniká LibreSign, který nabízí řešení, jež zajišťuje naprostou transparentnost a kontrolu nad procesem podepisování dokumentů.\n\n### Hlavní výhody monitorování v reálném čase s LibreSign\n\n#### 1. Podrobné a okamžité sledování\n\nMonitorování v reálném čase v systému LibreSign umožňuje sledovat každý krok procesu podepisování. To znamená, že kdykoli můžete zkontrolovat, zda byl dokument podepsán, nebo zda ještě čeká na provedení úkonů. Tento okamžitý přehled je nezbytný pro zajištění toho, aby dokumenty nestály na místě a aby všechny zúčastněné strany dodržovaly své termíny.\n\n#### 2. Zasílání automatických upomínek\n\nKdyž dokument čeká na podpis, LibreSign umožňuje zasílat signatářům upomínky. Tato funkce zajišťuje, že jsou všichni upozorněni a mohou rychle jednat, čímž se předejde zbytečným průtahům. Ve veřejných organizacích, kde jsou rychlost a přesnost zásadní, je tato možnost automatického připomínání signatářům velmi významným rozlišovacím prvkem.\n\n#### 3. Rychlé řešení problémů\n\nDíky monitorování v reálném čase lze problémy identifikovat a řešit okamžitě. Sledováním průběhu vyřizování dokumentů lze odhalit případné překážky nebo zpoždění a podniknout potřebné kroky k nápravě situace. Tato schopnost rychlé reakce zvyšuje efektivitu pracovního postupu a zajišťuje, že dokumenty budou podepsány ve stanovených termínech.\n\n#### 4. Intuitivní ovládací panel\n\nInteraktivní řídicí panel LibreSign vám poskytuje jasný a podrobný přehled o stavu každého dokumentu. Toto intuitivní rozhraní usnadňuje správu a sledování více souběžných podpisů, což umožňuje týmu soustředit se na strategičtější úkoly s vědomím, že se o kontrolu a sledování dokumentů stará systém.\n\n#### Proč veřejné organizace potřebují LibreSign?\n\nVeřejné organizace pracují s velkými objemy dokumentů, které musí být podepsány různými stranami, často na různých místech. Efektivita správy těchto podpisů je nezbytná pro udržení správných administrativních procesů a zajištění kontinuity služeb. LibreSign nejen urychluje proces podepisování, ale také zlepšuje organizaci a produktivitu týmu tím, že centralizuje správu podpisů v jediném panelu.\n\n### Příklady aplikací pro monitorování v reálném čase\n\n1. **Vládní úřady:**\n\nVe vládních odděleních, kde je podepisování úředních dokumentů každodenní činností, zajišťuje monitorování v reálném čase, aby byly všechny dokumenty podepsány včas a aby nebyly opomenuty žádné důležité detaily.\n\n2. **Nemocnice a zdravotnické služby:**\n\nV nemocnicích a zdravotnických službách může efektivní správa dokumentů doslova zachraňovat životy. Schopnost sledovat podpisy receptů a povolení, receptů a dalších důležitých dokumentů v reálném čase zajišťuje, že pacienti dostanou potřebnou péči bez zpoždění.\n\n3. **Vzdělávací sektor:**\n\nŠkoly, univerzity a další vzdělávací instituce mohou využívat výhod systému LibreSign díky efektivní a transparentní správě smluv s učiteli, souhlasů rodičů, záznamů o studentech a dalších důležitých dokumentů.\n\nZavedení monitorování v reálném čase pomocí LibreSign přináší revoluci ve správě dokumentů a zajišťuje transparentnější a efektivnější práci. Z této technologie mohou těžit zejména veřejné organizace, kterým zajistí, že jejich podpisové procesy budou agilní a dobře řízené.\n\nNedovolte, aby nedostatek přehledu a kontroly poškodil produktivitu vaší organizace. Vyzkoušejte LibreSign a změňte své procesy digitálního podepisování. Naplánujte si ukázku a zjistěte, jak můžeme zlepšit správu dokumentů a administrativní efektivitu ve vaší instituci.\n",
+ "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n": "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n",
+ "### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n": "### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n",
+ "- Pricing tailored to your operation\n- Deployment and support scope defined together": "- Pricing tailored to your operation\n- Deployment and support scope defined together",
+ "- Unlimited accounts\n- Storage customized": "- Unlimited accounts\n- Storage customized",
+ "A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.": "A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.",
+ "About": "About",
+ "About Us": "About Us",
+ "Access management by users or departments": "Access management by users or departments",
+ "Advanced security": "Advanced security",
+ "Agility and security are paramount in business transactions, and LibreSign emerges as the intelligent choice for diverse sectors. Developed by LibreCode, a cooperative of IT professionals, LibreSign embodies the Free and Open-Source Software (FOSS) philosophy. With robust security standards, it ensures the inviolability of electronic signatures, making it ideal for government, education, and corporate enterprises": "Agility and security are paramount in business transactions, and LibreSign emerges as the intelligent choice for diverse sectors. Developed by LibreCode, a cooperative of IT professionals, LibreSign embodies the Free and Open-Source Software (FOSS) philosophy. With robust security standards, it ensures the inviolability of electronic signatures, making it ideal for government, education, and corporate enterprises",
+ "Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n": "Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n",
+ "Any Questions? Answered": "Any Questions? Answered",
+ "Beyond offering agility and security in digital signatures and document management, LibreSign features functionalities that adapt to the specific needs of your organization.": "Beyond offering agility and security in digital signatures and document management, LibreSign features functionalities that adapt to the specific needs of your organization.",
+ "Blog Page": "Blog Page",
+ "Business": "Business",
+ "Button to play characters captcha": "Button to play characters captcha",
+ "Button to reload characters captcha": "Button to reload characters captcha",
+ "By %s": "By %s",
+ "By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.": "By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.",
+ "CONTACT US": "CONTACT US",
+ "CRL (Certificate Revocation List) Implementation in LibreSign": "CRL (Certificate Revocation List) Implementation in LibreSign",
+ "Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!": "Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!",
+ "Cloud Storage": "Cloud Storage",
+ "Compare plans": "Compare plans",
+ "Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!": "Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!",
+ "Contact": "Contact",
+ "Contact us for pricing": "Contact us for pricing",
+ "Contact us to more informations": "Contact us to more informations",
+ "Contribute to a greener world by eliminating the use of paper.": "Contribute to a greener world by eliminating the use of paper.",
+ "Custom Quote": "Custom Quote",
+ "Customization of visual identity (colors, logo and domain)": "Customization of visual identity (colors, logo and domain)",
+ "Developed by": "Developed by",
+ "Did you know that digital signature is the safest and most efficient way to validate electronic documents?": "Did you know that digital signature is the safest and most efficient way to validate electronic documents?",
+ "Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.": "Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.",
+ "Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.": "Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.",
+ "Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.": "Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.",
+ "DocMDP (Document Modification Detection and Prevention) in LibreSign": "DocMDP (Document Modification Detection and Prevention) in LibreSign",
+ "Document management in education - Challenges and solutions with LibreSign": "Document management in education - Challenges and solutions with LibreSign",
+ "Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.": "Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.",
+ "Document validation by QR Code": "Document validation by QR Code",
+ "Easily create, send, sign and track all your contracts in one place": "Easily create, send, sign and track all your contracts in one place",
+ "Education": "Education",
+ "Electronic document management": "Electronic document management",
+ "Electronic signature capture is a technology for signing electronic document files with a handwritten signature. The use of this technology allows for the elimination of the mailing, storage, filing, copying, and retrieval of paper documents. This will save your business time and money.": "Electronic signature capture is a technology for signing electronic document files with a handwritten signature. The use of this technology allows for the elimination of the mailing, storage, filing, copying, and retrieval of paper documents. This will save your business time and money.",
+ "Encrypted signatures that guarantee the integrity of your documents.": "Encrypted signatures that guarantee the integrity of your documents.",
+ "Envelopes - Batch document signing in LibreSign": "Envelopes - Batch document signing in LibreSign",
+ "Features": "Features",
+ "File Creation, Signature with Digital Certificate, Signature Management, Document Management, Validation, API": "File Creation, Signature with Digital Certificate, Signature Management, Document Management, Validation, API",
+ "Fill in the fields below with your data": "Fill in the fields below with your data",
+ "Finally an excellent app for signing documents. Very good!": "Finally an excellent app for signing documents. Very good!",
+ "Free and open source software for electronic signatures": "Free and open source software for electronic signatures",
+ "Full Name": "Full Name",
+ "Home": "Home",
+ "Hybrid signatures": "Hybrid signatures",
+ "Hybrid signatures streamline negotiation processes, offering flexibility in choosing between personal or system-generated digital certificates for signing documents digitally with LibreSign": "Hybrid signatures streamline negotiation processes, offering flexibility in choosing between personal or system-generated digital certificates for signing documents digitally with LibreSign",
+ "Image with captcha text": "Image with captcha text",
+ "In the digital era, ensuring security and efficiency in document validation is crucial. LibreSign, a leader in digital signature innovation, redefines the experience by introducing document validation through QR Code. This article will discuss how this functionality not only reinforces security but also provides greater agility in verifying digitally signed documents.\n\nThe validation of digital signature authenticity is quick and easy with the scanning of the code on the document. This eliminates time-consuming and complicated processes, providing a straightforward verification experience.\n\nUsing QR Code for validation not only adds a layer of security but also promotes transparency by providing instant access to essential details such as date, time, and signer identification. This transparency builds trust among the involved parties and makes the process clearer and more effective.\n\nMoreover, LibreSign is compatible with various platforms, making document validation even more accessible. With the use of QR Code, it's possible to validate documents anywhere, whether on mobile devices or computers.\n\nAnother advantage of QR Code usage in LibreSign is the reduction of paper consumption. Since validation is done digitally, there's no need to print documents to validate signatures, contributing to environmental preservation.\n\nWith all these advantages, QR Code validation in LibreSign becomes an efficient solution for companies and individuals seeking a secure and swift way to validate digital documents. Don't waste time on bureaucratic processes; try LibreSign now to explore new paths in document verification.\n": "In the digital era, ensuring security and efficiency in document validation is crucial. LibreSign, a leader in digital signature innovation, redefines the experience by introducing document validation through QR Code. This article will discuss how this functionality not only reinforces security but also provides greater agility in verifying digitally signed documents.\n\nThe validation of digital signature authenticity is quick and easy with the scanning of the code on the document. This eliminates time-consuming and complicated processes, providing a straightforward verification experience.\n\nUsing QR Code for validation not only adds a layer of security but also promotes transparency by providing instant access to essential details such as date, time, and signer identification. This transparency builds trust among the involved parties and makes the process clearer and more effective.\n\nMoreover, LibreSign is compatible with various platforms, making document validation even more accessible. With the use of QR Code, it's possible to validate documents anywhere, whether on mobile devices or computers.\n\nAnother advantage of QR Code usage in LibreSign is the reduction of paper consumption. Since validation is done digitally, there's no need to print documents to validate signatures, contributing to environmental preservation.\n\nWith all these advantages, QR Code validation in LibreSign becomes an efficient solution for companies and individuals seeking a secure and swift way to validate digital documents. Don't waste time on bureaucratic processes; try LibreSign now to explore new paths in document verification.\n",
+ "In the face of common challenges in digital signature processes, hybrid signatures present an effective solution. As a pioneer in this innovation, LibreSign provides its users with the flexibility to choose between using their personal digital certificate (e-CPF or e-CNPJ) or the system-generated certificate to sign documents from anywhere in the world.\nThe digital certificate, whether e-CPF or e-CNPJ, plays a fundamental role in electronic signatures. Acquired through a Certification Authority, it serves as an electronic identity that validates documents and the identity of the holder. Stored on devices like tokens, smart cards, or in the cloud, the certificate is essential for ensuring legitimacy in digital signatures.\nA unique feature of LibreSign is its ability to generate its own Certification Authority. By opting for this feature, users receive a certificate generated internally by the system, streamlining the process and adding innovation and efficiency. The Certification Authority self-generated by LibreSign provides a secure and efficient solution, aligned with the standards of ICP-Brasil.\nSecurity and legal validity are paramount in each signature carried out by LibreSign, ensuring compliance with the rigorous standards established by ICP-Brasil. This guarantees the authenticity and legality of each signed document, meeting and exceeding the expectations of businesses in various sectors, including government, education, and corporate enterprises.\n\nLibreSign is redefining the future of digital signatures, inviting you to be part of this revolution. Join us to explore a new level of experience in electronic signatures.\n": "In the face of common challenges in digital signature processes, hybrid signatures present an effective solution. As a pioneer in this innovation, LibreSign provides its users with the flexibility to choose between using their personal digital certificate (e-CPF or e-CNPJ) or the system-generated certificate to sign documents from anywhere in the world.\nThe digital certificate, whether e-CPF or e-CNPJ, plays a fundamental role in electronic signatures. Acquired through a Certification Authority, it serves as an electronic identity that validates documents and the identity of the holder. Stored on devices like tokens, smart cards, or in the cloud, the certificate is essential for ensuring legitimacy in digital signatures.\nA unique feature of LibreSign is its ability to generate its own Certification Authority. By opting for this feature, users receive a certificate generated internally by the system, streamlining the process and adding innovation and efficiency. The Certification Authority self-generated by LibreSign provides a secure and efficient solution, aligned with the standards of ICP-Brasil.\nSecurity and legal validity are paramount in each signature carried out by LibreSign, ensuring compliance with the rigorous standards established by ICP-Brasil. This guarantees the authenticity and legality of each signed document, meeting and exceeding the expectations of businesses in various sectors, including government, education, and corporate enterprises.\n\nLibreSign is redefining the future of digital signatures, inviting you to be part of this revolution. Join us to explore a new level of experience in electronic signatures.\n",
+ "Invalid Captcha": "Invalid Captcha",
+ "Is a digital signature the same as a digitized signature?": "Is a digital signature the same as a digitized signature?",
+ "It works perfectly with the electronic certificate issued by the Spanish Government. Installation has become very simple and affordable for anyone with minimal knowledge of Nextcloud. Developer support is fantastic. It works on all devices, including mobile devices. It has different options for creating, requesting and signing signatures. Version 9 is a great leap in quality and has a lot of future. It's incredible that this application works so well and is free.": "It works perfectly with the electronic certificate issued by the Spanish Government. Installation has become very simple and affordable for anyone with minimal knowledge of Nextcloud. Developer support is fantastic. It works on all devices, including mobile devices. It has different options for creating, requesting and signing signatures. Version 9 is a great leap in quality and has a lot of future. It's incredible that this application works so well and is free.",
+ "Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.": "Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.",
+ "Language": "Language",
+ "Last articles": "Last articles",
+ "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.": "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.",
+ "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.": "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.",
+ "Learn more": "Learn more",
+ "Legal validity of electronic signatures in Brazil and around the world": "Legal validity of electronic signatures in Brazil and around the world",
+ "Let’s talk about digitally signing your documents!": "Let’s talk about digitally signing your documents!",
+ "LibreCode, a Brazilian cooperative of free software developers.": "LibreCode, a Brazilian cooperative of free software developers.",
+ "LibreSign API Guide": "LibreSign API Guide",
+ "LibreSign GitHub repository": "LibreSign GitHub repository",
+ "LibreSign Instagram profile": "LibreSign Instagram profile",
+ "LibreSign LinkedIn page": "LibreSign LinkedIn page",
+ "LibreSign Telegram group": "LibreSign Telegram group",
+ "LibreSign allows documents to be signed securely and with legal validity, since the system generates hashing - an algorithm that ensures that the file has not been altered after being signed - as well as numbers and records the times of each signature carried out in the document. In this way, the system meets all the requirements of the GDPR - General Data Protection Law.": "LibreSign allows documents to be signed securely and with legal validity, since the system generates hashing - an algorithm that ensures that the file has not been altered after being signed - as well as numbers and records the times of each signature carried out in the document. In this way, the system meets all the requirements of the GDPR - General Data Protection Law.",
+ "LibreSign frequently asked questions": "LibreSign frequently asked questions",
+ "LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.": "LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.",
+ "LibreSign is a web application for electronic signatures (e-Sign) developed by the LibreCode cooperative (Brazilian cooperative specialized in free software development). Its development began at the beginning of 2020, in the midst of the pandemic, when people and companies were migrating their physical documentation to digital, and then there was a need to develop a web solution that could offer the possibility of signing documents, contracts and proposals online with security and agility.": "LibreSign is a web application for electronic signatures (e-Sign) developed by the LibreCode cooperative (Brazilian cooperative specialized in free software development). Its development began at the beginning of 2020, in the midst of the pandemic, when people and companies were migrating their physical documentation to digital, and then there was a need to develop a web solution that could offer the possibility of signing documents, contracts and proposals online with security and agility.",
+ "LibreSign is the ideal choice for educational institutions looking to enhance their document processes with legal validity. Simplify the signing of contracts, authorizations, and other essential documents for academic administration. Promote effective document management, providing a streamlined and modern experience for students, teachers, and administrative staff.": "LibreSign is the ideal choice for educational institutions looking to enhance their document processes with legal validity. Simplify the signing of contracts, authorizations, and other essential documents for academic administration. Promote effective document management, providing a streamlined and modern experience for students, teachers, and administrative staff.",
+ "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.": "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.",
+ "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.": "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.",
+ "LibreSign revolutionizes document authenticity verification with QR Code, ensuring security, efficiency, and practicality. Its instantaneous validation, agility, transparency, and compatibility with various platforms make it perfect for sustainable businesses. Try this solution now!": "LibreSign revolutionizes document authenticity verification with QR Code, ensuring security, efficiency, and practicality. Its instantaneous validation, agility, transparency, and compatibility with various platforms make it perfect for sustainable businesses. Try this solution now!",
+ "Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.": "Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.",
+ "Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.": "Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.",
+ "Main features": "Main features",
+ "Maximize your workflow efficiency with LibreSign's API integration. Automate digital signature processes, minimize manual errors and improve security. Our API makes it easy to incorporate digital signature functionality into your existing systems.": "Maximize your workflow efficiency with LibreSign's API integration. Automate digital signature processes, minimize manual errors and improve security. Our API makes it easy to incorporate digital signature functionality into your existing systems.",
+ "Message": "Message",
+ "Multiple signers": "Multiple signers",
+ "Need more features?": "Need more features?",
+ "No. The digitized signature is the reproduction of the handwritten signature as an image using scanner-type. It does not guarantee the authorship and of the electronic document, as there is no association between the signer and the text, as it can be easily copied and inserted another document.": "No. The digitized signature is the reproduction of the handwritten signature as an image using scanner-type. It does not guarantee the authorship and of the electronic document, as there is no association between the signer and the text, as it can be easily copied and inserted another document.",
+ "Online document creation and editing": "Online document creation and editing",
+ "Optimize document management in the public sector with LibreSign. Our solution provides effective administration to handle specific government documentation, ensuring security, speed, and strict compliance with the General Data Protection Law (GDPR). Simplify bureaucratic processes, expedite document signing, and promote more efficient management with LibreSign for the public sector.": "Optimize document management in the public sector with LibreSign. Our solution provides effective administration to handle specific government documentation, ensuring security, speed, and strict compliance with the General Data Protection Law (GDPR). Simplify bureaucratic processes, expedite document signing, and promote more efficient management with LibreSign for the public sector.",
+ "Our Pricing Plans": "Our Pricing Plans",
+ "Our electronic signature and document management solution streamline workflows, reducing time spent on manual processes. Achieve greater productivity, promote document security, and ensure compliance with the General Data Protection Law (GDPR), providing an agile experience for your clients and collaborators.": "Our electronic signature and document management solution streamline workflows, reducing time spent on manual processes. Achieve greater productivity, promote document security, and ensure compliance with the General Data Protection Law (GDPR), providing an agile experience for your clients and collaborators.",
+ "Page to national movement that valozie cooperative initiatives.": "Page to national movement that valozie cooperative initiatives.",
+ "Phone": "Phone",
+ "Posts": "Posts",
+ "Pricing": "Pricing",
+ "Privacy policy": "Privacy policy",
+ "Privacy policy term": "Privacy policy term",
+ "Private companies": "Private companies",
+ "Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.": "Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.",
+ "Public sector": "Public sector",
+ "Real-time monitoring": "Real-time monitoring",
+ "Security": "Security",
+ "Send Message": "Send Message",
+ "Sending reminder by email": "Sending reminder by email",
+ "Sign and send documents in seconds, from anywhere in the world.": "Sign and send documents in seconds, from anywhere in the world.",
+ "Signature Order - Sequential or Parallel Signing in LibreSign": "Signature Order - Sequential or Parallel Signing in LibreSign",
+ "Simple electronic signature (without digital certificate) unlimited": "Simple electronic signature (without digital certificate) unlimited",
+ "Simplify your digital signatures and document management safely and efficiently": "Simplify your digital signatures and document management safely and efficiently",
+ "Speed": "Speed",
+ "Streamline the signing of digital documents for multiple individuals, ensuring legal validity, security, and collaboration. Expedite contract processes between departments, eliminating the need for in-person meetings. Embrace efficiency and collaboration with LibreSign, guiding your organization towards seamless digital transformation": "Streamline the signing of digital documents for multiple individuals, ensuring legal validity, security, and collaboration. Expedite contract processes between departments, eliminating the need for in-person meetings. Embrace efficiency and collaboration with LibreSign, guiding your organization towards seamless digital transformation",
+ "Sustainability": "Sustainability",
+ "TAILORED PRICING": "TAILORED PRICING",
+ "Talk to sales": "Talk to sales",
+ "Target audience": "Target audience",
+ "Task control and management": "Task control and management",
+ "Technical support": "Technical support",
+ "Testimonials": "Testimonials",
+ "Thank you!": "Thank you!",
+ "The Digital Revolution in Public Administration - Integrating e-Cidade with LibreSign": "The Digital Revolution in Public Administration - Integrating e-Cidade with LibreSign",
+ "The agility and convenience of using technology to our advantage to reduce time and costs have made digital signatures a viable alternative for businesses, especially after the pandemic period. In an increasingly competitive market, saving time and resources, increasing productivity, and investing in sustainability have become essential to improving the customer experience. The digital signature market in Brazil is on the rise, and to ensure the authenticity and integrity of this service, we need to better understand what it is, its types, advantages, and how to obtain it.\n\n### What is a digital signature?\nA digital signature is a secure technology for authenticating electronic documents for individuals or companies, with legal validity. We live in a scenario where the exchange of information increasingly occurs online, making it necessary to ensure the guarantee, integrity, and authenticity of documents.\n\nDigital signatures use encryption to validate the user's identity and ensure that the document's content has not been altered after signing. This means that the signature has the same legal value as a handwritten signature recognized by a notary. However, digital signatures eliminate the need for sending, storing, archiving, copying, and retrieving paper documents.\n\nIt is important to clarify that a digital signature is a type of electronic signature, but not all electronic signatures are digital. What does this mean? It means there are different ways to sign a document electronically, and it is essential to understand them.\n\n### What are the types of digital signatures?\nAs we’ve seen, a digital signature is a technology to confirm the identity of the signer, whether an individual or a company, and the authenticity of the document. But to understand the types of digital signatures, we need to know the categories of signatures that exist. Currently, there are four types of signatures: handwritten, scanned, electronic, and digital.\n\n### Comparison of Handwritten, Electronic, and Digital Signatures\n\n#### 1 - Handwritten Signature\n\nThe most traditional type of authentication, made manually with a pen on physical documents.\n\n- Requires in-person signing with a physical copy of the document.\n- Security depends on external factors, such as signature recognition at a notary office.\n- Requires physical storage of documents.\n\n##### Used in:\n- Signing company contracts.\n- Signature recognition at a notary office.\n- Formal physical documents.\n\n\n#### 2 - Electronic Signature\n\nA digitally performed signature, which can have different security levels according to Law 14.063/20 (Simple, Advanced, and Qualified Signatures).\n\n- **Simple**: Identifies the signer using basic evidence (email, password, phone). Suitable for low-risk situations.\n- **Advanced**: Uses cryptographic methods and corporate digital certificates (ICP-Brasil or external). Suitable for legal and financial transactions.\n- **Qualified**: Requires a digital certificate issued by a Certification Authority (CA) accredited by ICP-Brasil. Provides the highest level of security and detects any modifications made after signing.\n\n##### Used in:\n- **Simple**: Reports, receipts, service bookings.\n- **Advanced**: Financial transactions, sensitive contracts.\n- **Qualified**: Electronic invoices, health records, real estate transactions.\n\n\n#### 3 - Digital Signature\n\nA type of qualified electronic signature with a high level of security.\n\n- Requires a digital certificate issued by a CA under the ICP-Brasil standard.\n- The most secure form of electronic signature.\n- Ensures document integrity and authenticity, preventing undetected alterations.\n\n##### Used in:\n- Signing official documents.\n- Property transfers.\n- Issuing electronic invoices.\n\n\n### What are the advantages of digital signatures?\nWhile physical signatures can be forged, compromising the validity of your documents, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents with speed, authenticity, and integrity. Here are the five main advantages:\n\n1. Time savings: You save time that would be spent on manual processes, as digital signatures can be completed much faster and more efficiently, speeding up contract closures and negotiations.\n2. Cost reduction: By eliminating the need for physical storage space for company documents, you reduce costs associated with paper, printing supplies, transportation, postal services, couriers, notary fees, and more.\n3. Security: Digital signatures are protected by encryption, making them the most secure way to validate electronic documents. When using digital certificates issued by a Certification Authority, it is possible to guarantee the user’s identity and the document’s integrity, reducing the risk of fraud and forgery. Therefore, investing in information security is crucial to protect data, clients, and the company’s reputation.\n4. Sustainability: By using cloud storage instead of physical paper, we contribute to the environment and avoid the unnecessary use of resources.\n5. Organization and mobility: Easy access to documents since they are stored electronically and can be accessed and signed from anywhere with an internet connection.\n\n### How can I obtain a digital signature?\nThe LibreCode cooperative offers a digital signature platform called LibreSign, accessible via mobile devices or computers. This platform provides affordable and collaborative solutions, giving clients technological autonomy. Among its main features are the convenience of digitally signing documents and managing them through a Signature Portal compliant with Brazilian legal standards, such as the LGPD (General Data Protection Law) and ICP-Brasil.\n\nLibreSign offers functionalities tailored to the specific needs of each organization. The platform’s solutions are based on open-source software, promoting open access to knowledge and collaboration, ensuring clients’ sovereignty over the technology they use. The service focuses on customization and accessibility, catering to small businesses, large organizations, and government entities alike.\n\nSecurity breaches can have serious consequences for a brand, including data loss, unauthorized access to confidential information, and damage to a company’s reputation. With this in mind, LibreSign’s greatest advantage is its security effectiveness. The platform implements multi-factor authentication (MFA), which further restricts unauthorized access and ensures that only verified individuals can sign documents. It also allows signer identification through various factors, such as email tokens, SMS, and WhatsApp messages. This method requires users to provide two or more forms of verification before accessing and signing documents, making the signing process much more secure. Each document is encrypted from sending to final signature. This ensures that your information remains secure at every step, meaning only authorized recipients can access and read the document’s content.\n\nTo learn more about our service, contact us at +55 (21) 2042-2073 or via email at [contato@librecode.coop](mailto:contato@librecode.coop). Schedule a demo and discover how we can improve your document management and administrative efficiency. Also, check out our next topic: “How to create a digital signature.”\n": "The agility and convenience of using technology to our advantage to reduce time and costs have made digital signatures a viable alternative for businesses, especially after the pandemic period. In an increasingly competitive market, saving time and resources, increasing productivity, and investing in sustainability have become essential to improving the customer experience. The digital signature market in Brazil is on the rise, and to ensure the authenticity and integrity of this service, we need to better understand what it is, its types, advantages, and how to obtain it.\n\n### What is a digital signature?\nA digital signature is a secure technology for authenticating electronic documents for individuals or companies, with legal validity. We live in a scenario where the exchange of information increasingly occurs online, making it necessary to ensure the guarantee, integrity, and authenticity of documents.\n\nDigital signatures use encryption to validate the user's identity and ensure that the document's content has not been altered after signing. This means that the signature has the same legal value as a handwritten signature recognized by a notary. However, digital signatures eliminate the need for sending, storing, archiving, copying, and retrieving paper documents.\n\nIt is important to clarify that a digital signature is a type of electronic signature, but not all electronic signatures are digital. What does this mean? It means there are different ways to sign a document electronically, and it is essential to understand them.\n\n### What are the types of digital signatures?\nAs we’ve seen, a digital signature is a technology to confirm the identity of the signer, whether an individual or a company, and the authenticity of the document. But to understand the types of digital signatures, we need to know the categories of signatures that exist. Currently, there are four types of signatures: handwritten, scanned, electronic, and digital.\n\n### Comparison of Handwritten, Electronic, and Digital Signatures\n\n#### 1 - Handwritten Signature\n\nThe most traditional type of authentication, made manually with a pen on physical documents.\n\n- Requires in-person signing with a physical copy of the document.\n- Security depends on external factors, such as signature recognition at a notary office.\n- Requires physical storage of documents.\n\n##### Used in:\n- Signing company contracts.\n- Signature recognition at a notary office.\n- Formal physical documents.\n\n\n#### 2 - Electronic Signature\n\nA digitally performed signature, which can have different security levels according to Law 14.063/20 (Simple, Advanced, and Qualified Signatures).\n\n- **Simple**: Identifies the signer using basic evidence (email, password, phone). Suitable for low-risk situations.\n- **Advanced**: Uses cryptographic methods and corporate digital certificates (ICP-Brasil or external). Suitable for legal and financial transactions.\n- **Qualified**: Requires a digital certificate issued by a Certification Authority (CA) accredited by ICP-Brasil. Provides the highest level of security and detects any modifications made after signing.\n\n##### Used in:\n- **Simple**: Reports, receipts, service bookings.\n- **Advanced**: Financial transactions, sensitive contracts.\n- **Qualified**: Electronic invoices, health records, real estate transactions.\n\n\n#### 3 - Digital Signature\n\nA type of qualified electronic signature with a high level of security.\n\n- Requires a digital certificate issued by a CA under the ICP-Brasil standard.\n- The most secure form of electronic signature.\n- Ensures document integrity and authenticity, preventing undetected alterations.\n\n##### Used in:\n- Signing official documents.\n- Property transfers.\n- Issuing electronic invoices.\n\n\n### What are the advantages of digital signatures?\nWhile physical signatures can be forged, compromising the validity of your documents, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents with speed, authenticity, and integrity. Here are the five main advantages:\n\n1. Time savings: You save time that would be spent on manual processes, as digital signatures can be completed much faster and more efficiently, speeding up contract closures and negotiations.\n2. Cost reduction: By eliminating the need for physical storage space for company documents, you reduce costs associated with paper, printing supplies, transportation, postal services, couriers, notary fees, and more.\n3. Security: Digital signatures are protected by encryption, making them the most secure way to validate electronic documents. When using digital certificates issued by a Certification Authority, it is possible to guarantee the user’s identity and the document’s integrity, reducing the risk of fraud and forgery. Therefore, investing in information security is crucial to protect data, clients, and the company’s reputation.\n4. Sustainability: By using cloud storage instead of physical paper, we contribute to the environment and avoid the unnecessary use of resources.\n5. Organization and mobility: Easy access to documents since they are stored electronically and can be accessed and signed from anywhere with an internet connection.\n\n### How can I obtain a digital signature?\nThe LibreCode cooperative offers a digital signature platform called LibreSign, accessible via mobile devices or computers. This platform provides affordable and collaborative solutions, giving clients technological autonomy. Among its main features are the convenience of digitally signing documents and managing them through a Signature Portal compliant with Brazilian legal standards, such as the LGPD (General Data Protection Law) and ICP-Brasil.\n\nLibreSign offers functionalities tailored to the specific needs of each organization. The platform’s solutions are based on open-source software, promoting open access to knowledge and collaboration, ensuring clients’ sovereignty over the technology they use. The service focuses on customization and accessibility, catering to small businesses, large organizations, and government entities alike.\n\nSecurity breaches can have serious consequences for a brand, including data loss, unauthorized access to confidential information, and damage to a company’s reputation. With this in mind, LibreSign’s greatest advantage is its security effectiveness. The platform implements multi-factor authentication (MFA), which further restricts unauthorized access and ensures that only verified individuals can sign documents. It also allows signer identification through various factors, such as email tokens, SMS, and WhatsApp messages. This method requires users to provide two or more forms of verification before accessing and signing documents, making the signing process much more secure. Each document is encrypted from sending to final signature. This ensures that your information remains secure at every step, meaning only authorized recipients can access and read the document’s content.\n\nTo learn more about our service, contact us at +55 (21) 2042-2073 or via email at [contato@librecode.coop](mailto:contato@librecode.coop). Schedule a demo and discover how we can improve your document management and administrative efficiency. Also, check out our next topic: “How to create a digital signature.”\n",
+ "The perfect tool to manage the signature flow of your documents": "The perfect tool to manage the signature flow of your documents",
+ "Toggle navigation menu": "Toggle navigation menu",
+ "Transform document management in public organizations with LibreSign, monitoring signatures in real time, sending automatic reminders and optimizing your team's efficiency. Try our solution for transparent and productive administration.": "Transform document management in public organizations with LibreSign, monitoring signatures in real time, sending automatic reminders and optimizing your team's efficiency. Try our solution for transparent and productive administration.",
+ "Transform your processes with more security and efficiency": "Transform your processes with more security and efficiency",
+ "Type the code below": "Type the code below",
+ "Type your message here": "Type your message here",
+ "Type your name": "Type your name",
+ "Under Consultation": "Under Consultation",
+ "Unlimited subscription with A1 digital certificate": "Unlimited subscription with A1 digital certificate",
+ "We create digital experiences for brands and companies by using technology.": "We create digital experiences for brands and companies by using technology.",
+ "We offer flexible plans to meet your secure digital storage needs. Easily rent more space and ensure all your important documents are always accessible and protected in our high-security cloud.": "We offer flexible plans to meet your secure digital storage needs. Easily rent more space and ensure all your important documents are always accessible and protected in our high-security cloud.",
+ "We use PKI technology to generate digital certificate keys. LibreSign is open source (and always will be), which allows it to be audited and customized for various needs and integrated with any system and, of course, maintained by the community.": "We use PKI technology to generate digital certificate keys. LibreSign is open source (and always will be), which allows it to be audited and customized for various needs and integrated with any system and, of course, maintained by the community.",
+ "What are the key features of LibreCode signature pads?": "What are the key features of LibreCode signature pads?",
+ "What is a Digital Signature? Types, Advantages, and How to Obtain It?": "What is a Digital Signature? Types, Advantages, and How to Obtain It?",
+ "What is electronic signature capture?": "What is electronic signature capture?",
+ "What is the name of the company that LibreSign was developed by?": "What is the name of the company that LibreSign was developed by?",
+ "What our customers says": "What our customers says",
+ "Why LibreSign?": "Why LibreSign?",
+ "With the evolution of commercial and legal demands, the need to allow a digital document to be signed by multiple individuals stands out. This capability not only speeds up workflow, ensures legal validity, and fosters collaboration among various stakeholders but also enables all involved parties to view and sign as needed, regardless of location or time zone.\n\nEach digital signature is unique and linked to the signatory, ensuring the security, legal validity, and transparency of the document. Imagine, for example, a complex contract involving representatives from different departments of a company. With LibreSign, each stakeholder can review and sign the document simultaneously, eliminating the need for time-consuming in-person meetings and expediting the approval process.\n\nBy adopting the functionality of multiple signers in digital documents with LibreSign, companies can gain a competitive advantage, significantly reducing the time to complete contracts and agreements, ensuring legal validity, and promoting collaboration.\n\nIn the midst of digital transformation, LibreSign is not just a technological solution; it is a revolution in document management. Allow LibreSign to lead your organization toward an era of efficiency, security, and collaboration. We are ready to be part of your journey towards digital transformation!\n": "With the evolution of commercial and legal demands, the need to allow a digital document to be signed by multiple individuals stands out. This capability not only speeds up workflow, ensures legal validity, and fosters collaboration among various stakeholders but also enables all involved parties to view and sign as needed, regardless of location or time zone.\n\nEach digital signature is unique and linked to the signatory, ensuring the security, legal validity, and transparency of the document. Imagine, for example, a complex contract involving representatives from different departments of a company. With LibreSign, each stakeholder can review and sign the document simultaneously, eliminating the need for time-consuming in-person meetings and expediting the approval process.\n\nBy adopting the functionality of multiple signers in digital documents with LibreSign, companies can gain a competitive advantage, significantly reducing the time to complete contracts and agreements, ensuring legal validity, and promoting collaboration.\n\nIn the midst of digital transformation, LibreSign is not just a technological solution; it is a revolution in document management. Allow LibreSign to lead your organization toward an era of efficiency, security, and collaboration. We are ready to be part of your journey towards digital transformation!\n",
+ "e-Cidade is a system that modernizes and streamlines the administrative processes of Brazilian municipalities, promoting the digitalization of public administration. Used in several municipalities, it encompasses everything from financial and human resources management to school administration.\n\nTo expand its functionalities, there was a need to integrate e-Cidade with a legally valid electronic signature system, aiming to expedite online transactions. LibreSign was selected for its reliability, security, and compliance with Brazilian legal requirements. Here are some advantages:\n\n**Process automation:** \nLibreSign speeds up manual document processes such as appropriations, contracts, agreements, and authorizations, reducing the time to complete transactions and allowing public employees to focus on higher-impact activities.\n\n**Security:** \nBy using e-CPF, e-CNPJ, or certificates generated by the system itself, LibreSign ensures the integrity and authenticity of documents.\n\n**ICP-Brazil compliance:** \nEnsures that all electronic signatures comply with ICP-Brazil standards, guaranteeing the legality of the processes.\n\n**Sustainability:** \nReduces paper usage, contributing to environmental sustainability and minimizing the waste of natural resources.\n\n## Impact on public administration\n\n
\n\nThe union of LibreSign with e-Cidade transforms public administration, making it more secure and sustainable. Municipalities can offer high-quality services to citizens, minimizing delays and bureaucracy, and contributing to environmental preservation.\n\nWant to learn more about this integration?\n\nJoin the e-Cidade community event on 07/31 at 7:00 PM and discover how the integration of LibreSign can revolutionize public administration.\n\nThe event is free and will be held in the community's Telegram group: [eCidadeCE](https://t.me/eCidadeCE)\n\nTransform public administration with technology and innovation. Join us on this journey towards digital security and sustainability!": "e-Cidade is a system that modernizes and streamlines the administrative processes of Brazilian municipalities, promoting the digitalization of public administration. Used in several municipalities, it encompasses everything from financial and human resources management to school administration.\n\nTo expand its functionalities, there was a need to integrate e-Cidade with a legally valid electronic signature system, aiming to expedite online transactions. LibreSign was selected for its reliability, security, and compliance with Brazilian legal requirements. Here are some advantages:\n\n**Process automation:** \nLibreSign speeds up manual document processes such as appropriations, contracts, agreements, and authorizations, reducing the time to complete transactions and allowing public employees to focus on higher-impact activities.\n\n**Security:** \nBy using e-CPF, e-CNPJ, or certificates generated by the system itself, LibreSign ensures the integrity and authenticity of documents.\n\n**ICP-Brazil compliance:** \nEnsures that all electronic signatures comply with ICP-Brazil standards, guaranteeing the legality of the processes.\n\n**Sustainability:** \nReduces paper usage, contributing to environmental sustainability and minimizing the waste of natural resources.\n\n## Impact on public administration\n\n
\n\nThe union of LibreSign with e-Cidade transforms public administration, making it more secure and sustainable. Municipalities can offer high-quality services to citizens, minimizing delays and bureaucracy, and contributing to environmental preservation.\n\nWant to learn more about this integration?\n\nJoin the e-Cidade community event on 07/31 at 7:00 PM and discover how the integration of LibreSign can revolutionize public administration.\n\nThe event is free and will be held in the community's Telegram group: [eCidadeCE](https://t.me/eCidadeCE)\n\nTransform public administration with technology and innovation. Join us on this journey towards digital security and sustainability!"
}
diff --git a/lang/en/main.json b/lang/en/main.json
index fe62f1f2..e4e2b7d6 100644
--- a/lang/en/main.json
+++ b/lang/en/main.json
@@ -4,9 +4,8 @@
"### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n": "### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n",
"### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n": "### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n",
"### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n": "### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n",
- "$ 600/mo": "$ 600/mo",
+ "- Pricing tailored to your operation\n- Deployment and support scope defined together": "- Pricing tailored to your operation\n- Deployment and support scope defined together",
"- Unlimited accounts\n- Storage customized": "- Unlimited accounts\n- Customized storage",
- "- Until 5 accounts\n- Storage until 1Gb": "- Up to 5 accounts\n- Up to 1Gb storage",
"A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.": "A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.",
"About": "About",
"About Us": "About Us",
@@ -15,7 +14,6 @@
"Agility and security are paramount in business transactions, and LibreSign emerges as the intelligent choice for diverse sectors. Developed by LibreCode, a cooperative of IT professionals, LibreSign embodies the Free and Open-Source Software (FOSS) philosophy. With robust security standards, it ensures the inviolability of electronic signatures, making it ideal for government, education, and corporate enterprises": "Agility and security are paramount in business transactions, and LibreSign emerges as the intelligent choice for diverse sectors. Developed by LibreCode, a cooperative of IT professionals, LibreSign embodies the Free and Open-Source Software (FOSS) philosophy. With robust security standards, it ensures the inviolability of electronic signatures, making it ideal for government, education, and corporate enterprises",
"Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n": "Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n",
"Any Questions? Answered": "Any Questions? Answered",
- "Basic": "Basic",
"Beyond offering agility and security in digital signatures and document management, LibreSign features functionalities that adapt to the specific needs of your organization.": "Beyond offering agility and security in digital signatures and document management, LibreSign features functionalities that adapt to the specific needs of your organization.",
"Blog Page": "Blog Page",
"Business": "Business",
@@ -24,19 +22,23 @@
"By %s": "By %s",
"By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.": "By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.",
"CONTACT US": "CONTACT US",
+ "CRL (Certificate Revocation List) Implementation in LibreSign": "CRL (Certificate Revocation List) Implementation in LibreSign",
"Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!": "Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!",
"Cloud Storage": "Cloud Storage",
"Compare plans": "Compare plans",
"Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!": "Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!",
"Contact": "Contact",
+ "Contact us for pricing": "Contact us for pricing",
"Contact us to more informations": "Contact us for more information",
"Contribute to a greener world by eliminating the use of paper.": "Contribute to a greener world by eliminating the use of paper.",
+ "Custom Quote": "Custom Quote",
"Customization of visual identity (colors, logo and domain)": "Customization of visual identity (colors, logo and domain)",
"Developed by": "Developed by",
"Did you know that digital signature is the safest and most efficient way to validate electronic documents?": "Did you know that digital signature is the safest and most efficient way to validate electronic documents?",
"Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.": "Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.",
"Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.": "Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.",
"Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.": "Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.",
+ "DocMDP (Document Modification Detection and Prevention) in LibreSign": "DocMDP (Document Modification Detection and Prevention) in LibreSign",
"Document management in education - Challenges and solutions with LibreSign": "Document management in education - Challenges and solutions with LibreSign",
"Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.": "Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.",
"Document validation by QR Code": "Document validation by QR Code",
@@ -45,6 +47,7 @@
"Electronic document management": "Electronic document management",
"Electronic signature capture is a technology for signing electronic document files with a handwritten signature. The use of this technology allows for the elimination of the mailing, storage, filing, copying, and retrieval of paper documents. This will save your business time and money.": "Electronic signature capture is a technology for signing electronic document files with a handwritten signature. The use of this technology allows for the elimination of the mailing, storage, filing, copying, and retrieval of paper documents. This will save your business time and money.",
"Encrypted signatures that guarantee the integrity of your documents.": "Encrypted signatures that guarantee the integrity of your documents.",
+ "Envelopes - Batch document signing in LibreSign": "Envelopes - Batch document signing in LibreSign",
"Features": "Features",
"File Creation, Signature with Digital Certificate, Signature Management, Document Management, Validation, API": "File Creation, Signature with Digital Certificate, Signature Management, Document Management, Validation, API",
"Fill in the fields below with your data": "Fill in the fields below with your data",
@@ -63,6 +66,8 @@
"Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.": "Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.",
"Language": "Language",
"Last articles": "Last articles",
+ "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.": "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.",
+ "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.": "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.",
"Learn more": "Learn more",
"Legal validity of electronic signatures in Brazil and around the world": "Legal validity of electronic signatures in Brazil and around the world",
"Let’s talk about digitally signing your documents!": "Let’s talk about digitally signing your documents!",
@@ -77,6 +82,8 @@
"LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.": "LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.",
"LibreSign is a web application for electronic signatures (e-Sign) developed by the LibreCode cooperative (Brazilian cooperative specialized in free software development). Its development began at the beginning of 2020, in the midst of the pandemic, when people and companies were migrating their physical documentation to digital, and then there was a need to develop a web solution that could offer the possibility of signing documents, contracts and proposals online with security and agility.": "LibreSign is a web application for electronic signatures (e-Sign) developed by the LibreCode cooperative (Brazilian cooperative specialized in free software development). Its development began at the beginning of 2020, in the midst of the pandemic, when people and companies were migrating their physical documentation to digital, and then there was a need to develop a web solution that could offer the possibility of signing documents, contracts and proposals online with security and agility.",
"LibreSign is the ideal choice for educational institutions looking to enhance their document processes with legal validity. Simplify the signing of contracts, authorizations, and other essential documents for academic administration. Promote effective document management, providing a streamlined and modern experience for students, teachers, and administrative staff.": "LibreSign is the ideal choice for educational institutions looking to enhance their document processes with legal validity. Simplify the signing of contracts, authorizations, and other essential documents for academic administration. Promote effective document management, providing a streamlined and modern experience for students, teachers, and administrative staff.",
+ "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.": "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.",
+ "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.": "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.",
"LibreSign revolutionizes document authenticity verification with QR Code, ensuring security, efficiency, and practicality. Its instantaneous validation, agility, transparency, and compatibility with various platforms make it perfect for sustainable businesses. Try this solution now!": "LibreSign revolutionizes document authenticity verification with QR Code, ensuring security, efficiency, and practicality. Its instantaneous validation, agility, transparency, and compatibility with various platforms make it perfect for sustainable businesses. Try this solution now!",
"Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.": "Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.",
"Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.": "Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.",
@@ -100,16 +107,17 @@
"Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.": "Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.",
"Public sector": "Public sector",
"Real-time monitoring": "Real-time monitoring",
- "STARTING FROM": "STARTING FROM",
"Security": "Security",
"Send Message": "Send Message",
"Sending reminder by email": "Sending reminder by email",
"Sign and send documents in seconds, from anywhere in the world.": "Sign and send documents in seconds, from anywhere in the world.",
+ "Signature Order - Sequential or Parallel Signing in LibreSign": "Signature Order - Sequential or Parallel Signing in LibreSign",
"Simple electronic signature (without digital certificate) unlimited": "Simple electronic signature (without digital certificate) unlimited",
"Simplify your digital signatures and document management safely and efficiently": "Simplify your digital signatures and document management safely and efficiently",
"Speed": "Speed",
"Streamline the signing of digital documents for multiple individuals, ensuring legal validity, security, and collaboration. Expedite contract processes between departments, eliminating the need for in-person meetings. Embrace efficiency and collaboration with LibreSign, guiding your organization towards seamless digital transformation": "Streamline the signing of digital documents for multiple individuals, ensuring legal validity, security, and collaboration. Expedite contract processes between departments, eliminating the need for in-person meetings. Embrace efficiency and collaboration with LibreSign, guiding your organization towards seamless digital transformation",
"Sustainability": "Sustainability",
+ "TAILORED PRICING": "TAILORED PRICING",
"Talk to sales": "Talk to sales",
"Target audience": "Target audience",
"Task control and management": "Task control and management",
@@ -117,6 +125,7 @@
"Testimonials": "Testimonials",
"Thank you!": "Thank you!",
"The Digital Revolution in Public Administration - Integrating e-Cidade with LibreSign": "The Digital Revolution in Public Administration - Integrating e-Cidade with LibreSign",
+ "The agility and convenience of using technology to our advantage to reduce time and costs have made digital signatures a viable alternative for businesses, especially after the pandemic period. In an increasingly competitive market, saving time and resources, increasing productivity, and investing in sustainability have become essential to improving the customer experience. The digital signature market in Brazil is on the rise, and to ensure the authenticity and integrity of this service, we need to better understand what it is, its types, advantages, and how to obtain it.\n\n### What is a digital signature?\nA digital signature is a secure technology for authenticating electronic documents for individuals or companies, with legal validity. We live in a scenario where the exchange of information increasingly occurs online, making it necessary to ensure the guarantee, integrity, and authenticity of documents.\n\nDigital signatures use encryption to validate the user's identity and ensure that the document's content has not been altered after signing. This means that the signature has the same legal value as a handwritten signature recognized by a notary. However, digital signatures eliminate the need for sending, storing, archiving, copying, and retrieving paper documents.\n\nIt is important to clarify that a digital signature is a type of electronic signature, but not all electronic signatures are digital. What does this mean? It means there are different ways to sign a document electronically, and it is essential to understand them.\n\n### What are the types of digital signatures?\nAs we’ve seen, a digital signature is a technology to confirm the identity of the signer, whether an individual or a company, and the authenticity of the document. But to understand the types of digital signatures, we need to know the categories of signatures that exist. Currently, there are four types of signatures: handwritten, scanned, electronic, and digital.\n\n### Comparison of Handwritten, Electronic, and Digital Signatures\n\n#### 1 - Handwritten Signature\n\nThe most traditional type of authentication, made manually with a pen on physical documents.\n\n- Requires in-person signing with a physical copy of the document.\n- Security depends on external factors, such as signature recognition at a notary office.\n- Requires physical storage of documents.\n\n##### Used in:\n- Signing company contracts.\n- Signature recognition at a notary office.\n- Formal physical documents.\n\n\n#### 2 - Electronic Signature\n\nA digitally performed signature, which can have different security levels according to Law 14.063/20 (Simple, Advanced, and Qualified Signatures).\n\n- **Simple**: Identifies the signer using basic evidence (email, password, phone). Suitable for low-risk situations.\n- **Advanced**: Uses cryptographic methods and corporate digital certificates (ICP-Brasil or external). Suitable for legal and financial transactions.\n- **Qualified**: Requires a digital certificate issued by a Certification Authority (CA) accredited by ICP-Brasil. Provides the highest level of security and detects any modifications made after signing.\n\n##### Used in:\n- **Simple**: Reports, receipts, service bookings.\n- **Advanced**: Financial transactions, sensitive contracts.\n- **Qualified**: Electronic invoices, health records, real estate transactions.\n\n\n#### 3 - Digital Signature\n\nA type of qualified electronic signature with a high level of security.\n\n- Requires a digital certificate issued by a CA under the ICP-Brasil standard.\n- The most secure form of electronic signature.\n- Ensures document integrity and authenticity, preventing undetected alterations.\n\n##### Used in:\n- Signing official documents.\n- Property transfers.\n- Issuing electronic invoices.\n\n\n### What are the advantages of digital signatures?\nWhile physical signatures can be forged, compromising the validity of your documents, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents with speed, authenticity, and integrity. Here are the five main advantages:\n\n1. Time savings: You save time that would be spent on manual processes, as digital signatures can be completed much faster and more efficiently, speeding up contract closures and negotiations.\n2. Cost reduction: By eliminating the need for physical storage space for company documents, you reduce costs associated with paper, printing supplies, transportation, postal services, couriers, notary fees, and more.\n3. Security: Digital signatures are protected by encryption, making them the most secure way to validate electronic documents. When using digital certificates issued by a Certification Authority, it is possible to guarantee the user’s identity and the document’s integrity, reducing the risk of fraud and forgery. Therefore, investing in information security is crucial to protect data, clients, and the company’s reputation.\n4. Sustainability: By using cloud storage instead of physical paper, we contribute to the environment and avoid the unnecessary use of resources.\n5. Organization and mobility: Easy access to documents since they are stored electronically and can be accessed and signed from anywhere with an internet connection.\n\n### How can I obtain a digital signature?\nThe LibreCode cooperative offers a digital signature platform called LibreSign, accessible via mobile devices or computers. This platform provides affordable and collaborative solutions, giving clients technological autonomy. Among its main features are the convenience of digitally signing documents and managing them through a Signature Portal compliant with Brazilian legal standards, such as the LGPD (General Data Protection Law) and ICP-Brasil.\n\nLibreSign offers functionalities tailored to the specific needs of each organization. The platform’s solutions are based on open-source software, promoting open access to knowledge and collaboration, ensuring clients’ sovereignty over the technology they use. The service focuses on customization and accessibility, catering to small businesses, large organizations, and government entities alike.\n\nSecurity breaches can have serious consequences for a brand, including data loss, unauthorized access to confidential information, and damage to a company’s reputation. With this in mind, LibreSign’s greatest advantage is its security effectiveness. The platform implements multi-factor authentication (MFA), which further restricts unauthorized access and ensures that only verified individuals can sign documents. It also allows signer identification through various factors, such as email tokens, SMS, and WhatsApp messages. This method requires users to provide two or more forms of verification before accessing and signing documents, making the signing process much more secure. Each document is encrypted from sending to final signature. This ensures that your information remains secure at every step, meaning only authorized recipients can access and read the document’s content.\n\nTo learn more about our service, contact us at +55 (21) 2042-2073 or via email at [contato@librecode.coop](mailto:contato@librecode.coop). Schedule a demo and discover how we can improve your document management and administrative efficiency. Also, check out our next topic: “How to create a digital signature.”\n": "The agility and convenience of using technology to our advantage to reduce time and costs have made digital signatures a viable alternative for businesses, especially after the pandemic period. In an increasingly competitive market, saving time and resources, increasing productivity, and investing in sustainability have become essential to improving the customer experience. The digital signature market in Brazil is on the rise, and to ensure the authenticity and integrity of this service, we need to better understand what it is, its types, advantages, and how to obtain it.\n\n### What is a digital signature?\nA digital signature is a secure technology for authenticating electronic documents for individuals or companies, with legal validity. We live in a scenario where the exchange of information increasingly occurs online, making it necessary to ensure the guarantee, integrity, and authenticity of documents.\n\nDigital signatures use encryption to validate the user's identity and ensure that the document's content has not been altered after signing. This means that the signature has the same legal value as a handwritten signature recognized by a notary. However, digital signatures eliminate the need for sending, storing, archiving, copying, and retrieving paper documents.\n\nIt is important to clarify that a digital signature is a type of electronic signature, but not all electronic signatures are digital. What does this mean? It means there are different ways to sign a document electronically, and it is essential to understand them.\n\n### What are the types of digital signatures?\nAs we’ve seen, a digital signature is a technology to confirm the identity of the signer, whether an individual or a company, and the authenticity of the document. But to understand the types of digital signatures, we need to know the categories of signatures that exist. Currently, there are four types of signatures: handwritten, scanned, electronic, and digital.\n\n### Comparison of Handwritten, Electronic, and Digital Signatures\n\n#### 1 - Handwritten Signature\n\nThe most traditional type of authentication, made manually with a pen on physical documents.\n\n- Requires in-person signing with a physical copy of the document.\n- Security depends on external factors, such as signature recognition at a notary office.\n- Requires physical storage of documents.\n\n##### Used in:\n- Signing company contracts.\n- Signature recognition at a notary office.\n- Formal physical documents.\n\n\n#### 2 - Electronic Signature\n\nA digitally performed signature, which can have different security levels according to Law 14.063/20 (Simple, Advanced, and Qualified Signatures).\n\n- **Simple**: Identifies the signer using basic evidence (email, password, phone). Suitable for low-risk situations.\n- **Advanced**: Uses cryptographic methods and corporate digital certificates (ICP-Brasil or external). Suitable for legal and financial transactions.\n- **Qualified**: Requires a digital certificate issued by a Certification Authority (CA) accredited by ICP-Brasil. Provides the highest level of security and detects any modifications made after signing.\n\n##### Used in:\n- **Simple**: Reports, receipts, service bookings.\n- **Advanced**: Financial transactions, sensitive contracts.\n- **Qualified**: Electronic invoices, health records, real estate transactions.\n\n\n#### 3 - Digital Signature\n\nA type of qualified electronic signature with a high level of security.\n\n- Requires a digital certificate issued by a CA under the ICP-Brasil standard.\n- The most secure form of electronic signature.\n- Ensures document integrity and authenticity, preventing undetected alterations.\n\n##### Used in:\n- Signing official documents.\n- Property transfers.\n- Issuing electronic invoices.\n\n\n### What are the advantages of digital signatures?\nWhile physical signatures can be forged, compromising the validity of your documents, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents with speed, authenticity, and integrity. Here are the five main advantages:\n\n1. Time savings: You save time that would be spent on manual processes, as digital signatures can be completed much faster and more efficiently, speeding up contract closures and negotiations.\n2. Cost reduction: By eliminating the need for physical storage space for company documents, you reduce costs associated with paper, printing supplies, transportation, postal services, couriers, notary fees, and more.\n3. Security: Digital signatures are protected by encryption, making them the most secure way to validate electronic documents. When using digital certificates issued by a Certification Authority, it is possible to guarantee the user’s identity and the document’s integrity, reducing the risk of fraud and forgery. Therefore, investing in information security is crucial to protect data, clients, and the company’s reputation.\n4. Sustainability: By using cloud storage instead of physical paper, we contribute to the environment and avoid the unnecessary use of resources.\n5. Organization and mobility: Easy access to documents since they are stored electronically and can be accessed and signed from anywhere with an internet connection.\n\n### How can I obtain a digital signature?\nThe LibreCode cooperative offers a digital signature platform called LibreSign, accessible via mobile devices or computers. This platform provides affordable and collaborative solutions, giving clients technological autonomy. Among its main features are the convenience of digitally signing documents and managing them through a Signature Portal compliant with Brazilian legal standards, such as the LGPD (General Data Protection Law) and ICP-Brasil.\n\nLibreSign offers functionalities tailored to the specific needs of each organization. The platform’s solutions are based on open-source software, promoting open access to knowledge and collaboration, ensuring clients’ sovereignty over the technology they use. The service focuses on customization and accessibility, catering to small businesses, large organizations, and government entities alike.\n\nSecurity breaches can have serious consequences for a brand, including data loss, unauthorized access to confidential information, and damage to a company’s reputation. With this in mind, LibreSign’s greatest advantage is its security effectiveness. The platform implements multi-factor authentication (MFA), which further restricts unauthorized access and ensures that only verified individuals can sign documents. It also allows signer identification through various factors, such as email tokens, SMS, and WhatsApp messages. This method requires users to provide two or more forms of verification before accessing and signing documents, making the signing process much more secure. Each document is encrypted from sending to final signature. This ensures that your information remains secure at every step, meaning only authorized recipients can access and read the document’s content.\n\nTo learn more about our service, contact us at +55 (21) 2042-2073 or via email at [contato@librecode.coop](mailto:contato@librecode.coop). Schedule a demo and discover how we can improve your document management and administrative efficiency. Also, check out our next topic: “How to create a digital signature.”\n",
"The perfect tool to manage the signature flow of your documents": "The perfect tool to manage the signature flow of your documents",
"Toggle navigation menu": "Toggle navigation menu",
"Transform document management in public organizations with LibreSign, monitoring signatures in real time, sending automatic reminders and optimizing your team's efficiency. Try our solution for transparent and productive administration.": "Transform document management in public organizations with LibreSign, monitoring signatures in real time, sending automatic reminders and optimizing your team's efficiency. Try our solution for transparent and productive administration.",
@@ -136,6 +145,5 @@
"What our customers says": "What our customers says",
"Why LibreSign?": "Why LibreSign?",
"With the evolution of commercial and legal demands, the need to allow a digital document to be signed by multiple individuals stands out. This capability not only speeds up workflow, ensures legal validity, and fosters collaboration among various stakeholders but also enables all involved parties to view and sign as needed, regardless of location or time zone.\n\nEach digital signature is unique and linked to the signatory, ensuring the security, legal validity, and transparency of the document. Imagine, for example, a complex contract involving representatives from different departments of a company. With LibreSign, each stakeholder can review and sign the document simultaneously, eliminating the need for time-consuming in-person meetings and expediting the approval process.\n\nBy adopting the functionality of multiple signers in digital documents with LibreSign, companies can gain a competitive advantage, significantly reducing the time to complete contracts and agreements, ensuring legal validity, and promoting collaboration.\n\nIn the midst of digital transformation, LibreSign is not just a technological solution; it is a revolution in document management. Allow LibreSign to lead your organization toward an era of efficiency, security, and collaboration. We are ready to be part of your journey towards digital transformation!\n": "With the evolution of commercial and legal demands, the need to allow a digital document to be signed by multiple individuals stands out. This capability not only speeds up workflow, ensures legal validity, and fosters collaboration among various stakeholders but also enables all involved parties to view and sign as needed, regardless of location or time zone.\n\nEach digital signature is unique and linked to the signatory, ensuring the security, legal validity, and transparency of the document. Imagine, for example, a complex contract involving representatives from different departments of a company. With LibreSign, each stakeholder can review and sign the document simultaneously, eliminating the need for time-consuming in-person meetings and expediting the approval process.\n\nBy adopting the functionality of multiple signers in digital documents with LibreSign, companies can gain a competitive advantage, significantly reducing the time to complete contracts and agreements, ensuring legal validity, and promoting collaboration.\n\nIn the midst of digital transformation, LibreSign is not just a technological solution; it is a revolution in document management. Allow LibreSign to lead your organization toward an era of efficiency, security, and collaboration. We are ready to be part of your journey towards digital transformation!\n",
- "e-Cidade is a system that modernizes and streamlines the administrative processes of Brazilian municipalities, promoting the digitalization of public administration. Used in several municipalities, it encompasses everything from financial and human resources management to school administration.\n\nTo expand its functionalities, there was a need to integrate e-Cidade with a legally valid electronic signature system, aiming to expedite online transactions. LibreSign was selected for its reliability, security, and compliance with Brazilian legal requirements. Here are some advantages:\n\n**Process automation:** \nLibreSign speeds up manual document processes such as appropriations, contracts, agreements, and authorizations, reducing the time to complete transactions and allowing public employees to focus on higher-impact activities.\n\n**Security:** \nBy using e-CPF, e-CNPJ, or certificates generated by the system itself, LibreSign ensures the integrity and authenticity of documents.\n\n**ICP-Brazil compliance:** \nEnsures that all electronic signatures comply with ICP-Brazil standards, guaranteeing the legality of the processes.\n\n**Sustainability:** \nReduces paper usage, contributing to environmental sustainability and minimizing the waste of natural resources.\n\n## Impact on public administration\n\n
\n\nThe union of LibreSign with e-Cidade transforms public administration, making it more secure and sustainable. Municipalities can offer high-quality services to citizens, minimizing delays and bureaucracy, and contributing to environmental preservation.\n\nWant to learn more about this integration?\n\nJoin the e-Cidade community event on 07/31 at 7:00 PM and discover how the integration of LibreSign can revolutionize public administration.\n\nThe event is free and will be held in the community's Telegram group: [eCidadeCE](https://t.me/eCidadeCE)\n\nTransform public administration with technology and innovation. Join us on this journey towards digital security and sustainability!": "e-Cidade is a system that modernizes and streamlines the administrative processes of Brazilian municipalities, promoting the digitalization of public administration. Used in several municipalities, it encompasses everything from financial and human resources management to school administration.\n\nTo expand its functionalities, there was a need to integrate e-Cidade with a legally valid electronic signature system, aiming to expedite online transactions. LibreSign was selected for its reliability, security, and compliance with Brazilian legal requirements. Here are some advantages:\n\n**Process automation:** \nLibreSign speeds up manual document processes such as appropriations, contracts, agreements, and authorizations, reducing the time to complete transactions and allowing public employees to focus on higher-impact activities.\n\n**Security:** \nBy using e-CPF, e-CNPJ, or certificates generated by the system itself, LibreSign ensures the integrity and authenticity of documents.\n\n**ICP-Brazil compliance:** \nEnsures that all electronic signatures comply with ICP-Brazil standards, guaranteeing the legality of the processes.\n\n**Sustainability:** \nReduces paper usage, contributing to environmental sustainability and minimizing the waste of natural resources.\n\n## Impact on public administration\n\n
\n\nThe union of LibreSign with e-Cidade transforms public administration, making it more secure and sustainable. Municipalities can offer high-quality services to citizens, minimizing delays and bureaucracy, and contributing to environmental preservation.\n\nWant to learn more about this integration?\n\nJoin the e-Cidade community event on 07/31 at 7:00 PM and discover how the integration of LibreSign can revolutionize public administration.\n\nThe event is free and will be held in the community's Telegram group: [eCidadeCE](https://t.me/eCidadeCE)\n\nTransform public administration with technology and innovation. Join us on this journey towards digital security and sustainability!\n",
- "The agility and convenience of using technology to our advantage to reduce time and costs have made digital signatures a viable alternative for businesses, especially after the pandemic period. In an increasingly competitive market, saving time and resources, increasing productivity, and investing in sustainability have become essential to improving the customer experience. The digital signature market in Brazil is on the rise, and to ensure the authenticity and integrity of this service, we need to better understand what it is, its types, advantages, and how to obtain it.\n\n### What is a digital signature?\nA digital signature is a secure technology for authenticating electronic documents for individuals or companies, with legal validity. We live in a scenario where the exchange of information increasingly occurs online, making it necessary to ensure the guarantee, integrity, and authenticity of documents.\n\nDigital signatures use encryption to validate the user's identity and ensure that the document's content has not been altered after signing. This means that the signature has the same legal value as a handwritten signature recognized by a notary. However, digital signatures eliminate the need for sending, storing, archiving, copying, and retrieving paper documents.\n\nIt is important to clarify that a digital signature is a type of electronic signature, but not all electronic signatures are digital. What does this mean? It means there are different ways to sign a document electronically, and it is essential to understand them.\n\n### What are the types of digital signatures?\nAs we’ve seen, a digital signature is a technology to confirm the identity of the signer, whether an individual or a company, and the authenticity of the document. But to understand the types of digital signatures, we need to know the categories of signatures that exist. Currently, there are four types of signatures: handwritten, scanned, electronic, and digital.\n\n### Comparison of Handwritten, Electronic, and Digital Signatures\n\n#### 1 - Handwritten Signature\n\nThe most traditional type of authentication, made manually with a pen on physical documents.\n\n- Requires in-person signing with a physical copy of the document.\n- Security depends on external factors, such as signature recognition at a notary office.\n- Requires physical storage of documents.\n\n##### Used in:\n- Signing company contracts.\n- Signature recognition at a notary office.\n- Formal physical documents.\n\n\n#### 2 - Electronic Signature\n\nA digitally performed signature, which can have different security levels according to Law 14.063/20 (Simple, Advanced, and Qualified Signatures).\n\n- **Simple**: Identifies the signer using basic evidence (email, password, phone). Suitable for low-risk situations.\n- **Advanced**: Uses cryptographic methods and corporate digital certificates (ICP-Brasil or external). Suitable for legal and financial transactions.\n- **Qualified**: Requires a digital certificate issued by a Certification Authority (CA) accredited by ICP-Brasil. Provides the highest level of security and detects any modifications made after signing.\n\n##### Used in:\n- **Simple**: Reports, receipts, service bookings.\n- **Advanced**: Financial transactions, sensitive contracts.\n- **Qualified**: Electronic invoices, health records, real estate transactions.\n\n\n#### 3 - Digital Signature\n\nA type of qualified electronic signature with a high level of security.\n\n- Requires a digital certificate issued by a CA under the ICP-Brasil standard.\n- The most secure form of electronic signature.\n- Ensures document integrity and authenticity, preventing undetected alterations.\n\n##### Used in:\n- Signing official documents.\n- Property transfers.\n- Issuing electronic invoices.\n\n\n### What are the advantages of digital signatures?\nWhile physical signatures can be forged, compromising the validity of your documents, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents with speed, authenticity, and integrity. Here are the five main advantages:\n\n1. Time savings: You save time that would be spent on manual processes, as digital signatures can be completed much faster and more efficiently, speeding up contract closures and negotiations.\n2. Cost reduction: By eliminating the need for physical storage space for company documents, you reduce costs associated with paper, printing supplies, transportation, postal services, couriers, notary fees, and more.\n3. Security: Digital signatures are protected by encryption, making them the most secure way to validate electronic documents. When using digital certificates issued by a Certification Authority, it is possible to guarantee the user’s identity and the document’s integrity, reducing the risk of fraud and forgery. Therefore, investing in information security is crucial to protect data, clients, and the company’s reputation.\n4. Sustainability: By using cloud storage instead of physical paper, we contribute to the environment and avoid the unnecessary use of resources.\n5. Organization and mobility: Easy access to documents since they are stored electronically and can be accessed and signed from anywhere with an internet connection.\n\n### How can I obtain a digital signature?\nThe LibreCode cooperative offers a digital signature platform called LibreSign, accessible via mobile devices or computers. This platform provides affordable and collaborative solutions, giving clients technological autonomy. Among its main features are the convenience of digitally signing documents and managing them through a Signature Portal compliant with Brazilian legal standards, such as the LGPD (General Data Protection Law) and ICP-Brasil.\n\nLibreSign offers functionalities tailored to the specific needs of each organization. The platform’s solutions are based on open-source software, promoting open access to knowledge and collaboration, ensuring clients’ sovereignty over the technology they use. The service focuses on customization and accessibility, catering to small businesses, large organizations, and government entities alike.\n\nSecurity breaches can have serious consequences for a brand, including data loss, unauthorized access to confidential information, and damage to a company’s reputation. With this in mind, LibreSign’s greatest advantage is its security effectiveness. The platform implements multi-factor authentication (MFA), which further restricts unauthorized access and ensures that only verified individuals can sign documents. It also allows signer identification through various factors, such as email tokens, SMS, and WhatsApp messages. This method requires users to provide two or more forms of verification before accessing and signing documents, making the signing process much more secure. Each document is encrypted from sending to final signature. This ensures that your information remains secure at every step, meaning only authorized recipients can access and read the document’s content.\n\nTo learn more about our service, contact us at +55 (21) 2042-2073 or via email at [contato@librecode.coop](mailto:contato@librecode.coop). Schedule a demo and discover how we can improve your document management and administrative efficiency. Also, check out our next topic: “How to create a digital signature.”\n": "The agility and convenience of using technology to our advantage to reduce time and costs have made digital signatures a viable alternative for businesses, especially after the pandemic period. In an increasingly competitive market, saving time and resources, increasing productivity, and investing in sustainability have become essential to improving the customer experience. The digital signature market in Brazil is on the rise, and to ensure the authenticity and integrity of this service, we need to better understand what it is, its types, advantages, and how to obtain it.\n\n### What is a digital signature?\nA digital signature is a secure technology for authenticating electronic documents for individuals or companies, with legal validity. We live in a scenario where the exchange of information increasingly occurs online, making it necessary to ensure the guarantee, integrity, and authenticity of documents.\n\nDigital signatures use encryption to validate the user's identity and ensure that the document's content has not been altered after signing. This means that the signature has the same legal value as a handwritten signature recognized by a notary. However, digital signatures eliminate the need for sending, storing, archiving, copying, and retrieving paper documents.\n\nIt is important to clarify that a digital signature is a type of electronic signature, but not all electronic signatures are digital. What does this mean? It means there are different ways to sign a document electronically, and it is essential to understand them.\n\n### What are the types of digital signatures?\nAs we’ve seen, a digital signature is a technology to confirm the identity of the signer, whether an individual or a company, and the authenticity of the document. But to understand the types of digital signatures, we need to know the categories of signatures that exist. Currently, there are four types of signatures: handwritten, scanned, electronic, and digital.\n\n### Comparison of Handwritten, Electronic, and Digital Signatures\n\n#### 1 - Handwritten Signature\n\nThe most traditional type of authentication, made manually with a pen on physical documents.\n\n- Requires in-person signing with a physical copy of the document.\n- Security depends on external factors, such as signature recognition at a notary office.\n- Requires physical storage of documents.\n\n##### Used in:\n- Signing company contracts.\n- Signature recognition at a notary office.\n- Formal physical documents.\n\n\n#### 2 - Electronic Signature\n\nA digitally performed signature, which can have different security levels according to Law 14.063/20 (Simple, Advanced, and Qualified Signatures).\n\n- **Simple**: Identifies the signer using basic evidence (email, password, phone). Suitable for low-risk situations.\n- **Advanced**: Uses cryptographic methods and corporate digital certificates (ICP-Brasil or external). Suitable for legal and financial transactions.\n- **Qualified**: Requires a digital certificate issued by a Certification Authority (CA) accredited by ICP-Brasil. Provides the highest level of security and detects any modifications made after signing.\n\n##### Used in:\n- **Simple**: Reports, receipts, service bookings.\n- **Advanced**: Financial transactions, sensitive contracts.\n- **Qualified**: Electronic invoices, health records, real estate transactions.\n\n\n#### 3 - Digital Signature\n\nA type of qualified electronic signature with a high level of security.\n\n- Requires a digital certificate issued by a CA under the ICP-Brasil standard.\n- The most secure form of electronic signature.\n- Ensures document integrity and authenticity, preventing undetected alterations.\n\n##### Used in:\n- Signing official documents.\n- Property transfers.\n- Issuing electronic invoices.\n\n\n### What are the advantages of digital signatures?\nWhile physical signatures can be forged, compromising the validity of your documents, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents with speed, authenticity, and integrity. Here are the five main advantages:\n\n1. Time savings: You save time that would be spent on manual processes, as digital signatures can be completed much faster and more efficiently, speeding up contract closures and negotiations.\n2. Cost reduction: By eliminating the need for physical storage space for company documents, you reduce costs associated with paper, printing supplies, transportation, postal services, couriers, notary fees, and more.\n3. Security: Digital signatures are protected by encryption, making them the most secure way to validate electronic documents. When using digital certificates issued by a Certification Authority, it is possible to guarantee the user’s identity and the document’s integrity, reducing the risk of fraud and forgery. Therefore, investing in information security is crucial to protect data, clients, and the company’s reputation.\n4. Sustainability: By using cloud storage instead of physical paper, we contribute to the environment and avoid the unnecessary use of resources.\n5. Organization and mobility: Easy access to documents since they are stored electronically and can be accessed and signed from anywhere with an internet connection.\n\n### How can I obtain a digital signature?\nThe LibreCode cooperative offers a digital signature platform called LibreSign, accessible via mobile devices or computers. This platform provides affordable and collaborative solutions, giving clients technological autonomy. Among its main features are the convenience of digitally signing documents and managing them through a Signature Portal compliant with Brazilian legal standards, such as the LGPD (General Data Protection Law) and ICP-Brasil.\n\nLibreSign offers functionalities tailored to the specific needs of each organization. The platform’s solutions are based on open-source software, promoting open access to knowledge and collaboration, ensuring clients’ sovereignty over the technology they use. The service focuses on customization and accessibility, catering to small businesses, large organizations, and government entities alike.\n\nSecurity breaches can have serious consequences for a brand, including data loss, unauthorized access to confidential information, and damage to a company’s reputation. With this in mind, LibreSign’s greatest advantage is its security effectiveness. The platform implements multi-factor authentication (MFA), which further restricts unauthorized access and ensures that only verified individuals can sign documents. It also allows signer identification through various factors, such as email tokens, SMS, and WhatsApp messages. This method requires users to provide two or more forms of verification before accessing and signing documents, making the signing process much more secure. Each document is encrypted from sending to final signature. This ensures that your information remains secure at every step, meaning only authorized recipients can access and read the document’s content.\n\nTo learn more about our service, contact us at +55 (21) 2042-2073 or via email at [contato@librecode.coop](mailto:contato@librecode.coop). Schedule a demo and discover how we can improve your document management and administrative efficiency. Also, check out our next topic: “How to create a digital signature.”\n"
+ "e-Cidade is a system that modernizes and streamlines the administrative processes of Brazilian municipalities, promoting the digitalization of public administration. Used in several municipalities, it encompasses everything from financial and human resources management to school administration.\n\nTo expand its functionalities, there was a need to integrate e-Cidade with a legally valid electronic signature system, aiming to expedite online transactions. LibreSign was selected for its reliability, security, and compliance with Brazilian legal requirements. Here are some advantages:\n\n**Process automation:** \nLibreSign speeds up manual document processes such as appropriations, contracts, agreements, and authorizations, reducing the time to complete transactions and allowing public employees to focus on higher-impact activities.\n\n**Security:** \nBy using e-CPF, e-CNPJ, or certificates generated by the system itself, LibreSign ensures the integrity and authenticity of documents.\n\n**ICP-Brazil compliance:** \nEnsures that all electronic signatures comply with ICP-Brazil standards, guaranteeing the legality of the processes.\n\n**Sustainability:** \nReduces paper usage, contributing to environmental sustainability and minimizing the waste of natural resources.\n\n## Impact on public administration\n\n
\n\nThe union of LibreSign with e-Cidade transforms public administration, making it more secure and sustainable. Municipalities can offer high-quality services to citizens, minimizing delays and bureaucracy, and contributing to environmental preservation.\n\nWant to learn more about this integration?\n\nJoin the e-Cidade community event on 07/31 at 7:00 PM and discover how the integration of LibreSign can revolutionize public administration.\n\nThe event is free and will be held in the community's Telegram group: [eCidadeCE](https://t.me/eCidadeCE)\n\nTransform public administration with technology and innovation. Join us on this journey towards digital security and sustainability!": "e-Cidade is a system that modernizes and streamlines the administrative processes of Brazilian municipalities, promoting the digitalization of public administration. Used in several municipalities, it encompasses everything from financial and human resources management to school administration.\n\nTo expand its functionalities, there was a need to integrate e-Cidade with a legally valid electronic signature system, aiming to expedite online transactions. LibreSign was selected for its reliability, security, and compliance with Brazilian legal requirements. Here are some advantages:\n\n**Process automation:** \nLibreSign speeds up manual document processes such as appropriations, contracts, agreements, and authorizations, reducing the time to complete transactions and allowing public employees to focus on higher-impact activities.\n\n**Security:** \nBy using e-CPF, e-CNPJ, or certificates generated by the system itself, LibreSign ensures the integrity and authenticity of documents.\n\n**ICP-Brazil compliance:** \nEnsures that all electronic signatures comply with ICP-Brazil standards, guaranteeing the legality of the processes.\n\n**Sustainability:** \nReduces paper usage, contributing to environmental sustainability and minimizing the waste of natural resources.\n\n## Impact on public administration\n\n
\n\nThe union of LibreSign with e-Cidade transforms public administration, making it more secure and sustainable. Municipalities can offer high-quality services to citizens, minimizing delays and bureaucracy, and contributing to environmental preservation.\n\nWant to learn more about this integration?\n\nJoin the e-Cidade community event on 07/31 at 7:00 PM and discover how the integration of LibreSign can revolutionize public administration.\n\nThe event is free and will be held in the community's Telegram group: [eCidadeCE](https://t.me/eCidadeCE)\n\nTransform public administration with technology and innovation. Join us on this journey towards digital security and sustainability!\n"
}
diff --git a/lang/fr/main.json b/lang/fr/main.json
index d76bfee6..860a4e53 100644
--- a/lang/fr/main.json
+++ b/lang/fr/main.json
@@ -2,12 +2,15 @@
"# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n": "# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n",
"# LibreSign Privacy Notice\n\n## Introduction\n\nThe **LibreSign** is documents signer free developed by **LibreCode**, cooperative of professional of IT. The LibreSign was thinked having to base the security and the privacy of users.\n\nWe establish this Privacy Notice to inform how the personal data collected through of the our contact form on website of LibreSign is treaties, protected and utilized.\n\nThis Notice is governed for norms of General Data Protection Law (GDPL) by Brasil and General Data Protection Law (GDPL) by Europe Union, reflexeting our compromise in protect the privacy and the integration of users personal data.\n\n## Collect of Data\n\nThe LibreCode collect and treat the following personal data through of your website (www.libresign.coop):\n\n- **Name**\n- **E-mail**\n- **Phone**\n\nThese data is provided voluntarily by users when filling the contact form available on our website. The collect these data have how finality exclusive establish a communication channel efficient with the interested in our products and services.\n\n**When filling the registration form you agree with the treat of your data to publish of products of LibreCode. You can revoke your consent any time, just click on link available in communication or send an e-mail to:** contato@librecode.coop.\n\n## Use of Data\n\nThe personal data collected is used just to the following finalities:\n\n- Answer of requests, doubts or users of comments\n- Send communications that have been expressly requested by user ou that be pertinent to your manifested interest\n- Register of attendance history\n- For legal and/or regulatory purposes\n \nThe LibreCode is committed to not use the data collected to specific distincts finality above without the prev notification of the data holders.\n\n## Data Sharing\n\nThe LibreCode not share, sell, rent or another way provides collected personal data to third parties, except when necessary to fulfill with legal obligations or with user express authorization.\n\n## Data Security\n\nWe employ measures security technique and organizational to protected the personal data collected against accesses not authorized, undue changes, disclosure or destruction. Our commitment with security, include adoption of recommented pratics in terms of data protect. To know more about the security politic of LibreCode between in contact us.\n\n## Data Holders Rights\n\nAccording to art 18 of LGPD and the GDPR, users have the use to access, to correct, delete or to carry personal user data, beside can limit or if oppose to your treat when substantiated in the interest legitimate of the controller.\n\nTo exercise your rights, the holders of data and/or your responsible should **in to by way e-mail:** contato@librecode.coop\n\n## Changes of Privacy Politic\n\nLibreCode reserves the right to change this Privacy Policy any moment. The changes will be valid immediately after you publish on website. We recommend the periodic review this politic.\n\n## Contact\n\nTo relative questions to our Privacy Politic any moment contact us by e-mail: contato@librecode.coop\n\nThis Privacy Politic was updated by last once on 08 april 2024": "# LibreSign Privacy Notice\n\n## Introduction\n\nThe **LibreSign** is documents signer free developed by **LibreCode**, cooperative of professional of IT. The LibreSign was thinked having to base the security and the privacy of users.\n\nWe establish this Privacy Notice to inform how the personal data collected through of the our contact form on website of LibreSign is treaties, protected and utilized.\n\nThis Notice is governed for norms of General Data Protection Law (GDPL) by Brasil and General Data Protection Law (GDPL) by Europe Union, reflexeting our compromise in protect the privacy and the integration of users personal data.\n\n## Collect of Data\n\nThe LibreCode collect and treat the following personal data through of your website (www.libresign.coop):\n\n- **Name**\n- **E-mail**\n- **Phone**\n\nThese data is provided voluntarily by users when filling the contact form available on our website. The collect these data have how finality exclusive establish a communication channel efficient with the interested in our products and services.\n\n**When filling the registration form you agree with the treat of your data to publish of products of LibreCode. You can revoke your consent any time, just click on link available in communication or send an e-mail to:** contato@librecode.coop.\n\n## Use of Data\n\nThe personal data collected is used just to the following finalities:\n\n- Answer of requests, doubts or users of comments\n- Send communications that have been expressly requested by user ou that be pertinent to your manifested interest\n- Register of attendance history\n- For legal and/or regulatory purposes\n \nThe LibreCode is committed to not use the data collected to specific distincts finality above without the prev notification of the data holders.\n\n## Data Sharing\n\nThe LibreCode not share, sell, rent or another way provides collected personal data to third parties, except when necessary to fulfill with legal obligations or with user express authorization.\n\n## Data Security\n\nWe employ measures security technique and organizational to protected the personal data collected against accesses not authorized, undue changes, disclosure or destruction. Our commitment with security, include adoption of recommented pratics in terms of data protect. To know more about the security politic of LibreCode between in contact us.\n\n## Data Holders Rights\n\nAccording to art 18 of LGPD and the GDPR, users have the use to access, to correct, delete or to carry personal user data, beside can limit or if oppose to your treat when substantiated in the interest legitimate of the controller.\n\nTo exercise your rights, the holders of data and/or your responsible should **in to by way e-mail:** contato@librecode.coop\n\n## Changes of Privacy Politic\n\nLibreCode reserves the right to change this Privacy Policy any moment. The changes will be valid immediately after you publish on website. We recommend the periodic review this politic.\n\n## Contact\n\nTo relative questions to our Privacy Politic any moment contact us by e-mail: contato@librecode.coop\n\nThis Privacy Politic was updated by last once on 08 april 2024",
"## Common problems in document management\n\nDocument management faces several common issues. Manual document signing can take days or even weeks, especially when multiple signatures are needed, delaying important processes and affecting the institution's operations. Moreover, manual handling of documents increases the chance of errors, leading to legal and administrative problems. The use of paper, printing, storage, and sending physical documents also generates significant costs for institutions. Finally, ensuring data security and compliance with laws, such as the LGPD (General Data Protection Law), is a constant challenge.\n\n### Real problem: Floods in Rio Grande do Sul\n\nA recent example that highlights the importance of document digitization is the floods in Rio Grande do Sul. Many schools and universities lost important physical documents due to the floods, resulting in enormous losses and difficulties in recovering essential information. The lack of digitization severely affected the administration and continuity of educational activities. This tragic event reinforces the urgent need to adopt digital solutions to protect important data and ensure the resilience of institutions against natural disasters.\n\n## LibreSign: The ideal solution\n\nLibreSign is a digital signature platform that allows educational institutions to digitize and automate document management, offering a secure, efficient, and cost-effective solution. With LibreSign, you reduce bureaucracy, save resources, and increase security.\n\nAmong its features, we highlight:\n\n1. Digital document signing using digital certificates (e-CPF, e-CNPJ, or system-generated certificates).\n2. Legal validity and compliance with Brazilian legislation, including the General Data Protection Law (LGPD), and the European Union's General Data Protection Regulation (GDPR).\n3. Centralizes the creation, storage, and signing of documents in a single system, facilitating access and management, reducing bureaucracy, and increasing the efficiency of academic offices.\n4. Uses advanced encryption to protect documents from unauthorized access, ensuring data integrity and confidentiality, which is essential for LGPD compliance.\n5. Eliminates the need for physical document sending, saving time and resources.\n\n### Examples of documents that can be signed\n\nLibreSign can be used to sign a wide variety of school and academic documents, including:\n\n1. Enrollment contracts\n2. Report cards and performance reports\n3. Certificates and diplomas\n4. Lesson plans\n5. Parental authorizations\n6. Statements and requests\n7. Various administrative forms\n\nUsing LibreSign for these documents increases practicality, security, efficiency, and legal compliance, benefiting both institutions and students.\n\n#### Discover the benefits of using LibreSign\n\n- Speed: Reduce the time needed to sign and process documents, increasing productivity.\n- Cost Reduction: Eliminate costs associated with paper, printing, and sending documents.\n- Security: Ensure the protection of sensitive data and compliance with the LGPD.\n- Sustainability: Contribute to environmental preservation by reducing paper usage.\n- Accessibility: Allow documents to be signed from anywhere, at any time, facilitating remote management.\n\nDigitizing signing processes is a crucial step towards modernizing educational institutions. LibreSign offers a complete solution that not only improves efficiency and reduces costs but also ensures data security and compliance. Transform your institution's document management with LibreSign and enjoy all the benefits of digital transformation.\n\n🌐 Contact us: [LibreSign Contact Us](https://libresign.coop/contact-us)\n": "## Common problems in document management\n\nDocument management faces several common issues. Manual document signing can take days or even weeks, especially when multiple signatures are needed, delaying important processes and affecting the institution's operations. Moreover, manual handling of documents increases the chance of errors, leading to legal and administrative problems. The use of paper, printing, storage, and sending physical documents also generates significant costs for institutions. Finally, ensuring data security and compliance with laws, such as the LGPD (General Data Protection Law), is a constant challenge.\n\n### Real problem: Floods in Rio Grande do Sul\n\nA recent example that highlights the importance of document digitization is the floods in Rio Grande do Sul. Many schools and universities lost important physical documents due to the floods, resulting in enormous losses and difficulties in recovering essential information. The lack of digitization severely affected the administration and continuity of educational activities. This tragic event reinforces the urgent need to adopt digital solutions to protect important data and ensure the resilience of institutions against natural disasters.\n\n## LibreSign: The ideal solution\n\nLibreSign is a digital signature platform that allows educational institutions to digitize and automate document management, offering a secure, efficient, and cost-effective solution. With LibreSign, you reduce bureaucracy, save resources, and increase security.\n\nAmong its features, we highlight:\n\n1. Digital document signing using digital certificates (e-CPF, e-CNPJ, or system-generated certificates).\n2. Legal validity and compliance with Brazilian legislation, including the General Data Protection Law (LGPD), and the European Union's General Data Protection Regulation (GDPR).\n3. Centralizes the creation, storage, and signing of documents in a single system, facilitating access and management, reducing bureaucracy, and increasing the efficiency of academic offices.\n4. Uses advanced encryption to protect documents from unauthorized access, ensuring data integrity and confidentiality, which is essential for LGPD compliance.\n5. Eliminates the need for physical document sending, saving time and resources.\n\n### Examples of documents that can be signed\n\nLibreSign can be used to sign a wide variety of school and academic documents, including:\n\n1. Enrollment contracts\n2. Report cards and performance reports\n3. Certificates and diplomas\n4. Lesson plans\n5. Parental authorizations\n6. Statements and requests\n7. Various administrative forms\n\nUsing LibreSign for these documents increases practicality, security, efficiency, and legal compliance, benefiting both institutions and students.\n\n#### Discover the benefits of using LibreSign\n\n- Speed: Reduce the time needed to sign and process documents, increasing productivity.\n- Cost Reduction: Eliminate costs associated with paper, printing, and sending documents.\n- Security: Ensure the protection of sensitive data and compliance with the LGPD.\n- Sustainability: Contribute to environmental preservation by reducing paper usage.\n- Accessibility: Allow documents to be signed from anywhere, at any time, facilitating remote management.\n\nDigitizing signing processes is a crucial step towards modernizing educational institutions. LibreSign offers a complete solution that not only improves efficiency and reduces costs but also ensures data security and compliance. Transform your institution's document management with LibreSign and enjoy all the benefits of digital transformation.\n\n🌐 Contact us: [LibreSign Contact Us](https://libresign.coop/contact-us)\n",
+ "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n": "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n",
"### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n": "### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n",
+ "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n": "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n",
+ "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n": "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n",
"### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n": "### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n",
+ "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n": "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n",
"### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n": "### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n",
- "$ 600/mo": "$ 600/mo",
+ "- Pricing tailored to your operation\n- Deployment and support scope defined together": "- Pricing tailored to your operation\n- Deployment and support scope defined together",
"- Unlimited accounts\n- Storage customized": "- Unlimited accounts\n- Storage customized",
- "- Until 5 accounts\n- Storage until 1Gb": "- Until 5 accounts\n- Storage until 1Gb",
"A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.": "A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.",
"About": "À propos",
"About Us": "À propos de nous",
@@ -16,7 +19,6 @@
"Agility and security are paramount in business transactions, and LibreSign emerges as the intelligent choice for diverse sectors. Developed by LibreCode, a cooperative of IT professionals, LibreSign embodies the Free and Open-Source Software (FOSS) philosophy. With robust security standards, it ensures the inviolability of electronic signatures, making it ideal for government, education, and corporate enterprises": "L'agilité et la sécurité sont primordiales dans les transactions commerciales, et LibreSign se présente comme le choix intelligent pour divers secteurs. Développé par LibreCode, une coopérative de professionnels de l'informatique, LibreSign incarne la philosophie du logiciel libre et open source (FOSS). Avec des normes de sécurité robustes, il garantit l'inviolabilité des signatures électroniques, ce qui le rend idéal pour les gouvernements, le secteur éducatif et les entreprises",
"Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n": "Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n",
"Any Questions? Answered": "Des questions ? Nous avons les réponses",
- "Basic": "Basic",
"Beyond offering agility and security in digital signatures and document management, LibreSign features functionalities that adapt to the specific needs of your organization.": "En plus de fournir agilité et sécurité dans la signature numérique et la gestion de documents, LibreSign offre des fonctionnalités qui s'adaptent aux besoins spécifiques de votre organisation.",
"Blog Page": "Blog",
"Business": "Business",
@@ -25,19 +27,23 @@
"By %s": "By %s",
"By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.": "By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.",
"CONTACT US": "Nous contacter",
+ "CRL (Certificate Revocation List) Implementation in LibreSign": "CRL (Certificate Revocation List) Implementation in LibreSign",
"Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!": "Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!",
"Cloud Storage": "Cloud Storage",
"Compare plans": "Compare plans",
"Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!": "Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!",
"Contact": "Contact",
+ "Contact us for pricing": "Contact us for pricing",
"Contact us to more informations": "Contact us to more informations",
"Contribute to a greener world by eliminating the use of paper.": "Contribute to a greener world by eliminating the use of paper.",
+ "Custom Quote": "Custom Quote",
"Customization of visual identity (colors, logo and domain)": "Customization of visual identity (colors, logo and domain)",
"Developed by": "Developpé par",
"Did you know that digital signature is the safest and most efficient way to validate electronic documents?": "Did you know that digital signature is the safest and most efficient way to validate electronic documents?",
"Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.": "Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.",
"Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.": "Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.",
"Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.": "Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.",
+ "DocMDP (Document Modification Detection and Prevention) in LibreSign": "DocMDP (Document Modification Detection and Prevention) in LibreSign",
"Document management in education - Challenges and solutions with LibreSign": "Document management in education - Challenges and solutions with LibreSign",
"Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.": "Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.",
"Document validation by QR Code": "Validation de documents par code QR",
@@ -46,6 +52,7 @@
"Electronic document management": "Electronic document management",
"Electronic signature capture is a technology for signing electronic document files with a handwritten signature. The use of this technology allows for the elimination of the mailing, storage, filing, copying, and retrieval of paper documents. This will save your business time and money.": "La signature électronique est une technologie permettant de signer des documents électroniques avec une signature manuscrite. L'utilisation de cette technologie permet d'éliminer l'envoi, le stockage, le classement, la copie et la récupération de documents papier. Cela permettra à votre entreprise de gagner du temps et de l'argent.",
"Encrypted signatures that guarantee the integrity of your documents.": "Encrypted signatures that guarantee the integrity of your documents.",
+ "Envelopes - Batch document signing in LibreSign": "Envelopes - Batch document signing in LibreSign",
"Features": "Fonctionnalités",
"File Creation, Signature with Digital Certificate, Signature Management, Document Management, Validation, API": "Création de fichiers, Signature avec certificat numérique, Gestion des signatures, Gestion des documents, Validation, API",
"Fill in the fields below with your data": "Fill in the fields below with your data",
@@ -64,6 +71,8 @@
"Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.": "Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.",
"Language": "Langue",
"Last articles": "Last articles",
+ "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.": "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.",
+ "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.": "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.",
"Learn more": "En savoir plus",
"Legal validity of electronic signatures in Brazil and around the world": "Legal validity of electronic signatures in Brazil and around the world",
"Let’s talk about digitally signing your documents!": "Parlons de la signature numérique de vos documents !",
@@ -78,6 +87,8 @@
"LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.": "LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.",
"LibreSign is a web application for electronic signatures (e-Sign) developed by the LibreCode cooperative (Brazilian cooperative specialized in free software development). Its development began at the beginning of 2020, in the midst of the pandemic, when people and companies were migrating their physical documentation to digital, and then there was a need to develop a web solution that could offer the possibility of signing documents, contracts and proposals online with security and agility.": "LibreSign est une application web pour les signatures électroniques (e-Sign) développée par la coopérative LibreCode (coopérative brésilienne spécialisée dans le développement de logiciels libres). Son développement a commencé au début de l'année 2020, en pleine pandémie, lorsque les particuliers et les entreprises ont commencé à migrer leur documentation physique vers le numérique. Il est alors devenu nécessaire de développer une solution web qui pourrait offrir la possibilité de signer des documents, des contrats et des propositions en ligne avec sécurité et agilité.",
"LibreSign is the ideal choice for educational institutions looking to enhance their document processes with legal validity. Simplify the signing of contracts, authorizations, and other essential documents for academic administration. Promote effective document management, providing a streamlined and modern experience for students, teachers, and administrative staff.": "LibreSign est le choix idéal pour les institutions éducatives souhaitant améliorer leurs processus documentaires avec une validité légale. Simplifiez la signature de contrats, d'autorisations et d'autres documents essentiels pour l'administration académique. Favorisez une gestion efficace des documents, offrant une expérience simplifiée et moderne pour les étudiants, les enseignants et le personnel administratif.",
+ "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.": "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.",
+ "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.": "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.",
"LibreSign revolutionizes document authenticity verification with QR Code, ensuring security, efficiency, and practicality. Its instantaneous validation, agility, transparency, and compatibility with various platforms make it perfect for sustainable businesses. Try this solution now!": "LibreSign révolutionne la vérification de l'authenticité des documents avec le QR code, garantissant sécurité, efficacité et facilité d'utilisation. Sa validation instantanée, son agilité, sa transparence et sa compatibilité avec diverses plateformes en font la solution idéale pour les entreprises durables. Essayez cette solution dès maintenant !",
"Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.": "Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.",
"Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.": "Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.",
@@ -101,16 +112,17 @@
"Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.": "Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.",
"Public sector": "Secteur public",
"Real-time monitoring": "Real-time monitoring",
- "STARTING FROM": "STARTING FROM",
"Security": "Security",
"Send Message": "Envoyer le message",
"Sending reminder by email": "Sending reminder by email",
"Sign and send documents in seconds, from anywhere in the world.": "Sign and send documents in seconds, from anywhere in the world.",
+ "Signature Order - Sequential or Parallel Signing in LibreSign": "Signature Order - Sequential or Parallel Signing in LibreSign",
"Simple electronic signature (without digital certificate) unlimited": "Simple electronic signature (without digital certificate) unlimited",
"Simplify your digital signatures and document management safely and efficiently": "Simplify your digital signatures and document management safely and efficiently",
"Speed": "Speed",
"Streamline the signing of digital documents for multiple individuals, ensuring legal validity, security, and collaboration. Expedite contract processes between departments, eliminating the need for in-person meetings. Embrace efficiency and collaboration with LibreSign, guiding your organization towards seamless digital transformation": "Simplifiez la signature de documents numériques pour plusieurs individus, en garantissant la validité légale, la sécurité et la collaboration. Accélérez les processus contractuels entre les départements, éliminant le besoin de réunions présentielles. Adoptez l'efficacité et la collaboration avec LibreSign, guidant votre organisation vers une transformation numérique sans faille.",
"Sustainability": "Sustainability",
+ "TAILORED PRICING": "TAILORED PRICING",
"Talk to sales": "Talk to sales",
"Target audience": "Audience cible",
"Task control and management": "Task control and management",
diff --git a/lang/nb-NO/main.json b/lang/nb-NO/main.json
index a2b0719d..d4cb2b20 100644
--- a/lang/nb-NO/main.json
+++ b/lang/nb-NO/main.json
@@ -2,12 +2,15 @@
"# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n": "# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n",
"# LibreSign Privacy Notice\n\n## Introduction\n\nThe **LibreSign** is documents signer free developed by **LibreCode**, cooperative of professional of IT. The LibreSign was thinked having to base the security and the privacy of users.\n\nWe establish this Privacy Notice to inform how the personal data collected through of the our contact form on website of LibreSign is treaties, protected and utilized.\n\nThis Notice is governed for norms of General Data Protection Law (GDPL) by Brasil and General Data Protection Law (GDPL) by Europe Union, reflexeting our compromise in protect the privacy and the integration of users personal data.\n\n## Collect of Data\n\nThe LibreCode collect and treat the following personal data through of your website (www.libresign.coop):\n\n- **Name**\n- **E-mail**\n- **Phone**\n\nThese data is provided voluntarily by users when filling the contact form available on our website. The collect these data have how finality exclusive establish a communication channel efficient with the interested in our products and services.\n\n**When filling the registration form you agree with the treat of your data to publish of products of LibreCode. You can revoke your consent any time, just click on link available in communication or send an e-mail to:** contato@librecode.coop.\n\n## Use of Data\n\nThe personal data collected is used just to the following finalities:\n\n- Answer of requests, doubts or users of comments\n- Send communications that have been expressly requested by user ou that be pertinent to your manifested interest\n- Register of attendance history\n- For legal and/or regulatory purposes\n \nThe LibreCode is committed to not use the data collected to specific distincts finality above without the prev notification of the data holders.\n\n## Data Sharing\n\nThe LibreCode not share, sell, rent or another way provides collected personal data to third parties, except when necessary to fulfill with legal obligations or with user express authorization.\n\n## Data Security\n\nWe employ measures security technique and organizational to protected the personal data collected against accesses not authorized, undue changes, disclosure or destruction. Our commitment with security, include adoption of recommented pratics in terms of data protect. To know more about the security politic of LibreCode between in contact us.\n\n## Data Holders Rights\n\nAccording to art 18 of LGPD and the GDPR, users have the use to access, to correct, delete or to carry personal user data, beside can limit or if oppose to your treat when substantiated in the interest legitimate of the controller.\n\nTo exercise your rights, the holders of data and/or your responsible should **in to by way e-mail:** contato@librecode.coop\n\n## Changes of Privacy Politic\n\nLibreCode reserves the right to change this Privacy Policy any moment. The changes will be valid immediately after you publish on website. We recommend the periodic review this politic.\n\n## Contact\n\nTo relative questions to our Privacy Politic any moment contact us by e-mail: contato@librecode.coop\n\nThis Privacy Politic was updated by last once on 08 april 2024": "# LibreSign Privacy Notice\n\n## Introduction\n\nThe **LibreSign** is documents signer free developed by **LibreCode**, cooperative of professional of IT. The LibreSign was thinked having to base the security and the privacy of users.\n\nWe establish this Privacy Notice to inform how the personal data collected through of the our contact form on website of LibreSign is treaties, protected and utilized.\n\nThis Notice is governed for norms of General Data Protection Law (GDPL) by Brasil and General Data Protection Law (GDPL) by Europe Union, reflexeting our compromise in protect the privacy and the integration of users personal data.\n\n## Collect of Data\n\nThe LibreCode collect and treat the following personal data through of your website (www.libresign.coop):\n\n- **Name**\n- **E-mail**\n- **Phone**\n\nThese data is provided voluntarily by users when filling the contact form available on our website. The collect these data have how finality exclusive establish a communication channel efficient with the interested in our products and services.\n\n**When filling the registration form you agree with the treat of your data to publish of products of LibreCode. You can revoke your consent any time, just click on link available in communication or send an e-mail to:** contato@librecode.coop.\n\n## Use of Data\n\nThe personal data collected is used just to the following finalities:\n\n- Answer of requests, doubts or users of comments\n- Send communications that have been expressly requested by user ou that be pertinent to your manifested interest\n- Register of attendance history\n- For legal and/or regulatory purposes\n \nThe LibreCode is committed to not use the data collected to specific distincts finality above without the prev notification of the data holders.\n\n## Data Sharing\n\nThe LibreCode not share, sell, rent or another way provides collected personal data to third parties, except when necessary to fulfill with legal obligations or with user express authorization.\n\n## Data Security\n\nWe employ measures security technique and organizational to protected the personal data collected against accesses not authorized, undue changes, disclosure or destruction. Our commitment with security, include adoption of recommented pratics in terms of data protect. To know more about the security politic of LibreCode between in contact us.\n\n## Data Holders Rights\n\nAccording to art 18 of LGPD and the GDPR, users have the use to access, to correct, delete or to carry personal user data, beside can limit or if oppose to your treat when substantiated in the interest legitimate of the controller.\n\nTo exercise your rights, the holders of data and/or your responsible should **in to by way e-mail:** contato@librecode.coop\n\n## Changes of Privacy Politic\n\nLibreCode reserves the right to change this Privacy Policy any moment. The changes will be valid immediately after you publish on website. We recommend the periodic review this politic.\n\n## Contact\n\nTo relative questions to our Privacy Politic any moment contact us by e-mail: contato@librecode.coop\n\nThis Privacy Politic was updated by last once on 08 april 2024",
"## Common problems in document management\n\nDocument management faces several common issues. Manual document signing can take days or even weeks, especially when multiple signatures are needed, delaying important processes and affecting the institution's operations. Moreover, manual handling of documents increases the chance of errors, leading to legal and administrative problems. The use of paper, printing, storage, and sending physical documents also generates significant costs for institutions. Finally, ensuring data security and compliance with laws, such as the LGPD (General Data Protection Law), is a constant challenge.\n\n### Real problem: Floods in Rio Grande do Sul\n\nA recent example that highlights the importance of document digitization is the floods in Rio Grande do Sul. Many schools and universities lost important physical documents due to the floods, resulting in enormous losses and difficulties in recovering essential information. The lack of digitization severely affected the administration and continuity of educational activities. This tragic event reinforces the urgent need to adopt digital solutions to protect important data and ensure the resilience of institutions against natural disasters.\n\n## LibreSign: The ideal solution\n\nLibreSign is a digital signature platform that allows educational institutions to digitize and automate document management, offering a secure, efficient, and cost-effective solution. With LibreSign, you reduce bureaucracy, save resources, and increase security.\n\nAmong its features, we highlight:\n\n1. Digital document signing using digital certificates (e-CPF, e-CNPJ, or system-generated certificates).\n2. Legal validity and compliance with Brazilian legislation, including the General Data Protection Law (LGPD), and the European Union's General Data Protection Regulation (GDPR).\n3. Centralizes the creation, storage, and signing of documents in a single system, facilitating access and management, reducing bureaucracy, and increasing the efficiency of academic offices.\n4. Uses advanced encryption to protect documents from unauthorized access, ensuring data integrity and confidentiality, which is essential for LGPD compliance.\n5. Eliminates the need for physical document sending, saving time and resources.\n\n### Examples of documents that can be signed\n\nLibreSign can be used to sign a wide variety of school and academic documents, including:\n\n1. Enrollment contracts\n2. Report cards and performance reports\n3. Certificates and diplomas\n4. Lesson plans\n5. Parental authorizations\n6. Statements and requests\n7. Various administrative forms\n\nUsing LibreSign for these documents increases practicality, security, efficiency, and legal compliance, benefiting both institutions and students.\n\n#### Discover the benefits of using LibreSign\n\n- Speed: Reduce the time needed to sign and process documents, increasing productivity.\n- Cost Reduction: Eliminate costs associated with paper, printing, and sending documents.\n- Security: Ensure the protection of sensitive data and compliance with the LGPD.\n- Sustainability: Contribute to environmental preservation by reducing paper usage.\n- Accessibility: Allow documents to be signed from anywhere, at any time, facilitating remote management.\n\nDigitizing signing processes is a crucial step towards modernizing educational institutions. LibreSign offers a complete solution that not only improves efficiency and reduces costs but also ensures data security and compliance. Transform your institution's document management with LibreSign and enjoy all the benefits of digital transformation.\n\n🌐 Contact us: [LibreSign Contact Us](https://libresign.coop/contact-us)\n": "## Common problems in document management\n\nDocument management faces several common issues. Manual document signing can take days or even weeks, especially when multiple signatures are needed, delaying important processes and affecting the institution's operations. Moreover, manual handling of documents increases the chance of errors, leading to legal and administrative problems. The use of paper, printing, storage, and sending physical documents also generates significant costs for institutions. Finally, ensuring data security and compliance with laws, such as the LGPD (General Data Protection Law), is a constant challenge.\n\n### Real problem: Floods in Rio Grande do Sul\n\nA recent example that highlights the importance of document digitization is the floods in Rio Grande do Sul. Many schools and universities lost important physical documents due to the floods, resulting in enormous losses and difficulties in recovering essential information. The lack of digitization severely affected the administration and continuity of educational activities. This tragic event reinforces the urgent need to adopt digital solutions to protect important data and ensure the resilience of institutions against natural disasters.\n\n## LibreSign: The ideal solution\n\nLibreSign is a digital signature platform that allows educational institutions to digitize and automate document management, offering a secure, efficient, and cost-effective solution. With LibreSign, you reduce bureaucracy, save resources, and increase security.\n\nAmong its features, we highlight:\n\n1. Digital document signing using digital certificates (e-CPF, e-CNPJ, or system-generated certificates).\n2. Legal validity and compliance with Brazilian legislation, including the General Data Protection Law (LGPD), and the European Union's General Data Protection Regulation (GDPR).\n3. Centralizes the creation, storage, and signing of documents in a single system, facilitating access and management, reducing bureaucracy, and increasing the efficiency of academic offices.\n4. Uses advanced encryption to protect documents from unauthorized access, ensuring data integrity and confidentiality, which is essential for LGPD compliance.\n5. Eliminates the need for physical document sending, saving time and resources.\n\n### Examples of documents that can be signed\n\nLibreSign can be used to sign a wide variety of school and academic documents, including:\n\n1. Enrollment contracts\n2. Report cards and performance reports\n3. Certificates and diplomas\n4. Lesson plans\n5. Parental authorizations\n6. Statements and requests\n7. Various administrative forms\n\nUsing LibreSign for these documents increases practicality, security, efficiency, and legal compliance, benefiting both institutions and students.\n\n#### Discover the benefits of using LibreSign\n\n- Speed: Reduce the time needed to sign and process documents, increasing productivity.\n- Cost Reduction: Eliminate costs associated with paper, printing, and sending documents.\n- Security: Ensure the protection of sensitive data and compliance with the LGPD.\n- Sustainability: Contribute to environmental preservation by reducing paper usage.\n- Accessibility: Allow documents to be signed from anywhere, at any time, facilitating remote management.\n\nDigitizing signing processes is a crucial step towards modernizing educational institutions. LibreSign offers a complete solution that not only improves efficiency and reduces costs but also ensures data security and compliance. Transform your institution's document management with LibreSign and enjoy all the benefits of digital transformation.\n\n🌐 Contact us: [LibreSign Contact Us](https://libresign.coop/contact-us)\n",
+ "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n": "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n",
"### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n": "### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n",
+ "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n": "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n",
+ "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n": "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n",
"### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n": "### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n",
+ "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n": "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n",
"### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n": "### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n",
- "$ 600/mo": "$ 600/mo",
+ "- Pricing tailored to your operation\n- Deployment and support scope defined together": "- Pricing tailored to your operation\n- Deployment and support scope defined together",
"- Unlimited accounts\n- Storage customized": "- Ubegrensede kontoer\n- Lagring tilpasset",
- "- Until 5 accounts\n- Storage until 1Gb": "- Inntil 5 kontoer\n- Lagring til 1 Gb",
"A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.": "A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.",
"About": "Om",
"About Us": "Om oss",
@@ -16,7 +19,6 @@
"Agility and security are paramount in business transactions, and LibreSign emerges as the intelligent choice for diverse sectors. Developed by LibreCode, a cooperative of IT professionals, LibreSign embodies the Free and Open-Source Software (FOSS) philosophy. With robust security standards, it ensures the inviolability of electronic signatures, making it ideal for government, education, and corporate enterprises": "Smidighet og sikkerhet er avgjørende i forretningstransaksjoner, og LibreSign fremstår som det intelligente valget for ulike sektorer. LibreSign er utviklet av LibreCode, et kooperativ av IT-fagfolk, og legemliggjør filosofien om fri og åpen kildekode (FOSS). Med robuste sikkerhetsstandarder sikrer den ukrenkeligheten til elektroniske signaturer, noe som gjør den ideell for myndigheter, utdanning og bedrifter.",
"Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n": "Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n",
"Any Questions? Answered": "Spørsmål? Besvart",
- "Basic": "Grunnleggende",
"Beyond offering agility and security in digital signatures and document management, LibreSign features functionalities that adapt to the specific needs of your organization.": "I tillegg til å tilby smidighet og sikkerhet innen digitale signaturer og dokumenthåndtering, har LibreSign funksjoner som tilpasser seg de spesifikke behovene til organisasjonen din.",
"Blog Page": "Bloggside",
"Business": "Virksomhet",
@@ -25,19 +27,23 @@
"By %s": "By %s",
"By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.": "By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.",
"CONTACT US": "Kontakt oss",
+ "CRL (Certificate Revocation List) Implementation in LibreSign": "CRL (Certificate Revocation List) Implementation in LibreSign",
"Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!": "Velg den perfekte planen for dine behov - Fleksibilitet og sikkerhet for bedrifter i alle størrelser!",
"Cloud Storage": "Skylagring",
"Compare plans": "Sammenlign planer",
"Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!": "Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!",
"Contact": "Kontakt",
+ "Contact us for pricing": "Kontakt oss for priser",
"Contact us to more informations": "Kontakt oss for mer informasjon",
"Contribute to a greener world by eliminating the use of paper.": "Bidra til en grønnere verden ved å eliminere bruken av papir.",
+ "Custom Quote": "Tilpasset tilbud",
"Customization of visual identity (colors, logo and domain)": "Customization of visual identity (colors, logo and domain)",
"Developed by": "Utviklet av",
"Did you know that digital signature is the safest and most efficient way to validate electronic documents?": "Visste du at digital signatur er den sikreste og mest effektive måten å validere elektroniske dokumenter på?",
"Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.": "Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.",
"Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.": "Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.",
"Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.": "Oppdag gyldigheten til digitale signaturer i Brasil og rundt om i verden. Denne artikkelen utforsker det juridiske grunnlaget for elektroniske signaturer, siterer spesifikke lover og fremhever fordelene med denne teknologien for bedrifter og institusjoner.",
+ "DocMDP (Document Modification Detection and Prevention) in LibreSign": "DocMDP (Document Modification Detection and Prevention) in LibreSign",
"Document management in education - Challenges and solutions with LibreSign": "Document management in education - Challenges and solutions with LibreSign",
"Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.": "Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.",
"Document validation by QR Code": "Dokumentbekreftelse med QR-kode",
@@ -46,6 +52,7 @@
"Electronic document management": "Electronic document management",
"Electronic signature capture is a technology for signing electronic document files with a handwritten signature. The use of this technology allows for the elimination of the mailing, storage, filing, copying, and retrieval of paper documents. This will save your business time and money.": "Elektronisk signaturfangst er en teknologi for å signere elektroniske dokumentfiler med en håndskrevet signatur. Bruken av denne teknologien gjør det mulig å eliminere utsendelse, lagring, arkivering, kopiering og henting av papirdokumenter. Dette vil spare virksomheten din for tid og penger.",
"Encrypted signatures that guarantee the integrity of your documents.": "Krypterte signaturer som garanterer integriteten til dokumentene dine.",
+ "Envelopes - Batch document signing in LibreSign": "Envelopes - Batch document signing in LibreSign",
"Features": "Funksjoner",
"File Creation, Signature with Digital Certificate, Signature Management, Document Management, Validation, API": "Filoppretting, signatur med digitalt sertifikat, signaturbehandling, dokumenthåndtering, validering, API",
"Fill in the fields below with your data": "Fyll ut feltene nedenfor med dine data",
@@ -64,6 +71,8 @@
"Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.": "Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.",
"Language": "Språk",
"Last articles": "Siste artikler",
+ "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.": "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.",
+ "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.": "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.",
"Learn more": "Lær mer",
"Legal validity of electronic signatures in Brazil and around the world": "Legal validity of electronic signatures in Brazil and around the world",
"Let’s talk about digitally signing your documents!": "La oss snakke om digital signering av dokumentene dine!",
@@ -78,6 +87,8 @@
"LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.": "LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.",
"LibreSign is a web application for electronic signatures (e-Sign) developed by the LibreCode cooperative (Brazilian cooperative specialized in free software development). Its development began at the beginning of 2020, in the midst of the pandemic, when people and companies were migrating their physical documentation to digital, and then there was a need to develop a web solution that could offer the possibility of signing documents, contracts and proposals online with security and agility.": "LibreSign er en nettapplikasjon for elektroniske signaturer (e-Sign) utviklet av LibreCode-kooperativet (brasiliansk kooperativ spesialisert på fri programvareutvikling). Utviklingen startet i begynnelsen av 2020, midt i pandemien, da folk og bedrifter migrerte sin fysiske dokumentasjon til digital, og da var det behov for å utvikle en nettløsning som kunne tilby muligheten til å signere dokumenter, kontrakter og forslag online med sikkerhet og smidighet.",
"LibreSign is the ideal choice for educational institutions looking to enhance their document processes with legal validity. Simplify the signing of contracts, authorizations, and other essential documents for academic administration. Promote effective document management, providing a streamlined and modern experience for students, teachers, and administrative staff.": "LibreSign er det ideelle valget for utdanningsinstitusjoner som ønsker å forbedre sine dokumentprosesser med juridisk gyldighet. Forenkle signering av kontrakter, autorisasjoner og andre viktige dokumenter for akademisk administrasjon. Fremme effektiv dokumenthåndtering, og gi en strømlinjeformet og moderne opplevelse for studenter, lærere og administrativt ansatte.",
+ "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.": "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.",
+ "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.": "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.",
"LibreSign revolutionizes document authenticity verification with QR Code, ensuring security, efficiency, and practicality. Its instantaneous validation, agility, transparency, and compatibility with various platforms make it perfect for sustainable businesses. Try this solution now!": "LibreSign revolusjonerer dokumentets autentisitetsverifisering med QR-kode, noe som sikrer sikkerhet, effektivitet og praktisk. Dens umiddelbare validering, smidighet, åpenhet og kompatibilitet med ulike plattformer gjør den perfekt for bærekraftige virksomheter. Prøv denne løsningen nå!",
"Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.": "Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.",
"Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.": "Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.",
@@ -101,16 +112,17 @@
"Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.": "Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.",
"Public sector": "Offentlig sektor",
"Real-time monitoring": "Real-time monitoring",
- "STARTING FROM": "STARTING FROM",
"Security": "Sikkerhet",
"Send Message": "Send melding",
"Sending reminder by email": "Sending reminder by email",
"Sign and send documents in seconds, from anywhere in the world.": "Signer og send dokumenter på sekunder, fra hvor som helst i verden.",
+ "Signature Order - Sequential or Parallel Signing in LibreSign": "Signature Order - Sequential or Parallel Signing in LibreSign",
"Simple electronic signature (without digital certificate) unlimited": "Simple electronic signature (without digital certificate) unlimited",
"Simplify your digital signatures and document management safely and efficiently": "Forenkle dine digitale signaturer og dokumenthåndtering trygt og effektivt",
"Speed": "Hastighet",
"Streamline the signing of digital documents for multiple individuals, ensuring legal validity, security, and collaboration. Expedite contract processes between departments, eliminating the need for in-person meetings. Embrace efficiency and collaboration with LibreSign, guiding your organization towards seamless digital transformation": "Effektiviser signering av digitale dokumenter for flere enkeltpersoner, og sikrer juridisk gyldighet, sikkerhet og samarbeid. Fremskynde kontraktsprosesser mellom avdelinger, og eliminer behovet for personlige møter. Omfavn effektivitet og samarbeid med LibreSign, og veileder organisasjonen din mot sømløs digital transformasjon",
"Sustainability": "Bærekraft",
+ "TAILORED PRICING": "TILPASSET PRIS",
"Talk to sales": "Snakk med salg",
"Target audience": "Målgruppe",
"Task control and management": "Task control and management",
diff --git a/lang/pt-BR/main.json b/lang/pt-BR/main.json
index 850aa56f..80c6c6d4 100644
--- a/lang/pt-BR/main.json
+++ b/lang/pt-BR/main.json
@@ -2,12 +2,15 @@
"# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n": "# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n",
"# LibreSign Privacy Notice\n\n## Introduction\n\nThe **LibreSign** is documents signer free developed by **LibreCode**, cooperative of professional of IT. The LibreSign was thinked having to base the security and the privacy of users.\n\nWe establish this Privacy Notice to inform how the personal data collected through of the our contact form on website of LibreSign is treaties, protected and utilized.\n\nThis Notice is governed for norms of General Data Protection Law (GDPL) by Brasil and General Data Protection Law (GDPL) by Europe Union, reflexeting our compromise in protect the privacy and the integration of users personal data.\n\n## Collect of Data\n\nThe LibreCode collect and treat the following personal data through of your website (www.libresign.coop):\n\n- **Name**\n- **E-mail**\n- **Phone**\n\nThese data is provided voluntarily by users when filling the contact form available on our website. The collect these data have how finality exclusive establish a communication channel efficient with the interested in our products and services.\n\n**When filling the registration form you agree with the treat of your data to publish of products of LibreCode. You can revoke your consent any time, just click on link available in communication or send an e-mail to:** contato@librecode.coop.\n\n## Use of Data\n\nThe personal data collected is used just to the following finalities:\n\n- Answer of requests, doubts or users of comments\n- Send communications that have been expressly requested by user ou that be pertinent to your manifested interest\n- Register of attendance history\n- For legal and/or regulatory purposes\n \nThe LibreCode is committed to not use the data collected to specific distincts finality above without the prev notification of the data holders.\n\n## Data Sharing\n\nThe LibreCode not share, sell, rent or another way provides collected personal data to third parties, except when necessary to fulfill with legal obligations or with user express authorization.\n\n## Data Security\n\nWe employ measures security technique and organizational to protected the personal data collected against accesses not authorized, undue changes, disclosure or destruction. Our commitment with security, include adoption of recommented pratics in terms of data protect. To know more about the security politic of LibreCode between in contact us.\n\n## Data Holders Rights\n\nAccording to art 18 of LGPD and the GDPR, users have the use to access, to correct, delete or to carry personal user data, beside can limit or if oppose to your treat when substantiated in the interest legitimate of the controller.\n\nTo exercise your rights, the holders of data and/or your responsible should **in to by way e-mail:** contato@librecode.coop\n\n## Changes of Privacy Politic\n\nLibreCode reserves the right to change this Privacy Policy any moment. The changes will be valid immediately after you publish on website. We recommend the periodic review this politic.\n\n## Contact\n\nTo relative questions to our Privacy Politic any moment contact us by e-mail: contato@librecode.coop\n\nThis Privacy Politic was updated by last once on 08 april 2024": "# Aviso de Privacidade da LibreSign\n\n## Introdução\n\nO **LibreSign** é um sinalizador de documentos livre desenvolvido pela **LibreCode**, cooperativa de profissionais de TI. O LibreSign foi pensado ter que basear a segurança e a privacidade dos usuários.\n\nNós estabelecemos este Aviso de Privacidade para informar como os dados pessoais coletados através do nosso formulário de contato no site da LibreSign são tratados, protegidos e utilizados.\n\nEste Aviso é regido por normas da Lei Geral de Proteção de Dados (GDPL) da Brasil e da Lei Geral de Proteção de Dados (LGPD) da União Europeia, refletindo nosso compromisso em proteger a privacidade e a integração de dados pessoais dos usuários.\n\n## Coleta de Dados\n\nO LibreCode coleta e trata os seguintes dados pessoais através do seu site (www.libresign.coop):\n\n- **Nome**\n- **E-mail**\n- **Telefone**\n\nEsses dados são fornecidos voluntariamente pelos usuários ao preencher o formulário de contato disponível em nosso site. A coleta desses dados tem como a finalidade exclusiva estabelece um canal de comunicação eficiente com os interessados em nossos produtos e serviços.\n\n**Ao preencher o formulário de registro, você concorda com o tratamento de seus dados para publicar produtos da LibreCode. Você pode revogar seu consentimento a qualquer momento, basta clicar no link disponível na comunicação ou enviar um e-mail para:** contato@librecode.coop.\n\n## Uso de Dados\n\nOs dados pessoais recolhidos são utilizados apenas para as seguintes finalidades:\n\n- Resposta de pedidos, dúvidas ou usuários de comentários\n- Envie comunicações que tenham sido expressamente solicitadas pelo usuário ou que sejam pertinentes ao seu interesse manifestado\n- Registro de histórico de atendimento\n- Para fins legais e/ou regulamentares\n\nO LibreCode está comprometido em não usar os dados coletados para a finalidade específica dos dados acima sem a notificação prévia dos titulares de dados.\n\n## Partilha de dados\n\nO LibreCode não compartilha, vende, aluga ou outra forma fornece dados pessoais coletados a terceiros, exceto quando necessário para cumprir com obrigações legais ou com autorização expressa do usuário.\n\n## Segurança de dados\n\nUtilizamos medidas técnicas de segurança e organização para proteger os dados pessoais recolhidos contra acessos não autorizados, alterações indevidas, divulgação ou destruição. Nosso compromisso com a segurança, inclui a adoção de práticas recomendada em termos de proteção de dados. Para saber mais sobre a política de segurança da LibreCode entre em contato conosco.\n\n## Direitos dos titulares de dados\n\nDe acordo com a arte 18 da LGPD e do GDPR, os usuários têm o uso de acessar, corrigir, excluir ou transportar dados pessoais do usuário, ao lado pode limitar ou se opor ao seu tratamento quando fundamentado no interesse legítimo do controlador.\n\nPara exercer os seus direitos, os titulares de dados e/ou os seus responsáveis devem **por e-mail:** contato@librecode.coop\n\n## Mudanças de Privacidade Política\n\nA LibreCode reserva-se o direito de alterar esta Política de Privacidade a qualquer momento. As alterações serão válidas imediatamente após a publicação no site. Recomendamos a revisão periódica desta política.\n\n## Contato\n\nPara questões relativas à nossa Política de Privacidade, entre em contato conosco por e-mail: contato@librecode.coop\n\nEsta Política de Privacidade foi atualizada pela última vez em 08 abril 2024",
"## Common problems in document management\n\nDocument management faces several common issues. Manual document signing can take days or even weeks, especially when multiple signatures are needed, delaying important processes and affecting the institution's operations. Moreover, manual handling of documents increases the chance of errors, leading to legal and administrative problems. The use of paper, printing, storage, and sending physical documents also generates significant costs for institutions. Finally, ensuring data security and compliance with laws, such as the LGPD (General Data Protection Law), is a constant challenge.\n\n### Real problem: Floods in Rio Grande do Sul\n\nA recent example that highlights the importance of document digitization is the floods in Rio Grande do Sul. Many schools and universities lost important physical documents due to the floods, resulting in enormous losses and difficulties in recovering essential information. The lack of digitization severely affected the administration and continuity of educational activities. This tragic event reinforces the urgent need to adopt digital solutions to protect important data and ensure the resilience of institutions against natural disasters.\n\n## LibreSign: The ideal solution\n\nLibreSign is a digital signature platform that allows educational institutions to digitize and automate document management, offering a secure, efficient, and cost-effective solution. With LibreSign, you reduce bureaucracy, save resources, and increase security.\n\nAmong its features, we highlight:\n\n1. Digital document signing using digital certificates (e-CPF, e-CNPJ, or system-generated certificates).\n2. Legal validity and compliance with Brazilian legislation, including the General Data Protection Law (LGPD), and the European Union's General Data Protection Regulation (GDPR).\n3. Centralizes the creation, storage, and signing of documents in a single system, facilitating access and management, reducing bureaucracy, and increasing the efficiency of academic offices.\n4. Uses advanced encryption to protect documents from unauthorized access, ensuring data integrity and confidentiality, which is essential for LGPD compliance.\n5. Eliminates the need for physical document sending, saving time and resources.\n\n### Examples of documents that can be signed\n\nLibreSign can be used to sign a wide variety of school and academic documents, including:\n\n1. Enrollment contracts\n2. Report cards and performance reports\n3. Certificates and diplomas\n4. Lesson plans\n5. Parental authorizations\n6. Statements and requests\n7. Various administrative forms\n\nUsing LibreSign for these documents increases practicality, security, efficiency, and legal compliance, benefiting both institutions and students.\n\n#### Discover the benefits of using LibreSign\n\n- Speed: Reduce the time needed to sign and process documents, increasing productivity.\n- Cost Reduction: Eliminate costs associated with paper, printing, and sending documents.\n- Security: Ensure the protection of sensitive data and compliance with the LGPD.\n- Sustainability: Contribute to environmental preservation by reducing paper usage.\n- Accessibility: Allow documents to be signed from anywhere, at any time, facilitating remote management.\n\nDigitizing signing processes is a crucial step towards modernizing educational institutions. LibreSign offers a complete solution that not only improves efficiency and reduces costs but also ensures data security and compliance. Transform your institution's document management with LibreSign and enjoy all the benefits of digital transformation.\n\n🌐 Contact us: [LibreSign Contact Us](https://libresign.coop/contact-us)\n": "## Problemas comuns na gestão de documentos\n\nA gestão de documentos enfrenta vários problemas comuns. A assinatura manual de documentos pode demorar dias ou mesmo semanas, especialmente quando são necessárias várias assinaturas, atrasando processos importantes e afectando as operações da instituição. Além disso, o manuseamento manual de documentos aumenta a probabilidade de erros, o que conduz a problemas legais e administrativos. A utilização de papel, a impressão, o armazenamento e o envio de documentos físicos também geram custos significativos para as instituições. Por fim, garantir a segurança dos dados e o cumprimento de leis, como a LGPD (Lei Geral de Proteção de Dados), é um desafio constante.\n\n### Problema real: Inundações no Rio Grande do Sul\n\nUm exemplo recente que ressalta a importância da digitalização de documentos são as enchentes no Rio Grande do Sul. Muitas escolas e universidades perderam documentos físicos importantes devido às enchentes, resultando em enormes prejuízos e dificuldades na recuperação de informações essenciais. A falta de digitalização afetou gravemente a administração e a continuidade das atividades educacionais. Esse trágico acontecimento reforça a necessidade urgente de adotar soluções digitais para proteger dados importantes e garantir a resiliência das instituições contra desastres naturais.\n\n## LibreSign: A solução ideal\n\nLibreSign é uma plataforma de assinatura digital que permite às instituições de ensino digitalizar e automatizar a gestão de documentos, oferecendo uma solução segura, eficiente e económica. Com o LibreSign, reduz a burocracia, poupa recursos e aumenta a segurança.\n\nEntre as suas caraterísticas, destacamos:\n\n1. Assinatura digital de documentos utilizando certificados digitais (e-CPF, e-CNPJ ou certificados gerados pelo sistema).\n2. Validade jurídica e conformidade com a legislação brasileira, incluindo a Lei Geral de Proteção de Dados (LGPD), e o Regulamento Geral de Proteção de Dados da União Europeia (GDPR).\n3. Centraliza a criação, o armazenamento e a assinatura de documentos em um único sistema, facilitando o acesso e o gerenciamento, reduzindo a burocracia e aumentando a eficiência das secretarias acadêmicas.\n4. Utiliza criptografia avançada para proteger os documentos contra acessos não autorizados, garantindo a integridade e a confidencialidade dos dados, essenciais para o cumprimento da LGPD.\n5. Elimina a necessidade de envio físico de documentos, economizando tempo e recursos.\n\n### Exemplos de documentos que podem ser assinados\n\nLibreSign pode ser utilizado para assinar uma grande variedade de documentos escolares e académicos, incluindo:\n\n1. Contratos de inscrição\n2. Boletins de notas e relatórios de desempenho\n3. Certificados e diplomas\n4. Planos de aulas\n5. Autorizações dos pais\n6. Declarações e pedidos\n7. Diversos formulários administrativos\n\nA utilização do LibreSign para estes documentos aumenta a praticidade, a segurança, a eficiência e a conformidade legal, beneficiando tanto as instituições como os estudantes.\n\n#### Descubra as vantagens de utilizar o LibreSign\n\n- Rapidez: Reduzir o tempo necessário para assinar e processar documentos, aumentando a produtividade.\n- Redução de custos: Elimine os custos associados ao papel, à impressão e ao envio de documentos.\n- Segurança: Garantir a proteção de dados sensíveis e a conformidade com a LGPD.\n- Sustentabilidade: Contribuir para a preservação do meio ambiente, reduzindo o uso de papel.\n- Acessibilidade: Permitir que os documentos sejam assinados de qualquer lugar, a qualquer momento, facilitando o gerenciamento remoto.\n\nA digitalização dos processos de assinatura é um passo fundamental para a modernização das instituições de ensino. O LibreSign oferece uma solução completa que não apenas melhora a eficiência e reduz custos, mas também garante a segurança e a conformidade dos dados. Transforme a gestão de documentos da sua instituição com o LibreSign e aproveite todos os benefícios da transformação digital.\n\n🌐 Contactar-nos: [LibreSign Contact Us](https://libresign.coop/contact-us)\n",
+ "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n": "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n",
"### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n": "### Segurança avançada para empresas públicas\n\nNum ambiente digital onde a segurança da informação é crucial, especialmente para empresas públicas que lidam com grandes volumes de documentos sensíveis, o LibreSign destaca-se por oferecer segurança avançada. Utilizando a encriptação de dados e a autenticação multifactor, o LibreSign garante que os seus dados estão sempre protegidos.\n\n#### Veja algumas vantagens:\n\nA criptografia de ponta a ponta garante que apenas os destinatários autorizados possam acessar e ler o conteúdo do documento. Com o LibreSign, cada documento é criptografado desde o envio até a assinatura final, garantindo que suas informações permaneçam seguras em cada etapa do processo.\n\nEsta encriptação protege contra a interceção durante a transmissão e o armazenamento dos documentos, garantindo que, mesmo que os dados sejam acedidos por terceiros, serão indecifráveis e inúteis. Para as empresas públicas que lidam frequentemente com informações confidenciais, esta segurança adicional é essencial para proteger a integridade dos seus processos administrativos.\n\n#### Autenticação segura\n\nO LibreSign implementa a autenticação multifator (MFA), dificultando o acesso não autorizado e garantindo que apenas pessoas verificadas possam assinar documentos. Este método exige que os utilizadores forneçam duas ou mais formas de verificação antes de acederem aos documentos, tornando o processo de assinatura mais seguro e fiável.\n\nPor exemplo, para além da palavra-passe, pode ser necessário um código enviado para o telemóvel ou e-mail do utilizador. Este nível adicional de verificação impede que pessoas não autorizadas falsifiquem assinaturas ou acedam a documentos importantes. Para organizações públicas, onde a precisão e a responsabilidade são fundamentais, a MFA fornece uma camada extra de segurança indispensável.\n\n### A importância da segurança digital nas empresas públicas\n\nAs empresas públicas lidam diariamente com informações que exigem o mais alto nível de segurança. Desde contratos e acordos a documentos legislativos e registos de cidadãos, a proteção destes dados é crucial. Qualquer violação de segurança pode ter consequências graves, incluindo a perda de dados, o acesso não autorizado a informações sensíveis e danos na reputação da organização.\n\nO LibreSign foi desenvolvido com foco na segurança e eficiência. A plataforma garante que cada documento passe por um processo seguro, desde a criação até a assinatura final. Este nível de detalhe e cuidado é especialmente importante num cenário em que a fiabilidade e a segurança são obrigatórias.\n\n### Benefícios adicionais do LibreSign\n\nPara além das funcionalidades de segurança avançadas, o LibreSign oferece outras vantagens que tornam a gestão de documentos mais eficiente e segura:\n\n- **Interface intuitiva:** A plataforma é fácil de usar, permitindo que os funcionários se concentrem nas suas tarefas principais sem perder tempo com sistemas complicados.\n- **Monitorização em tempo real:** Acompanhe o estado dos documentos em tempo real, permitindo ações rápidas como o envio de lembretes para assinaturas pendentes.\n- **Integração com outros sistemas:** O LibreSign pode ser integrado com outros sistemas utilizados pela sua organização, proporcionando uma gestão documental mais coesa e centralizada.\n\n### Conclusão\n\nA segurança dos seus documentos não pode ser comprometida. Com o LibreSign, é garantida a máxima proteção através da encriptação de ponta a ponta e da autenticação com múltiplos factores de identificação. A nossa solução foi desenvolvida para cumprir os rigorosos requisitos de segurança das empresas públicas, garantindo que cada documento é tratado com o mais alto nível de integridade e fiabilidade.\n\nNão espere até que uma violação de segurança afete sua organização. Contacte-nos hoje para saber mais sobre como o LibreSign pode satisfazer as necessidades da sua organização pública. Agende uma demonstração e descubra como podemos melhorar a gestão de documentos e a eficiência administrativa da sua instituição.\n\nProteja os seus documentos, optimize os seus processos e garanta a segurança e eficiência que a sua organização pública merece com o LibreSign.\n",
+ "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n": "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n",
+ "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n": "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n",
"### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n": "### Monitoramento em tempo real - Transforme a gestão de documentos em organizações públicas com o LibreSign\n\nA gestão eficiente e transparente de documentos é um desafio constante para muitas organizações, especialmente as do sector público, onde a assinatura de grandes volumes de documentos é uma rotina. A falta de visibilidade e de controlo sobre o estado das assinaturas pode resultar em atrasos e numa perda considerável de produtividade, afectando negativamente os serviços e as operações diárias.\n\nImagine não ter a certeza se um documento importante foi assinado ou, pior ainda, descobrir que precisa de uma ação urgente quando já é demasiado tarde. Esse cenário não só gera frustração, como também pode comprometer a eficiência e a credibilidade da organização. É neste contexto que o LibreSign se destaca, oferecendo uma solução que proporciona total transparência e controlo sobre o processo de assinatura de documentos.\n\n### As principais vantagens da monitorização em tempo real com o LibreSign\n\n#### 1. Acompanhamento detalhado e imediato\n\nO monitoramento em tempo real do LibreSign permite acompanhar cada etapa do processo de assinatura. Isso significa que, a qualquer momento, é possível verificar se um documento foi assinado ou se ainda está pendente de ação. Esta visibilidade imediata é essencial para garantir que os documentos não fiquem parados e que todas as partes envolvidas cumpram os seus prazos.\n\n#### 2. Envio de lembretes automáticos\n\nQuando um documento está pendente de assinatura, o LibreSign permite enviar lembretes aos signatários. Esta funcionalidade garante que todos sejam notificados e possam agir rapidamente, evitando atrasos desnecessários. Nas organizações públicas, onde a rapidez e a precisão são fundamentais, esta capacidade de lembrar automaticamente os signatários é um diferencial muito significativo.\n\n#### 3. Resolução rápida de problemas\n\nCom a monitorização em tempo real, os problemas podem ser identificados e resolvidos imediatamente. Ao acompanhar a evolução dos documentos, é possível detetar quaisquer obstáculos ou atrasos e tomar as medidas necessárias para corrigir a situação. Esta capacidade de resposta rápida melhora a eficiência do fluxo de trabalho e garante que os documentos são assinados dentro dos prazos estabelecidos.\n\n#### 4. Painel de controlo intuitivo\n\nO painel de controlo interativo do LibreSign permite uma visão clara e detalhada do estado de cada documento. Esta interface intuitiva facilita a gestão e o acompanhamento de múltiplas assinaturas em simultâneo, permitindo que a equipa se concentre em tarefas mais estratégicas, sabendo que o sistema se encarrega do controlo e acompanhamento dos documentos.\n\n#### Porque é que as organizações públicas precisam do LibreSign?\n\nAs organizações públicas lidam com grandes volumes de documentos que precisam ser assinados por diferentes partes, muitas vezes em locais diferentes. A eficiência na gestão dessas assinaturas é essencial para manter os processos administrativos em ordem e garantir a continuidade dos serviços. O LibreSign não só acelera o processo de assinatura, como também melhora a organização e a produtividade das equipas, centralizando a gestão das assinaturas num único painel.\n\n### Exemplos de aplicações de monitorização em tempo real\n\n1. **Departamentos governamentais:**\n\nNos departamentos governamentais, onde a assinatura de documentos oficiais é uma atividade diária, a monitorização em tempo real garante que todos os documentos são assinados atempadamente e que nenhum pormenor importante é esquecido.\n\n2. **Hospitais e serviços de saúde:**\n\nNos hospitais e serviços de saúde, a gestão eficiente de documentos pode literalmente salvar vidas. A capacidade de monitorizar assinaturas de prescrições e autorizações, receitas e outros documentos críticos em tempo real garante que os doentes recebem os cuidados de que necessitam sem atrasos.\n\n3. **Setor da Educação:**\n\nEscolas, universidades e outras instituições de ensino podem beneficiar do LibreSign ao gerir contratos de professores, autorizações parentais, registos de alunos e outros documentos importantes de forma eficiente e transparente.\n\nA implementação da monitorização em tempo real com o LibreSign revoluciona a gestão documental, proporcionando uma experiência mais transparente e eficiente. As organizações públicas, em particular, podem beneficiar desta tecnologia, garantindo que os seus processos de assinatura são ágeis e bem controlados.\n\nNão deixe que a falta de visibilidade e controlo prejudique a produtividade da sua organização. Experimente o LibreSign e transforme os seus processos de assinatura digital. Agende uma demonstração e descubra como podemos melhorar a gestão documental e a eficiência administrativa da sua instituição.\n",
+ "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n": "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n",
"### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n": "### Validade das Assinaturas Jurídicas no Brasil e no Mundo\n\nCom a crescente digitalização dos processos administrativos e jurídicos, a validade das assinaturas eletrônicas se tornou um tema de grande relevância. As assinaturas digitais oferecem segurança, agilidade e praticidade, mas é fundamental entender seu embasamento legal tanto no Brasil quanto em outros países. Neste artigo, exploramos a validade jurídica das assinaturas digitais no contexto mundial.\n\n#### Assinaturas Jurídicas no Brasil\n\nNo Brasil, a validade das assinaturas eletrônicas está prevista na [Medida Provisória nº 2.200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), que instituiu a Infraestrutura de Chaves Públicas Brasileira (ICP-Brasil). Esta medida estabelece que documentos assinados digitalmente, utilizando certificados emitidos por autoridades credenciadas, possuem a mesma validade jurídica dos documentos assinados fisicamente.\n\n**Artigo 10 da MP 2.200-2/2001:**\n“Consideram-se documentos públicos ou particulares os documentos eletrônicos de que trata esta Medida Provisória, cujas assinaturas foram realizadas com a utilização de certificado digital emitido por uma Autoridade Certificadora credenciada, na forma desta Medida Provisória.”\n\nAlém disso, a [Lei nº 14.063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) trouxe atualizações importantes sobre o uso das assinaturas eletrônicas no setor público, classificando-as em três tipos: simples, avançada e qualificada, sendo a última a que possui maior nível de segurança e validade jurídica.\n\n#### Assinaturas Jurídicas no Mundo\n\nA regulamentação das assinaturas eletrônicas varia de país para país, mas há um movimento global em direção à sua aceitação e validação.\n\n##### União Europeia\n\nNa União Europeia, o [Regulamento eIDAS](https://eur-lex.europa.eu/legal-content/PT/TXT/?uri=CELEX%3A32014R0910) (Electronic Identification, Authentication and Trust Services), em vigor desde 2016, uniformiza a utilização de assinaturas eletrônicas entre os Estados-Membros. O eIDAS reconhece três tipos de assinaturas eletrônicas: simples, avançada e qualificada, sendo esta última a única que possui equivalência jurídica às assinaturas manuscritas.\n\n**Artigo 25 do Regulamento eIDAS:**\n“Uma assinatura eletrônica qualificada tem o mesmo efeito jurídico de uma assinatura manuscrita.”\n\n##### Estados Unidos\n\nNos Estados Unidos, a Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) e a Uniform Electronic Transactions Act (UETA) estabelecem que assinaturas eletrônicas são legalmente válidas e aplicáveis, desde que todas as partes envolvidas no contrato optem por usar meios eletrônicos.\n\n**Seção 101(a) da E-SIGN Act:**\n“A assinatura, contrato ou outro registro relacionado a tal transação não pode ser negado efeito legal, validade ou aplicabilidade apenas porque é uma assinatura eletrônica ou um registro eletrônico.”\n\n#### Benefícios das assinaturas digitais\n\nA adoção de assinaturas digitais traz diversos benefícios para empresas e instituições:\n\n1. **Segurança:** Utilizam criptografia para garantir a autenticidade e integridade dos documentos.\n2. **Eficiência:** Reduzem o tempo necessário para assinar e processar documentos.\n3. **Sustentabilidade:** Diminuem o uso de papel, contribuindo para práticas mais sustentáveis.\n\nAs assinaturas digitais representam um avanço significativo na forma como os documentos são gerenciados e autenticados. Sua validade jurídica é amparada por leis específicas tanto no Brasil quanto em outros países, proporcionando segurança e eficiência para empresas e pessoas físicas.\n\nPara mais informações sobre a validade das assinaturas digitais no Brasil, visite [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n",
- "$ 600/mo": "R$ 600/mês",
+ "- Pricing tailored to your operation\n- Deployment and support scope defined together": "- Preço ajustado à realidade da sua operação\n- Escopo de implantação e suporte definido em conjunto",
"- Unlimited accounts\n- Storage customized": "- Contas ilimitadas\n- Armazenamento customizado",
- "- Until 5 accounts\n- Storage until 1Gb": "- Até 5 contas\n- Armazenamento até 1Gb",
"A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.": "Uma solução simples e completa. Agiliza os processos e pode eliminar o uso de papel. Integramos com o nosso sistema de gestão pública ou e-Cidade, ficou absurdamente bom. Parabéns.",
"About": "Sobre",
"About Us": "Sobre nós",
@@ -16,7 +19,6 @@
"Agility and security are paramount in business transactions, and LibreSign emerges as the intelligent choice for diverse sectors. Developed by LibreCode, a cooperative of IT professionals, LibreSign embodies the Free and Open-Source Software (FOSS) philosophy. With robust security standards, it ensures the inviolability of electronic signatures, making it ideal for government, education, and corporate enterprises": "Agilidade e segurança são fundamentais nas transações comerciais, e o LibreSign surge como a escolha inteligente para diversos setores. Desenvolvido pela LibreCode, uma cooperativa de profissionais de TI, o LibreSign incorpora a filosofia do Software Livre e de Código Aberto (FOSS). Com padrões de segurança robustos, garante a inviolabilidade das assinaturas eletrônicas, tornando-o ideal para governos, educação e empresas corporativas",
"Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n": "Agilidade e segurança nas transações comerciais são essenciais para o sucesso de qualquer empresa. É nesse cenário que o LibreSign se destaca como a escolha inteligente para empresas de diversos setores, oferecendo não apenas eficiência, mas também um compromisso com a segurança e a privacidade.\n\nDesenvolvido pela LibreCode, uma cooperativa de profissionais de TI, o LibreSign é mais do que um simples software; é uma expressão da filosofia do Software Livre e de Código Aberto (FOSS), reflectindo não só o que fazemos, mas porque o fazemos. Afinal, somos movidos pela convicção de que a tecnologia deve ser acessível a todos, promovendo a liberdade de uso, modificação e distribuição.\n\nAo adotar o modelo Free and Open-Source, o LibreSign não só oferece às empresas uma solução rentável, como também oferece a flexibilidade necessária para adaptar o software às exigências específicas de cada empresa. Isto significa que a sua empresa não está apenas a adquirir um produto, mas a tornar-se parte de uma comunidade dedicada à construção de soluções tecnológicas avançadas.\n\n## Segurança em primeiro lugar\n\nDesenvolvido com os mais elevados padrões de segurança e encriptação, os nossos utilizadores podem assinar documentos electrónicos com confiança, sabendo que as suas informações sensíveis estão protegidas.\n\nA encriptação garante que as assinaturas electrónicas são seguras e invioláveis, proporcionando tranquilidade não só às empresas, mas também aos clientes e parceiros. Ao escolher o LibreSign, a sua empresa está a investir numa solução que coloca a segurança e a privacidade no centro de tudo o que fazemos.\n\n## Para quem é o LibreSign?\n\nO LibreSign é uma solução versátil desenvolvida para atender às necessidades específicas de vários setores, incluindo governo, educação e empresas corporativas. Ao simplificar e agilizar processos como a assinatura de contratos públicos, documentos académicos e acordos empresariais, o LibreSign promove a eficiência a todos os níveis destas instituições.\n\nAo utilizar o LibreSign, as empresas não estão apenas a investir numa ferramenta prática; estão a aderir a uma revolução que redefine e optimiza a gestão de processos. Esta transformação visa não só aumentar a eficiência, mas também reforçar a segurança, levando-as ao mais alto nível de excelência.\n",
"Any Questions? Answered": "Alguma pergunta? Respondidas",
- "Basic": "Básico",
"Beyond offering agility and security in digital signatures and document management, LibreSign features functionalities that adapt to the specific needs of your organization.": "Além de proporcionar agilidade e segurança em assinatura digital e gestão de documentos, o LibreSign apresenta funcionalidades que se adaptam às necessidades específicas da sua organização.",
"Blog Page": "Blog",
"Business": "Empresas",
@@ -25,19 +27,23 @@
"By %s": "Por %s",
"By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.": "Ao utilizar certificados digitais emitidos por uma Autoridade Certificadora, é possível garantir a identidade do signatário e a integridade do documento. Assinaturas físicas podem ser falsificadas, comprometendo a validade dos seus documentos. Porém, as assinaturas digitais, regulamentadas pela Medida Provisória nº 2.200-2/2001, proporcionam a segurança necessária para proteger a autenticidade e a validade jurídica dos seus documentos.",
"CONTACT US": "CONTACTE-NOS",
+ "CRL (Certificate Revocation List) Implementation in LibreSign": "CRL (Certificate Revocation List) Implementation in LibreSign",
"Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!": "Escolha o plano perfeito para suas necessidades - Flexibilidade e segurança para empresas de todos os tamanhos!",
"Cloud Storage": "Armazenamento em Nuvem",
"Compare plans": "Comparar planos",
"Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!": "Parabéns à equipe de desenvolvimento do LibreSign por criar uma solução tão eficiente para assinaturas eletrônicas! O LibreSign possui uma interface intuitiva e fácil de usar, permitindo integração com diversas APIs. Tenho acompanhado o desenvolvimento e vejo que ele melhora a cada novo lançamento. O LibreSign torna o gerenciamento de assinaturas digitais uma experiência simples e confiável. Eu recomendo!",
"Contact": "Contato",
+ "Contact us for pricing": "Fale conosco para receber um orçamento",
"Contact us to more informations": "Contacte-nos para mais informações",
"Contribute to a greener world by eliminating the use of paper.": "Contribua para um mundo mais verde eliminando o uso de papel.",
+ "Custom Quote": "Orçamento personalizado",
"Customization of visual identity (colors, logo and domain)": "Personalização de identidade visual (cores, logotipo e domínio)",
"Developed by": "Desenvolvido por",
"Did you know that digital signature is the safest and most efficient way to validate electronic documents?": "Você sabia que a assinatura digital é a forma mais segura e eficiente de validar documentos eletrônicos?",
"Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.": "Descubra o LibreSign, a plataforma de assinaturas digitais seguras e eficientes. Reduza custos, aumente a produtividade e garanta validade jurídica com criptografia avançada. Ideal para empresas que buscam agilidade e sustentabilidade.",
"Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.": "Conheça os principais benefícios da integração do e-Cidade com o LibreSign e veja como essa parceria está transformando a digitalização das prefeituras, promovendo a agilidade, segurança e sustentabilidade.",
"Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.": "Descubra a validade das assinaturas digitais no Brasil e em todo o mundo. Este artigo explora a base jurídica de assinaturas eletrônicas, citando leis específicas e destacando os benefícios desta tecnologia para empresas e instituições.",
+ "DocMDP (Document Modification Detection and Prevention) in LibreSign": "DocMDP (Document Modification Detection and Prevention) in LibreSign",
"Document management in education - Challenges and solutions with LibreSign": "Gestão documental na educação – Desafios e soluções com LibreSign",
"Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.": "A gestão de documentos no setor da educação é complexa e ineficaz quando feita manualmente. Com o LibreSign, as instituições de ensino podem otimizar a gestão de documentos, tornando-a mais rápida, precisa e eficiente.",
"Document validation by QR Code": "Validação de documentos por QR Code",
@@ -46,6 +52,7 @@
"Electronic document management": "Gerenciamento eletrônico de documentos",
"Electronic signature capture is a technology for signing electronic document files with a handwritten signature. The use of this technology allows for the elimination of the mailing, storage, filing, copying, and retrieval of paper documents. This will save your business time and money.": "A assinatura eletrônica é uma tecnologia para assinar arquivos de documentos eletrônicos com assinatura manuscrita. A utilização desta tecnologia permite eliminar o envio, armazenamento, arquivamento, cópia e recuperação de documentos em papel. Isso economizará tempo e dinheiro para sua empresa.",
"Encrypted signatures that guarantee the integrity of your documents.": "Assinaturas criptografadas que garantem a integridade dos seus documentos.",
+ "Envelopes - Batch document signing in LibreSign": "Envelopes - Batch document signing in LibreSign",
"Features": "Recursos",
"File Creation, Signature with Digital Certificate, Signature Management, Document Management, Validation, API": "Criação de Arquivos, Assinatura com Certificado Digital, Gestão de Assinaturas, Gestão de Documentos, Validação, API",
"Fill in the fields below with your data": "Preencha os campos abaixo com seus dados",
@@ -64,6 +71,8 @@
"Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.": "Mantenha seus documentos seguros com criptografia ponta a ponta e autenticação multifator, garantindo proteção durante todo o processo de assinatura eletrônica de documentos.",
"Language": "Idioma",
"Last articles": "Últimos artigos",
+ "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.": "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.",
+ "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.": "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.",
"Learn more": "Saiba mais",
"Legal validity of electronic signatures in Brazil and around the world": "Validade jurídica das assinaturas eletrônicas no Brasil e no mundo",
"Let’s talk about digitally signing your documents!": "Vamos falar sobre assinar digitalmente seus documentos!",
@@ -78,6 +87,8 @@
"LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.": "O LibreSign já percorreu um longo caminho e é um excelente substituto para a maioria das soluções comerciais de assinatura eletrónica e é de código aberto.",
"LibreSign is a web application for electronic signatures (e-Sign) developed by the LibreCode cooperative (Brazilian cooperative specialized in free software development). Its development began at the beginning of 2020, in the midst of the pandemic, when people and companies were migrating their physical documentation to digital, and then there was a need to develop a web solution that could offer the possibility of signing documents, contracts and proposals online with security and agility.": "LibreSign é uma aplicação web para assinaturas eletrônicas (e-Sign) desenvolvida pela cooperativa LibreCode (cooperativa brasileira especializada em desenvolvimento de software livre). Seu desenvolvimento começou no início de 2020, em plena pandemia, quando pessoas e empresas migravam sua documentação física para digital, e então surgiu a necessidade de desenvolver uma solução web que pudesse oferecer a possibilidade de assinatura de documentos, contratos e propostas online com segurança e agilidade.",
"LibreSign is the ideal choice for educational institutions looking to enhance their document processes with legal validity. Simplify the signing of contracts, authorizations, and other essential documents for academic administration. Promote effective document management, providing a streamlined and modern experience for students, teachers, and administrative staff.": "LibreSign é a escolha ideal para instituições de ensino que buscam aprimorar seus processos documentais com validade jurídica. Simplifique a assinatura de contratos, autorizações e outros documentos essenciais à administração acadêmica. Promova uma gestão documental eficaz, proporcionando uma experiência simplificada e moderna para alunos, professores e funcionários administrativos.",
+ "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.": "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.",
+ "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.": "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.",
"LibreSign revolutionizes document authenticity verification with QR Code, ensuring security, efficiency, and practicality. Its instantaneous validation, agility, transparency, and compatibility with various platforms make it perfect for sustainable businesses. Try this solution now!": "A LibreSign revoluciona a verificação da autenticidade de documentos com Código QR, garantindo segurança, eficiência e praticidade. Sua validação instantânea, agilidade, transparência e compatibilidade com várias plataformas a tornam perfeita para negócios sustentáveis. Experimente esta solução agora!",
"Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.": "O Libresign está a tornar-se uma alternativa completa a serviços de nuvem dispendiosos como o DocuSign. A integração com a nuvem seguinte torna-o uma verdadeira opção para assinaturas electrónicas.",
"Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.": "A integração nextcloud da Libresign percorreu um longo caminho no ano passado. Se você já experimentou antes e achou que estava faltando, dê outra chance. Vejo que é uma opção real e uma alternativa a outros serviços de assinatura eletrônica.",
@@ -101,16 +112,17 @@
"Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.": "Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.",
"Public sector": "Setor público",
"Real-time monitoring": "Monitoramento em tempo real",
- "STARTING FROM": "A PARTIR DE",
"Security": "Segurança",
"Send Message": "Enviar Mensagem",
"Sending reminder by email": "Envio de lembrete por email",
"Sign and send documents in seconds, from anywhere in the world.": "Assine e envie documentos em segundos, de qualquer lugar do mundo.",
+ "Signature Order - Sequential or Parallel Signing in LibreSign": "Signature Order - Sequential or Parallel Signing in LibreSign",
"Simple electronic signature (without digital certificate) unlimited": "Assinatura eletrônica simples (sem certificado digital) ilimitada",
"Simplify your digital signatures and document management safely and efficiently": "Simplifique suas assinaturas digitais e a gestão de documentos de forma segura e eficiente",
"Speed": "Rapidez",
"Streamline the signing of digital documents for multiple individuals, ensuring legal validity, security, and collaboration. Expedite contract processes between departments, eliminating the need for in-person meetings. Embrace efficiency and collaboration with LibreSign, guiding your organization towards seamless digital transformation": "Agilize a assinatura de documentos digitais para múltiplos assinantes, garantindo validade legal, segurança e colaboração. Acelere os processos contratuais entre departamentos, eliminando a necessidade de reuniões presenciais. Abraçe a eficiência e a colaboração com a LibreSign, guiando sua organização em direção a uma transformação digital sem igual",
"Sustainability": "Sustentabilidade",
+ "TAILORED PRICING": "PREÇO SOB CONSULTA",
"Talk to sales": "Falar com Vendas",
"Target audience": "Público alvo",
"Task control and management": "Controle e gerenciamento de tarefas",
diff --git a/lang/ta/main.json b/lang/ta/main.json
index 2efb0632..d1b43586 100644
--- a/lang/ta/main.json
+++ b/lang/ta/main.json
@@ -2,12 +2,15 @@
"# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n": "# LibreSign API: Endpoints and usage flows\n\n## API Endpoints\n\nTo find out which endpoints are available in the LibreSign API, follow these steps:\n\n1. **Install the OCS API Viewer App**: Start by installing the [OCS API Viewer](https://apps.nextcloud.com/apps/ocs_api_viewer) in your Nextcloud environment.\n2. **Access the API Documentation**: In the Nextcloud menu, locate the OCS app. Here, you will find the documentation for the LibreSign API, as well as other Nextcloud APIs.\n\n## Understanding the LibreSign API usage flows\n\nTo understand how to perform specific operations, such as requesting a signature, you can use the LibreSign application itself as a reference. Here’s how to do it:\n\n1. **Open Developer Tools**: Press the F12 key in your browser to access the developer tools.\n2. **Go to the Network Tab**: Navigate to the \"Network\" tab to monitor the API requests.\n3. **Filter the requests**: Use the filter to show only the requests related to LibreSign by typing \"libresign.\"\n4. **Perform actions in LibreSign**: Execute the desired actions in the LibreSign application. Observe the requests sent to the API at each step and analyze how they are structured.\n\nBy following these steps, you will be able to query the available endpoints of the LibreSign API and understand the usage flows by monitoring the requests made by the application. This will help you integrate and use the API in your projects.\n",
"# LibreSign Privacy Notice\n\n## Introduction\n\nThe **LibreSign** is documents signer free developed by **LibreCode**, cooperative of professional of IT. The LibreSign was thinked having to base the security and the privacy of users.\n\nWe establish this Privacy Notice to inform how the personal data collected through of the our contact form on website of LibreSign is treaties, protected and utilized.\n\nThis Notice is governed for norms of General Data Protection Law (GDPL) by Brasil and General Data Protection Law (GDPL) by Europe Union, reflexeting our compromise in protect the privacy and the integration of users personal data.\n\n## Collect of Data\n\nThe LibreCode collect and treat the following personal data through of your website (www.libresign.coop):\n\n- **Name**\n- **E-mail**\n- **Phone**\n\nThese data is provided voluntarily by users when filling the contact form available on our website. The collect these data have how finality exclusive establish a communication channel efficient with the interested in our products and services.\n\n**When filling the registration form you agree with the treat of your data to publish of products of LibreCode. You can revoke your consent any time, just click on link available in communication or send an e-mail to:** contato@librecode.coop.\n\n## Use of Data\n\nThe personal data collected is used just to the following finalities:\n\n- Answer of requests, doubts or users of comments\n- Send communications that have been expressly requested by user ou that be pertinent to your manifested interest\n- Register of attendance history\n- For legal and/or regulatory purposes\n \nThe LibreCode is committed to not use the data collected to specific distincts finality above without the prev notification of the data holders.\n\n## Data Sharing\n\nThe LibreCode not share, sell, rent or another way provides collected personal data to third parties, except when necessary to fulfill with legal obligations or with user express authorization.\n\n## Data Security\n\nWe employ measures security technique and organizational to protected the personal data collected against accesses not authorized, undue changes, disclosure or destruction. Our commitment with security, include adoption of recommented pratics in terms of data protect. To know more about the security politic of LibreCode between in contact us.\n\n## Data Holders Rights\n\nAccording to art 18 of LGPD and the GDPR, users have the use to access, to correct, delete or to carry personal user data, beside can limit or if oppose to your treat when substantiated in the interest legitimate of the controller.\n\nTo exercise your rights, the holders of data and/or your responsible should **in to by way e-mail:** contato@librecode.coop\n\n## Changes of Privacy Politic\n\nLibreCode reserves the right to change this Privacy Policy any moment. The changes will be valid immediately after you publish on website. We recommend the periodic review this politic.\n\n## Contact\n\nTo relative questions to our Privacy Politic any moment contact us by e-mail: contato@librecode.coop\n\nThis Privacy Politic was updated by last once on 08 april 2024": "# லிப்ரசைன் தனியுரிமை அறிவிப்பு\n\n ## அறிமுகம்\n\n ** libresign ** என்பது ஆவணங்கள் கையொப்பமிட்டவர் இலவசம் ** லிப்ர் கோட் **, அதன் தொழில்முறை கூட்டுறவு. பயனர்களின் பாதுகாப்பையும் தனியுரிமையையும் அடிப்படையாகக் கொண்டிருக்க வேண்டும் என்று லிப்ரசைன் நினைத்தது.\n\n எங்கள் தொடர்பு படிவத்தின் மூலம் சேகரிக்கப்பட்ட தனிப்பட்ட தரவு எவ்வாறு லிப்ரசைன் இணையதளத்தில் ஒப்பந்தங்கள், பாதுகாக்கப்பட்டு பயன்படுத்தப்படுகிறது என்பதைத் தெரிவிக்க இந்த தனியுரிமை அறிவிப்பை நாங்கள் நிறுவுகிறோம்.\n\n இந்த அறிவிப்பு பிரேசில் மற்றும் பொது தரவு பாதுகாப்பு சட்டம் (சிடிபிஎல்) ஆகிய பொது தரவு பாதுகாப்பு சட்டத்தின் (சிடிபிஎல்) விதிமுறைகளுக்காக நிர்வகிக்கப்படுகிறது, இது ஐரோப்பா ஒன்றியத்தால், தனியுரிமையைப் பாதுகாப்பதில் எங்கள் சமரசத்தையும் பயனர்களின் தனிப்பட்ட தரவின் ஒருங்கிணைப்பையும் நிர்பந்தப்படுத்துகிறது.\n\n ## தரவை சேகரித்தல்\n\n உங்கள் வலைத்தளத்தின் (www.libresign.coop) மூலம் பின்வரும் தனிப்பட்ட தரவை லிப்ர்கோட் சேகரித்து நடத்துகிறது:\n\n - ** பெயர் **\n - ** மின்னஞ்சல் **\n - ** தொலைபேசி **\n\n எங்கள் இணையதளத்தில் கிடைக்கும் தொடர்பு படிவத்தை நிரப்பும்போது இந்த தரவு பயனர்களால் தானாக முன்வந்து வழங்கப்படுகிறது. இந்தத் தரவுகளை சேகரிப்பது எங்கள் தயாரிப்புகள் மற்றும் சேவைகளில் ஆர்வத்துடன் திறமையான ஒரு தகவல்தொடர்பு சேனலை எவ்வாறு நிறுவுகிறது என்பதை இறுதிப் பிரத்தியேகமானது எவ்வாறு கொண்டுள்ளது.\n\n ** பதிவு படிவத்தை நிரப்பும்போது, லிப்ரெகோடின் தயாரிப்புகளை வெளியிட உங்கள் தரவின் சிகிச்சையுடன் உடன்படுகிறீர்கள். நீங்கள் எந்த நேரத்திலும் உங்கள் சம்மதத்தை ரத்து செய்யலாம், தகவல்தொடர்புகளில் கிடைக்கும் இணைப்பைக் சொடுக்கு செய்க அல்லது இதற்கு ஒரு மின்னஞ்சலை அனுப்பவும்: ** contato@librecode.coop.\n\n ## தரவைப் பயன்படுத்துதல்\n\n சேகரிக்கப்பட்ட தனிப்பட்ட தரவு பின்வரும் இறுதிகளுக்கு மட்டுமே பயன்படுத்தப்படுகிறது:\n\n - கோரிக்கைகள், சந்தேகங்கள் அல்லது கருத்துகளின் பயனர்களின் பதில்\n - உங்கள் வெளிப்படையான ஆர்வத்துடன் பொருத்தமான பயனர் OU ஆல் வெளிப்படையாகக் கோரப்பட்ட தகவல்தொடர்புகளை அனுப்பவும்\n - வருகை வரலாற்றின் பதிவு\n - சட்ட மற்றும்/அல்லது ஒழுங்குமுறை நோக்கங்களுக்காக\n\n தரவு வைத்திருப்பவர்களின் முந்தைய அறிவிப்பு இல்லாமல் மேலே உள்ள குறிப்பிட்ட வேறுபாடுகளுக்கு சேகரிக்கப்பட்ட தரவைப் பயன்படுத்த வேண்டாம் என்று லிப்ரெகோட் உறுதிபூண்டுள்ளது.\n\n ## தரவு பகிர்வு\n\n லிப்ரிகோட் பகிர்வு, விற்க, வாடகை அல்லது வேறு வழி மூன்றாம் தரப்பினருக்கு சேகரிக்கப்பட்ட தனிப்பட்ட தரவை வழங்குகிறது, சட்டபூர்வமான கடமைகளுடன் அல்லது பயனர் எக்ச்பிரச் அங்கீகாரத்துடன் நிறைவேற்ற தேவையான போது தவிர.\n\n ## தரவு பாதுகாப்பு\n\n அங்கீகரிக்கப்படாத, தேவையற்ற மாற்றங்கள், வெளிப்படுத்தல் அல்லது அழிவுக்கு எதிராக சேகரிக்கப்பட்ட தனிப்பட்ட தரவுகளைப் பாதுகாக்க பாதுகாப்பு நுட்பம் மற்றும் நிறுவனத்தை நாங்கள் பயன்படுத்துகிறோம். பாதுகாப்புடனான எங்கள் அர்ப்பணிப்பு, தரவு பாதுகாப்பின் அடிப்படையில் மறுபரிசீலனை செய்யப்பட்ட பிராட்டிக்சை ஏற்றுக்கொள்வது அடங்கும். எங்களை தொடர்பு கொள்ளுங்கள்.\n\n ## தரவு வைத்திருப்பவர்கள் உரிமைகள்\n\n எல்சிபிடி மற்றும் சிடிபிஆரின் ஆர்ட் 18 இன் படி, பயனர்கள் அணுகல், சரிசெய்ய, நீக்க அல்லது தனிப்பட்ட பயனர் தரவை எடுத்துச் செல்ல பயன்பாடு உள்ளது, தவிர, கட்டுப்படுத்தியின் வட்டி முறையானது உறுதிப்படுத்தப்படும்போது உங்கள் சிகிச்சையை கட்டுப்படுத்தலாம் அல்லது எதிர்த்தால்.\n\n உங்கள் உரிமைகளைப் பயன்படுத்த, தரவு வைத்திருப்பவர்கள் மற்றும்/அல்லது உங்கள் பொறுப்பானவர்கள் ** மூலம் மின்னஞ்சல் மூலம்: ** contato@librecode.coop\n\n ## தனியுரிமை அரசியல் மாற்றங்கள்\n\n இந்த தனியுரிமைக் கொள்கையை எந்த நேரத்திலும் மாற்றுவதற்கான உரிமையை லிப்ரெகோட் கொண்டுள்ளது. நீங்கள் இணையதளத்தில் வெளியிட்ட உடனேயே மாற்றங்கள் செல்லுபடியாகும். இந்த அரசியலை அவ்வப்போது மதிப்பாய்வு செய்ய பரிந்துரைக்கிறோம்.\n\n ## தொடர்பு\n\n எங்கள் தனியுரிமை அரசியலுக்கான உறவினர் கேள்விகளுக்கு எந்த நேரமும் மின்னஞ்சல் மூலம் எங்களை தொடர்பு கொள்ளவும்: contato@librecode.coop\n\n இந்த தனியுரிமை அரசியல் கடைசியாக புதுப்பிக்கப்பட்டது, இது ஏப்ரல் 08 2024 அன்று ஒரு முறை புதுப்பிக்கப்பட்டது",
"## Common problems in document management\n\nDocument management faces several common issues. Manual document signing can take days or even weeks, especially when multiple signatures are needed, delaying important processes and affecting the institution's operations. Moreover, manual handling of documents increases the chance of errors, leading to legal and administrative problems. The use of paper, printing, storage, and sending physical documents also generates significant costs for institutions. Finally, ensuring data security and compliance with laws, such as the LGPD (General Data Protection Law), is a constant challenge.\n\n### Real problem: Floods in Rio Grande do Sul\n\nA recent example that highlights the importance of document digitization is the floods in Rio Grande do Sul. Many schools and universities lost important physical documents due to the floods, resulting in enormous losses and difficulties in recovering essential information. The lack of digitization severely affected the administration and continuity of educational activities. This tragic event reinforces the urgent need to adopt digital solutions to protect important data and ensure the resilience of institutions against natural disasters.\n\n## LibreSign: The ideal solution\n\nLibreSign is a digital signature platform that allows educational institutions to digitize and automate document management, offering a secure, efficient, and cost-effective solution. With LibreSign, you reduce bureaucracy, save resources, and increase security.\n\nAmong its features, we highlight:\n\n1. Digital document signing using digital certificates (e-CPF, e-CNPJ, or system-generated certificates).\n2. Legal validity and compliance with Brazilian legislation, including the General Data Protection Law (LGPD), and the European Union's General Data Protection Regulation (GDPR).\n3. Centralizes the creation, storage, and signing of documents in a single system, facilitating access and management, reducing bureaucracy, and increasing the efficiency of academic offices.\n4. Uses advanced encryption to protect documents from unauthorized access, ensuring data integrity and confidentiality, which is essential for LGPD compliance.\n5. Eliminates the need for physical document sending, saving time and resources.\n\n### Examples of documents that can be signed\n\nLibreSign can be used to sign a wide variety of school and academic documents, including:\n\n1. Enrollment contracts\n2. Report cards and performance reports\n3. Certificates and diplomas\n4. Lesson plans\n5. Parental authorizations\n6. Statements and requests\n7. Various administrative forms\n\nUsing LibreSign for these documents increases practicality, security, efficiency, and legal compliance, benefiting both institutions and students.\n\n#### Discover the benefits of using LibreSign\n\n- Speed: Reduce the time needed to sign and process documents, increasing productivity.\n- Cost Reduction: Eliminate costs associated with paper, printing, and sending documents.\n- Security: Ensure the protection of sensitive data and compliance with the LGPD.\n- Sustainability: Contribute to environmental preservation by reducing paper usage.\n- Accessibility: Allow documents to be signed from anywhere, at any time, facilitating remote management.\n\nDigitizing signing processes is a crucial step towards modernizing educational institutions. LibreSign offers a complete solution that not only improves efficiency and reduces costs but also ensures data security and compliance. Transform your institution's document management with LibreSign and enjoy all the benefits of digital transformation.\n\n🌐 Contact us: [LibreSign Contact Us](https://libresign.coop/contact-us)\n": "ஆவண நிர்வாகத்தில் பொதுவான சிக்கல்கள்\n\n ஆவண மேலாண்மை பல பொதுவான சிக்கல்களை எதிர்கொள்கிறது. கையேடு ஆவண கையொப்பம் நாட்கள் அல்லது வாரங்கள் ஆகலாம், குறிப்பாக பல கையொப்பங்கள் தேவைப்படும்போது, முக்கியமான செயல்முறைகளை தாமதப்படுத்தும் மற்றும் நிறுவனத்தின் செயல்பாடுகளை பாதிக்கும். மேலும், ஆவணங்களை கையேடு கையாளுதல் பிழைகள் வாய்ப்பை அதிகரிக்கிறது, இது சட்ட மற்றும் நிர்வாக சிக்கல்களுக்கு வழிவகுக்கிறது. காகிதம், அச்சிடுதல், சேமிப்பு மற்றும் உடல் ஆவணங்களை அனுப்புதல் ஆகியவற்றின் பயன்பாடும் நிறுவனங்களுக்கு குறிப்பிடத்தக்க செலவுகளை உருவாக்குகிறது. இறுதியாக, தரவு பாதுகாப்பை உறுதி செய்வது மற்றும் எல்சிபிடி (பொது தரவு பாதுகாப்பு சட்டம்) போன்ற சட்டங்களுடன் இணங்குவது ஒரு நிலையான சவாலாகும்.\n\n ### உண்மையான சிக்கல்: ரியோ கிராண்டே டூ சுல் வெள்ளம்\n\n ஆவண டிசிட்டல் மயமாக்கலின் முக்கியத்துவத்தை எடுத்துக்காட்டுகின்ற அண்மைக் கால எடுத்துக்காட்டு ரியோ கிராண்டே டோ சுலில் வெள்ளம். பல பள்ளிகளும் பல்கலைக்கழகங்களும் வெள்ளம் காரணமாக முக்கியமான உடல் ஆவணங்களை இழந்தன, இதன் விளைவாக பெரும் இழப்புகள் மற்றும் அத்தியாவசிய தகவல்களை மீட்டெடுப்பதில் சிரமங்கள் ஏற்பட்டன. டிசிட்டல் மயமாக்கலின் பற்றாக்குறை கல்வி நடவடிக்கைகளின் நிர்வாகத்தையும் தொடர்ச்சியையும் கடுமையாக பாதித்தது. இந்த சோகமான நிகழ்வு முக்கியமான தரவைப் பாதுகாப்பதற்கும் இயற்கை பேரழிவுகளுக்கு எதிராக நிறுவனங்களின் பின்னடைவை உறுதி செய்வதற்கும் டிசிட்டல் தீர்வுகளை பின்பற்றுவதற்கான அவசர தேவையை வலுப்படுத்துகிறது.\n\n ## லிப்ரசைன்: சிறந்த தீர்வு\n\n லிப்ரசைன் ஒரு டிசிட்டல் கையொப்ப தளமாகும், இது கல்வி நிறுவனங்களை ஆவண நிர்வாகத்தை டிசிட்டல் மயமாக்கவும் தானியங்குபடுத்தவும் அனுமதிக்கிறது, பாதுகாப்பான, திறமையான மற்றும் செலவு குறைந்த தீர்வை வழங்குகிறது. லிப்ரசைன் மூலம், நீங்கள் அதிகாரத்துவத்தை குறைக்கிறீர்கள், வளங்களை மிச்சப்படுத்துகிறீர்கள், பாதுகாப்பை அதிகரிக்கிறீர்கள்.\n\n அதன் அம்சங்களில், நாங்கள் முன்னிலைப்படுத்துகிறோம்:\n\n 1. டிசிட்டல் சான்றிதழ்களைப் பயன்படுத்தி டிசிட்டல் ஆவணம் கையொப்பமிடுதல் (E-CPF, E-CNPJ, அல்லது கணினி உருவாக்கிய சான்றிதழ்கள்).\n 2. பொது தரவு பாதுகாப்பு சட்டம் (எல்சிபிடி) மற்றும் ஐரோப்பிய ஒன்றியத்தின் பொது தரவு பாதுகாப்பு ஒழுங்குமுறை (சிடிபிஆர்) உள்ளிட்ட பிரேசிலிய சட்டத்துடன் சட்ட செல்லுபடியாகும் மற்றும் இணங்குதல்.\n 3. ஒரே அமைப்பில் ஆவணங்களை உருவாக்குதல், சேமித்தல் மற்றும் கையொப்பமிடுதல், அணுகல் மற்றும் நிர்வாகத்தை எளிதாக்குதல், அதிகாரத்துவத்தைக் குறைத்தல் மற்றும் கல்வி அலுவலகங்களின் செயல்திறனை அதிகரித்தல் ஆகியவற்றை மையப்படுத்துகிறது.\n 4. அங்கீகரிக்கப்படாத அணுகலிலிருந்து ஆவணங்களை பாதுகாக்க மேம்பட்ட குறியாக்கத்தைப் பயன்படுத்துகிறது, தரவு ஒருமைப்பாடு மற்றும் ரகசியத்தன்மையை உறுதி செய்கிறது, இது எல்சிபிடி இணக்கத்திற்கு இன்றியமையாதது.\n 5. உடல் ஆவணத்தின் தேவையை நீக்குகிறது, நேரத்தையும் வளங்களையும் மிச்சப்படுத்துகிறது.\n\n ### கையொப்பமிடக்கூடிய ஆவணங்களின் எடுத்துக்காட்டுகள்\n\n பலவிதமான பள்ளி மற்றும் கல்வி ஆவணங்களில் கையெழுத்திட லிப்ரசைன் பயன்படுத்தப்படலாம்:\n\n 1. சேர்க்கை ஒப்பந்தங்கள்\n 2. அறிக்கை அட்டைகள் மற்றும் செயல்திறன் அறிக்கைகள்\n 3. சான்றிதழ்கள் மற்றும் டிப்ளோமாக்கள்\n 4. பாடம் திட்டங்கள்\n 5. பெற்றோர் அங்கீகாரங்கள்\n 6. அறிக்கைகள் மற்றும் கோரிக்கைகள்\n 7. பல்வேறு நிர்வாக படிவங்கள்\n\n இந்த ஆவணங்களுக்கு லிப்ரேசைன் பயன்படுத்துவது நடைமுறை, பாதுகாப்பு, செயல்திறன் மற்றும் சட்ட இணக்கம் ஆகியவற்றை அதிகரிக்கிறது, நிறுவனங்கள் மற்றும் மாணவர்கள் இருவருக்கும் பயனளிக்கிறது.\n\n #### லிப்ரசைன் பயன்படுத்துவதன் நன்மைகளைக் கண்டறியவும்\n\n - வேகம்: ஆவணங்களில் கையொப்பமிடவும் செயலாக்கவும் தேவையான நேரத்தைக் குறைத்தல், உற்பத்தித்திறனை அதிகரிக்கும்.\n - செலவுக் குறைப்பு: காகிதம், அச்சிடுதல் மற்றும் ஆவணங்களை அனுப்புதல் ஆகியவற்றுடன் தொடர்புடைய செலவுகளை அகற்றவும்.\n - பாதுகாப்பு: உணர்திறன் தரவுகளின் பாதுகாப்பையும் எல்சிபிடியுடன் இணங்குவதையும் உறுதிசெய்க.\n - நிலைத்தன்மை: காகித பயன்பாட்டைக் குறைப்பதன் மூலம் சுற்றுச்சூழல் பாதுகாப்பிற்கு பங்களிக்கவும்.\n - அணுகல்: ஆவணங்களை எங்கிருந்தும், எந்த நேரத்திலும், தொலை நிர்வாகத்தை எளிதாக்குவதற்கு அனுமதிக்கவும்.\n\n கையொப்பமிடும் செயல்முறைகளை டிசிட்டல் மயமாக்குவது கல்வி நிறுவனங்களை நவீனமயமாக்குவதற்கான ஒரு முக்கியமான படியாகும். லிப்ரசைன் ஒரு முழுமையான தீர்வை வழங்குகிறது, இது செயல்திறனை மேம்படுத்துவதோடு செலவுகளைக் குறைப்பது மட்டுமல்லாமல் தரவு பாதுகாப்பு மற்றும் இணக்கத்தையும் உறுதி செய்கிறது. உங்கள் நிறுவனத்தின் ஆவண நிர்வாகத்தை லிப்ரசைன் மூலம் மாற்றி, டிசிட்டல் மாற்றத்தின் அனைத்து நன்மைகளையும் அனுபவிக்கவும்.\n\n Ensty எங்களைத் தொடர்பு கொள்ளுங்கள்: [எண்கல் எங்களை தொடர்பு கொள்ளவும்] (https://libresign.coop/contact-us)\n",
+ "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n": "## DocMDP in LibreSign\n\nLibreSign now provides **optional support for DocMDP (Document Management Policy)**, allowing administrators to define control policies for digitally signed documents.\n\nDocMDP is a mechanism defined in the PDF format specification, standardized by **ISO 32000 (ISO 32000-1 and ISO 32000-2)**, which makes it possible to establish **restrictions on permitted changes after a document is signed**, ensuring greater **integrity, predictability, and legal reliability** of signed documents.\n\n#### What is DocMDP?\n\nDocMDP allows a PDF document to define **which level of modification is acceptable** after a certifying digital signature is applied. These rules are embedded directly into the document and are interpreted by validators compatible with the PDF standard defined by ISO 32000.\n\nIn LibreSign, administrators can choose between different **levels of protection**, according to the needs of the organization’s signing workflow.\n\n#### Available protection levels\n\nLibreSign supports the following DocMDP levels, as defined in the PDF specification standard (ISO 32000):\n\n* **No certification**\n The document is not certified. Edits and additional signatures are allowed; however, any modification will cause previous signatures to be marked as modified.\n\n* **No changes allowed**\n After the first certifying signature, no edits or additional signatures are allowed. Any modification invalidates the document’s certification.\n\n* **Form filling allowed**\n After the first signature, only form filling and the addition of new signatures are allowed. Any other changes invalidate the certification.\n\n* **Form filling and comments allowed**\n After the first signature, form filling, comments, and new signatures are allowed. Any other changes invalidate the certification.\n\n#### LibreSign behavior according to the selected policy\n\nWhen the **“No changes allowed”** level is enabled, LibreSign **does not allow more than one signer** to be added to the document. This happens because, according to the DocMDP rules defined in ISO 32000, any structural modification, including the addition of new signatures, would violate the certification policy applied to the document.\n\nFor this reason, it is essential that administrators understand the impact of the selected policy before starting a signing workflow, in order to avoid configurations that are incompatible with the document’s purpose.\n\nFor the other certification levels, LibreSign allows multiple signers.\n\n#### Validation\n\nDuring the validation of signed documents, LibreSign clearly exposes the **DocMDP information**, indicating the level of protection applied to the document according to the defined policy.\n\nThis allows PDF validators compatible with ISO 32000 to:\n\n* Understand the restrictions applied to the document\n* Verify that the content integrity has been preserved\n* Confirm that the document follows internationally recognized policies\n\nWith this support, LibreSign reinforces its commitment to **international best practices for PDF digital signatures**, offering transparency, interoperability, and a high level of technical compliance.\n",
"### Advanced security for public companies\n\nIn a digital environment where information security is crucial, especially for public companies that deal with large volumes of sensitive documents, LibreSign stands out for offering advanced security. Using data encryption and multi-factor authentication, LibreSign ensures that your data is always protected.\n\n#### See some advantages:\n\nEnd-to-end encryption ensures that only authorized recipients can access and read document content. With LibreSign, each document is encrypted from submission to final signature, ensuring your information remains secure every step of the way.\n\nThis encryption protects against interception during the transmission and storage of documents, ensuring that even if the data is accessed by third parties, it will be indecipherable and useless. For public companies that frequently deal with confidential information, this additional security is essential to protect the integrity of their administrative processes.\n\n#### Secure authentication\n\nLibreSign implements multi-factor authentication (MFA), making unauthorized access difficult and ensuring that only verified people can sign documents. This method requires users to provide two or more forms of verification before accessing documents, making the signing process more secure and reliable.\n\nFor example, in addition to the password, a code sent to the user's cell phone or email may be required. This additional level of verification prevents unauthorized people from forging signatures or accessing important documents. For public organizations, where accuracy and accountability are paramount, MFA provides an indispensable extra layer of security.\n\n### The importance of digital security in public companies\n\nPublic companies deal daily with information that requires the highest level of security. From contracts and agreements to legislative documents and citizen records, protecting this data is crucial. Any security breach can result in serious consequences, including data loss, unauthorized access to sensitive information and damage to the organization's reputation.\n\nLibreSign was developed with a focus on security and efficiency. The platform ensures that each document goes through a secure process, from creation to final signature. This level of detail and care is especially important in a scenario where reliability and security are mandatory.\n\n### Additional Benefits of LibreSign\n\nIn addition to advanced security features, LibreSign offers other advantages that make document management more efficient and secure:\n\n- **Intuitive interface:** The platform is easy to use, allowing employees to focus on their main tasks without wasting time on complicated systems.\n- **Real-time monitoring:** Track the status of documents in real time, allowing quick actions such as sending reminders for pending signatures.\n- **Integration with other systems:** LibreSign can be integrated with other systems used by your organization, providing more cohesive and centralized document management.\n\n### Conclusion\n\nThe security of your documents cannot be compromised. With LibreSign, you are guaranteed maximum protection through end-to-end encryption and authentication with multiple identification factors. Our solution is developed to meet the stringent security requirements of public companies, ensuring that each document is treated with the highest level of integrity and reliability.\n\nDon't wait until a security breach affects your organization. Contact us today to learn more about how LibreSign can meet the needs of your public organization. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n\nProtect your documents, optimize your processes and ensure the security and efficiency that your public organization deserves with LibreSign.\n": "### பொது நிறுவனங்களுக்கான மேம்பட்ட பாதுகாப்பு\n\n செய்தி பாதுகாப்பு முக்கியமானதாக இருக்கும் டிசிட்டல் சூழலில், குறிப்பாக பெரிய அளவிலான முக்கியமான ஆவணங்களைக் கையாளும் பொது நிறுவனங்களுக்கு, மேம்பட்ட பாதுகாப்பை வழங்குவதற்காக லிப்ரசைன் தனித்து நிற்கிறது. தரவு குறியாக்கம் மற்றும் பல காரணி அங்கீகாரத்தைப் பயன்படுத்தி, உங்கள் தரவு எப்போதும் பாதுகாக்கப்படுவதை லிப்ரசைன் உறுதி செய்கிறது.\n\n #### சில நன்மைகளைக் காண்க:\n\n அங்கீகரிக்கப்பட்ட பெறுநர்கள் மட்டுமே ஆவண உள்ளடக்கத்தை அணுகவும் படிக்கவும் முடியும் என்பதை இறுதி முதல் இறுதி குறியாக்கம் உறுதி செய்கிறது. லிப்ரசைன் மூலம், ஒவ்வொரு ஆவணமும் சமர்ப்பிப்பிலிருந்து இறுதி கையொப்பத்திற்கு குறியாக்கம் செய்யப்படுகிறது, உங்கள் செய்தி ஒவ்வொரு அடியிலும் பாதுகாப்பாக இருப்பதை உறுதி செய்கிறது.\n\n இந்த குறியாக்கமானது ஆவணங்களை கடத்தும் மற்றும் சேமிக்கும் போது குறுக்கீட்டிலிருந்து பாதுகாக்கிறது, இது மூன்றாம் தரப்பினரால் தரவை அணுகினாலும், அது விவரிக்க முடியாதது மற்றும் பயனற்றது என்பதை உறுதி செய்கிறது. ரகசிய தகவல்களை அடிக்கடி கையாளும் பொது நிறுவனங்களுக்கு, அவர்களின் நிர்வாக செயல்முறைகளின் ஒருமைப்பாட்டைப் பாதுகாக்க இந்த கூடுதல் பாதுகாப்பு அவசியம்.\n\n #### பாதுகாப்பான அங்கீகாரம்\n\n லிப்ரசைன் மல்டி-காரணி அங்கீகாரத்தை (எம்.எஃப்.ஏ) செயல்படுத்துகிறது, இது அங்கீகரிக்கப்படாத அணுகலை கடினமாக்குகிறது மற்றும் சரிபார்க்கப்பட்ட நபர்கள் மட்டுமே ஆவணங்களில் கையெழுத்திட முடியும் என்பதை உறுதி செய்கிறது. இந்த முறைக்கு பயனர்கள் ஆவணங்களை அணுகுவதற்கு முன் இரண்டு அல்லது அதற்கு மேற்பட்ட வடிவ சரிபார்ப்புகளை வழங்க வேண்டும், கையொப்பமிடும் செயல்முறையை மிகவும் பாதுகாப்பாகவும் நம்பகமானதாகவும் ஆக்குகிறது.\n\n எடுத்துக்காட்டாக, கடவுச்சொல்லுக்கு கூடுதலாக, பயனரின் செல்போன் அல்லது மின்னஞ்சலுக்கு அனுப்பப்படும் குறியீடு தேவைப்படலாம். இந்த கூடுதல் சரிபார்ப்பு அங்கீகரிக்கப்படாத நபர்களை கையொப்பங்களை உருவாக்குவதிலிருந்து அல்லது முக்கியமான ஆவணங்களை அணுகுவதைத் தடுக்கிறது. பொது நிறுவனங்களுக்கு, துல்லியம் மற்றும் பொறுப்புக்கூறல் மிக முக்கியமானது, MFA ஒரு இன்றியமையாத கூடுதல் பாதுகாப்பை வழங்குகிறது.\n\n ### பொது நிறுவனங்களில் டிசிட்டல் பாதுகாப்பின் முக்கியத்துவம்\n\n பொது நிறுவனங்கள் தினமும் மிக உயர்ந்த பாதுகாப்பு தேவைப்படும் தகவல்களைக் கையாளுகின்றன. ஒப்பந்தங்கள் மற்றும் ஒப்பந்தங்கள் முதல் சட்டமன்ற ஆவணங்கள் மற்றும் குடிமக்கள் பதிவுகள் வரை, இந்தத் தரவைப் பாதுகாப்பது முக்கியமானது. எந்தவொரு பாதுகாப்பு மீறலும் தரவு இழப்பு, முக்கியமான தகவல்களுக்கு அங்கீகரிக்கப்படாத அணுகல் மற்றும் நிறுவனத்தின் நற்பெயருக்கு சேதம் உள்ளிட்ட கடுமையான விளைவுகளை ஏற்படுத்தும்.\n\n பாதுகாப்பு மற்றும் செயல்திறனை மையமாகக் கொண்டு லிப்ரசைன் உருவாக்கப்பட்டது. ஒவ்வொரு ஆவணமும் உருவாக்கம் முதல் இறுதி கையொப்பம் வரை பாதுகாப்பான செயல்முறையை கடந்து செல்வதை தளம் உறுதி செய்கிறது. நம்பகத்தன்மை மற்றும் பாதுகாப்பு கட்டாயமாக இருக்கும் ஒரு சூழ்நிலையில் இந்த அளவிலான விவரம் மற்றும் கவனிப்பு குறிப்பாக முக்கியமானது.\n\n ### லிப்ரசைனின் கூடுதல் நன்மைகள்\n\n மேம்பட்ட பாதுகாப்பு அம்சங்களுக்கு கூடுதலாக, ஆவண நிர்வாகத்தை மிகவும் திறமையாகவும் பாதுகாப்பாகவும் மாற்றும் பிற நன்மைகளை லிப்ரசைன் வழங்குகிறது:\n\n - ** உள்ளுணர்வு இடைமுகம்: ** தளம் பயன்படுத்த எளிதானது, சிக்கலான அமைப்புகளில் நேரத்தை வீணாக்காமல் ஊழியர்கள் தங்கள் முக்கிய பணிகளில் கவனம் செலுத்த அனுமதிக்கிறது.\n - ** நிகழ்நேர கண்காணிப்பு: ** ஆவணங்களின் நிலையை உண்மையான நேரத்தில் கண்காணிக்கவும், நிலுவையில் உள்ள கையொப்பங்களுக்கு நினைவூட்டல்களை அனுப்புவது போன்ற விரைவான செயல்களை அனுமதிக்கவும்.\n .\n\n ### முடிவு\n\n உங்கள் ஆவணங்களின் பாதுகாப்பை வேறுபாடின்மை செய்ய முடியாது. லிப்ரசைன் மூலம், பல அடையாள காரணிகளுடன் இறுதி முதல் இறுதி குறியாக்கம் மற்றும் ஏற்பு மூலம் அதிகபட்ச பாதுகாப்பு உங்களுக்கு பொறுப்பு அளிக்கப்படுகிறது. எங்கள் தீர்வு பொது நிறுவனங்களின் கடுமையான பாதுகாப்புத் தேவைகளைப் நிறைவு செய்வதற்காக உருவாக்கப்பட்டுள்ளது, ஒவ்வொரு ஆவணமும் மிக உயர்ந்த ஒருமைப்பாடு மற்றும் நம்பகத்தன்மையுடன் சிகிச்சையளிக்கப்படுவதை உறுதி செய்கிறது.\n\n பாதுகாப்பு மீறல் உங்கள் நிறுவனத்தை பாதிக்கும் வரை காத்திருக்க வேண்டாம். உங்கள் பொது அமைப்பின் தேவைகளை லிப்ரசைன் எவ்வாறு நிறைவு செய்ய முடியும் என்பதைப் பற்றி மேலும் அறிய இன்று எங்களைத் தொடர்பு கொள்ளுங்கள். ஒரு ஆர்ப்பாட்டத்தைத் திட்டமிடுங்கள் மற்றும் உங்கள் நிறுவனத்தில் ஆவண மேலாண்மை மற்றும் நிர்வாக செயல்திறனை எவ்வாறு மேம்படுத்தலாம் என்பதைக் கண்டறியவும்.\n\n உங்கள் ஆவணங்களைப் பாதுகாக்கவும், உங்கள் செயல்முறைகளை மேம்படுத்தவும், உங்கள் பொது அமைப்பு லிப்ரேசைனுடன் தகுதியான பாதுகாப்பையும் செயல்திறனையும் உறுதிப்படுத்தவும்.\n",
+ "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n": "### CRL (Certificate Revocation List) Implementation in LibreSign\n\nThe **Certificate Revocation List (CRL)** is an essential technical feature for any solution that takes digital certification and security seriously. Although it is not always visible to end users, it plays a critical role in the **trustworthiness of digital signatures**.\n\n#### What is a CRL?\n\nThe digital certificates used to sign documents are issued by a **Certificate Authority (CA)**. This authority is responsible for maintaining a list containing the **serial numbers of all revoked certificates**, including the certificate of the certificate authority itself.\n\nWhen a CA supports CRL, the issued certificate includes a **public URL** pointing to the revocation list. This URL allows systems and validators to check, at any time, whether a specific certificate has been revoked.\n\n#### When can a certificate be revoked?\n\nCertificate revocation may occur for several legitimate reasons, such as:\n\n* An employee leaving the organization\n* Death of the certificate holder\n* Compromise or loss of the password or private key\n* Security incidents\n\nIn these situations, keeping the certificate active would represent a security risk.\n\n#### How does CRL-based validation work?\n\nWhen a document is signed using a certificate that has an associated CRL, this information is embedded in the signature data.\n\nWhen validating the document with a CRL-compatible system, the following process takes place:\n\n1. The CRL URL is queried\n2. The certificate serial number is checked against the list\n3. The revocation date is compared with the signature date\n\nIf the certificate was revoked **before the signing date**, the document is considered **invalid**, as it was signed using a certificate that was no longer trustworthy at that time. If the revocation occurred after the signing date, the signature remains valid.\n\n#### What has changed in LibreSign?\n\nFrom now on, CRL support is a **standard feature in LibreSign**.\n\nThis means that:\n\n* **Before signing**, LibreSign checks whether the user's certificate has been revoked\n\n * If it has, the system requests the creation of a new certificate\n * In LibreSign, this simply requires defining a new password, provided that the administrator has enabled internal certificate issuance\n\n* **During document validation**, LibreSign:\n\n * Queries the CRL (when published and accessible by the certificate authority)\n * Verifies the certificate's validity\n * Displays the CRL URL\n * Presents validity information for both the signer's certificate and the issuer's certificate\n\n* **Certificate management**, administrators can:\n\n * Manage the certificate revocation list\n * Revoke any certificate when necessary\n\n#### Why is this important?\n\nWith the implementation of CRL, LibreSign:\n\n* Raises the level of **cryptographic security**\n* Ensures greater **legal reliability**\n* Aligns with **international best practices** for digital signature validation\n* Prevents the misuse of compromised certificates\n\nThis is another step in LibreSign's commitment to **security, transparency, and technical compliance**. Security is not an optional feature — it is a design principle in LibreSign.\n",
+ "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n": "### Envelopes: Batch document signing in LibreSign\n\nLibreSign now supports **Envelopes**, a feature that allows multiple documents to be grouped and managed as a **single signing process**.\n\nAn envelope represents a logical container that holds one or more documents, enabling organizations to handle multi-document signing scenarios in a structured and transparent way, following practices already established in the digital signature market.\n\n#### What is an Envelope?\n\nAn **Envelope** is a collection of documents that are sent together for signature and treated as **one unified signing workflow**.\n\nInstead of managing each document individually, the envelope allows:\n\n* A single signing request\n* A shared set of signers\n* A single signing process that shows the progress of all documents in one place\n\nAll documents inside an envelope belong to the same signing process and are not treated as independent signing requests.\n\n#### Administrative control\n\nEnvelope usage in LibreSign is **fully configurable by administrators**.\n\nAdministrators can enable or disable envelope usage at the organization level, allowing each environment to decide whether multi-document signing workflows should be available.\n\n\n

baseUrl}}assets/images/posts/envelopes/admin-settings.png\" alt=\"Administration settings to enable or disable envelope usage\">\n
\n\nWhen envelopes are disabled, users are limited to single-document signing requests, ensuring that this feature is only available when it aligns with internal policies or operational requirements.\n\n#### Editing and managing an envelope\n\nOnce an envelope is created, LibreSign allows users to manage both its **name and contents** in a straightforward way.\n\nDocuments can be added, removed, or viewed directly from the envelope, making it easy to adjust the document set before or during the signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/edit-envelope.png\" alt=\"Editing an envelope, changing its name and managing documents\">\n
\n\nThese changes apply to the envelope as a whole, without breaking or resetting the signing workflow.\n\n#### Validation and transparency\n\nLibreSign also provides a clear and transparent validation view for envelopes.\n\nEach document inside the envelope keeps its own digital signatures and validation data, while the validation view makes it explicit that the documents belong to the same signing process.\n\n\n

baseUrl}}assets/images/posts/envelopes/validation.png\" alt=\"Envelope validation view showing related signed documents\">\n
\n\nThis helps users, auditors, and external systems understand the relationship between documents without introducing proprietary or opaque mechanisms.\n",
"### Real-time monitoring - Transform document management in public organizations with LibreSign\n\nManaging documents efficiently and transparently is a constant challenge for many organizations, especially those in the public sector, where signing large volumes of documents is routine. The lack of visibility and control over the status of subscriptions can result in delays and a considerable loss of productivity, negatively impacting daily services and operations.\n\nImagine not being sure whether an important document has been signed or, even worse, discovering that it needs urgent action when it is already too late. This scenario not only generates frustration, but can also compromise the organization's efficiency and credibility. It is in this context that LibreSign stands out, offering a solution that provides total transparency and control over the document signing process.\n\n### The main advantages of Real-time Monitoring with LibreSign\n\n#### 1. Detailed and immediate follow-up\n\nLibreSign's real-time monitoring allows you to track every step of the signing process. This means that at any time you can check whether a document has been signed or is still pending action. This immediate visibility is essential to ensure that documents do not stand still and that all parties involved meet their deadlines.\n\n#### 2. Sending automatic reminders\n\nWhen a document is pending signature, LibreSign allows you to send reminders to signatories. This functionality ensures that everyone is notified and can act quickly, avoiding unnecessary delays. In public organizations, where speed and precision are fundamental, this ability to automatically remember signatories is a very significant differentiator.\n\n#### 3. Quick problem resolution\n\nWith real-time monitoring, problems can be identified and resolved immediately. By tracking the progress of documents, you can detect any obstacles or delays and take the necessary steps to correct the situation. This rapid response capability improves workflow efficiency and ensures documents are signed within established deadlines.\n\n#### 4. Intuitive dashboard\n\nLibreSign's interactive dashboard gives you a clear, detailed view of the status of each document. This intuitive interface facilitates the management and monitoring of multiple simultaneous signatures, allowing the team to focus on more strategic tasks, knowing that the system is taking care of document control and monitoring.\n\n#### Why do public organizations need LibreSign?\n\nPublic organizations deal with large volumes of documents that need to be signed by different parties, often in different locations. Efficiency in managing these subscriptions is essential to keep administrative processes in order and ensure continuity of services. LibreSign not only speeds up the signing process, but also improves team organization and productivity by centralizing signature management in a single panel.\n\n### Examples of real-time monitoring applications\n\n1. **Government Departments:**\n\nIn government departments, where signing official documents is a daily activity, real-time monitoring ensures that all documents are signed in a timely manner and that no important details are overlooked.\n\n2. **Hospitals and Health Services:**\n\nIn hospitals and healthcare services, efficient document management can literally save lives. The ability to monitor prescription and authorization signatures, prescriptions and other critical documents in real time ensures that patients receive the care they need without delays.\n\n3. **Educational Sector:**\n\nSchools, universities and other educational institutions can benefit from LibreSign by managing teacher contracts, parental consents, student records and other important documents efficiently and transparently.\n\nImplementing real-time monitoring with LibreSign revolutionizes document management, providing a more transparent and efficient experience. Public organizations, in particular, can benefit from this technology, ensuring that their signature processes are agile and well controlled.\n\nDon't let a lack of visibility and control harm your organization's productivity. Try LibreSign and transform your digital signature processes. Schedule a demonstration and discover how we can improve document management and administrative efficiency at your institution.\n": "### நிகழ்நேர கண்காணிப்பு - பொது நிறுவனங்களில் ஆவண நிர்வாகத்தை லிப்ரசைன் மூலம் மாற்றவும்\n\n ஆவணங்களை திறமையாகவும் வெளிப்படையாகவும் நிர்வகிப்பது பல நிறுவனங்களுக்கு, குறிப்பாக பொதுத்துறையில் உள்ளவர்களுக்கு ஒரு நிலையான சவாலாகும், அங்கு பெரிய அளவிலான ஆவணங்களில் கையெழுத்திடுவது வழக்கம். சந்தாக்களின் நிலை மீது தெரிவுநிலை மற்றும் கட்டுப்பாடு இல்லாதது தாமதங்கள் மற்றும் உற்பத்தித்திறனை கணிசமாக இழப்பது, நாள்தோறும் சேவைகள் மற்றும் செயல்பாடுகளை எதிர்மறையாக பாதிக்கும்.\n\n ஒரு முக்கியமான ஆவணம் கையொப்பமிடப்பட்டதா அல்லது இன்னும் மோசமாக இருக்கிறதா என்று உறுதியாக தெரியாமல் கற்பனை செய்து பாருங்கள், ஏற்கனவே தாமதமாகும்போது அதற்கு அவசர நடவடிக்கை தேவை என்பதைக் கண்டறியவும். இந்த காட்சி விரக்தியை உருவாக்குவது மட்டுமல்லாமல், நிறுவனத்தின் செயல்திறன் மற்றும் நம்பகத்தன்மையையும் வேறுபாடின்மை செய்யலாம். இந்த சூழலில்தான் லிப்ரசைன் தனித்து நிற்கிறது, இது ஆவண கையொப்பமிடும் செயல்முறையின் மீது மொத்த வெளிப்படைத்தன்மையையும் கட்டுப்பாட்டையும் வழங்கும் ஒரு தீர்வை வழங்குகிறது.\n\n ### லிப்ரசைன் மூலம் நிகழ்நேர கண்காணிப்பின் முக்கிய நன்மைகள்\n\n #### 1. விரிவான மற்றும் உடனடி பின்தொடர்தல்\n\n கையொப்பமிடும் செயல்முறையின் ஒவ்வொரு அடியையும் கண்காணிக்க லிப்ரசைனின் நிகழ்நேர கண்காணிப்பு உங்களை அனுமதிக்கிறது. இதன் பொருள் எந்த நேரத்திலும் ஒரு ஆவணம் கையொப்பமிடப்பட்டதா அல்லது இன்னும் நடவடிக்கை நிலுவையில் உள்ளதா என்பதை நீங்கள் சரிபார்க்கலாம். ஆவணங்கள் இன்னும் நிற்கவில்லை என்பதையும், சம்பந்தப்பட்ட அனைத்து தரப்பினரும் தங்கள் காலக்கெடுவை நிறைவு செய்வதையும் உறுதி செய்வதற்கு இந்த உடனடி தெரிவுநிலை அவசியம்.\n\n #### 2. தானியங்கி நினைவூட்டல்களை அனுப்புதல்\n\n ஒரு ஆவணம் கையொப்பம் நிலுவையில் இருக்கும்போது, கையொப்பமிட்டவர்களுக்கு நினைவூட்டல்களை அனுப்ப லிப்ரசைன் உங்களை அனுமதிக்கிறது. இந்த செயல்பாடு அனைவருக்கும் அறிவிக்கப்பட்டு விரைவாக செயல்பட முடியும் என்பதை உறுதி செய்கிறது, தேவையற்ற தாமதங்களைத் தவிர்க்கிறது. பொது நிறுவனங்களில், விரைவு மற்றும் துல்லியம் அடிப்படை எனில், கையொப்பமிட்டவர்களை தானாகவே நினைவில் வைத்திருக்கும் இந்த திறன் மிகவும் குறிப்பிடத்தக்க வேறுபாட்டாகும்.\n\n #### 3. விரைவான சிக்கல் தீர்வு\n\n நிகழ்நேர கண்காணிப்புடன், சிக்கல்களைக் கண்டறிந்து உடனடியாக தீர்க்க முடியும். ஆவணங்களின் முன்னேற்றத்தைக் கண்காணிப்பதன் மூலம், நீங்கள் ஏதேனும் தடைகள் அல்லது தாமதங்களைக் கண்டறிந்து நிலைமையை சரிசெய்ய தேவையான நடவடிக்கைகளை எடுக்கலாம். இந்த விரைவான மறுமொழி திறன் பணிப்பாய்வு செயல்திறனை மேம்படுத்துகிறது மற்றும் நிறுவப்பட்ட காலக்கெடுவுக்குள் ஆவணங்கள் கையொப்பமிடப்படுவதை உறுதி செய்கிறது.\n\n ####. உள்ளுணர்வு டாச்போர்டு\n\n ஒவ்வொரு ஆவணத்தின் நிலையைப் பற்றிய தெளிவான, விரிவான பார்வையை லிப்ரேசின் ஊடாடும் டாச்போர்டு உங்களுக்கு வழங்குகிறது. இந்த உள்ளுணர்வு இடைமுகம் பல ஒரே நேரத்தில் கையொப்பங்களை நிர்வகிப்பதற்கும் கண்காணிப்பதற்கும் உதவுகிறது, மேலும் குழு அதிக மூலோபாய பணிகளில் கவனம் செலுத்த அனுமதிக்கிறது, கணினி ஆவணக் கட்டுப்பாடு மற்றும் கண்காணிப்பை கவனித்துக்கொள்கிறது என்பதை அறிவது.\n\n #### பொது அமைப்புகளுக்கு ஏன் லிப்ரசைன் தேவை?\n\n பொது நிறுவனங்கள் வெவ்வேறு கட்சிகளால் கையொப்பமிட வேண்டிய பெரிய அளவிலான ஆவணங்களைக் கையாளுகின்றன, பெரும்பாலும் வெவ்வேறு இடங்களில். நிர்வாக செயல்முறைகளை ஒழுங்காக வைத்திருக்கவும், சேவைகளின் தொடர்ச்சியை உறுதிப்படுத்தவும் இந்த சந்தாக்களை நிர்வகிப்பதில் செயல்திறன் தேவை. கையொப்பமிடும் செயல்முறையை விரைவுபடுத்துவது மட்டுமல்லாமல், ஒரே குழுவில் கையொப்ப நிர்வாகத்தை மையப்படுத்துவதன் மூலம் குழு அமைப்பு மற்றும் உற்பத்தித்திறனையும் மேம்படுத்துகிறது.\n\n ### நிகழ்நேர கண்காணிப்பு பயன்பாடுகளின் எடுத்துக்காட்டுகள்\n\n 1. ** அரசு துறைகள்: **\n\n அரசாங்கத் துறைகளில், உத்தியோகபூர்வ ஆவணங்களில் கையெழுத்திடுவது நாள்தோறும் நடவடிக்கையாகும், நிகழ்நேர கண்காணிப்பு அனைத்து ஆவணங்களும் சரியான நேரத்தில் கையொப்பமிடப்படுவதையும், முக்கியமான விவரங்கள் எதுவும் கவனிக்கப்படவில்லை என்பதையும் உறுதி செய்கிறது.\n\n 2. ** மருத்துவமனைகள் மற்றும் சுகாதார சேவைகள்: **\n\n மருத்துவமனைகள் மற்றும் சுகாதார சேவைகளில், திறமையான ஆவண மேலாண்மை உண்மையில் உயிர்களைக் காப்பாற்ற முடியும். மருந்து மற்றும் அங்கீகார கையொப்பங்கள், மருந்துகள் மற்றும் பிற முக்கியமான ஆவணங்களை நிகழ்நேரத்தில் கண்காணிக்கும் திறன் நோயாளிகள் தாமதங்கள் இல்லாமல் தங்களுக்குத் தேவையான கவனிப்பைப் பெறுவதை உறுதி செய்கிறது.\n\n 3. ** கல்வித் துறை: **\n\n ஆசிரியர் ஒப்பந்தங்கள், பெற்றோரின் ஒப்புதல்கள், மாணவர் பதிவுகள் மற்றும் பிற முக்கியமான ஆவணங்களை திறமையாகவும் வெளிப்படையாகவும் நிர்வகிப்பதன் மூலம் பள்ளிகள், பல்கலைக்கழகங்கள் மற்றும் பிற கல்வி நிறுவனங்கள் லிப்ரீசைனில் இருந்து பயனடையலாம்.\n\n லிப்ரசைன் உடன் நிகழ்நேர கண்காணிப்பை செயல்படுத்துவது ஆவண நிர்வாகத்தை புரட்சிகரமாக்குகிறது, இது மிகவும் வெளிப்படையான மற்றும் திறமையான அனுபவத்தை வழங்குகிறது. பொது நிறுவனங்கள், குறிப்பாக, இந்த தொழில்நுட்பத்திலிருந்து பயனடையலாம், அவற்றின் கையொப்ப செயல்முறைகள் சுறுசுறுப்பானவை மற்றும் நன்கு கட்டுப்படுத்தப்படுகின்றன என்பதை உறுதி செய்கிறது.\n\n தெரிவுநிலை மற்றும் கட்டுப்பாட்டு பற்றாக்குறை உங்கள் நிறுவனத்தின் உற்பத்தித்திறனுக்கு தீங்கு விளைவிக்க வேண்டாம். உங்கள் டிசிட்டல் கையொப்ப செயல்முறைகளை லிப்ரசைட்டை முயற்சித்து மாற்றவும். ஒரு ஆர்ப்பாட்டத்தைத் திட்டமிடுங்கள் மற்றும் உங்கள் நிறுவனத்தில் ஆவண மேலாண்மை மற்றும் நிர்வாக செயல்திறனை எவ்வாறு மேம்படுத்தலாம் என்பதைக் கண்டறியவும்.\n",
+ "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n": "### Signature Order: Sequential or Parallel Signing in LibreSign\n\nLibreSign now supports **signature order control**, allowing documents to be signed **sequentially** or **in parallel**, providing greater flexibility and control over signing workflows.\n\nAdministrators can define the **default signature flow** for their environment:\n\n* **Parallel signing**: all signers can sign the document simultaneously, without a predefined order.\n* **Sequential signing**: signers must sign the document following a defined order, where each signer is notified only after the previous one has completed their signature.\n\nIf the administrator does not define a default signing order, the person requesting the signature can choose whether the document should follow a **sequential signing flow** when creating the signing request.\n\nThis feature enables LibreSign to better support structured approval processes, compliance requirements, and real-world business workflows, while maintaining the simplicity and flexibility expected from a modern digital signature solution.\n\nIn the administration settings, administrators can configure the default signing order for the organization:\n\n\n

baseUrl}}assets/images/posts/signature-order/admin-settings.png\" alt=\"Admin settings\">\n
\n\nWhen creating a new signing request, the requester can choose the signing order:\n\n\n

baseUrl}}assets/images/posts/signature-order/configuring.png\" alt=\"Configuring signing order\">\n
\n\nThe signing order can also be viewed during the signing process:\n\n\n

baseUrl}}assets/images/posts/signature-order/view-signing-order.png\" alt=\"Viewing signing order\">\n
\n\nWhen a signing order is defined, LibreSign enforces the sequence during the signing process, ensuring that each signer only receives the notification and is able to sign the document when it is their turn in the defined order.\n",
"### Validity of Legal Signatures in Brazil and Around the World\n\nWith the increasing digitalization of administrative and legal processes, the validity of electronic signatures has become a topic of great relevance. Digital signatures offer security, agility, and convenience, but it is essential to understand their legal basis both in Brazil and in other countries. In this article, we explore the legal validity of digital signatures in a global context.\n\n#### Legal Signatures in Brazil\n\nIn Brazil, the validity of electronic signatures is provided for by [Provisional Measure No. 2,200-2/2001](https://www.planalto.gov.br/ccivil_03/MPV/Antigas_2001/2200-2.htm), which established the Brazilian Public Key Infrastructure (ICP-Brasil). This measure establishes that digitally signed documents using certificates issued by accredited authorities have the same legal validity as physically signed documents.\n\n**Article 10 of MP 2,200-2/2001:**\n\"Electronic documents referred to in this Provisional Measure, whose signatures were made using a digital certificate issued by an accredited Certification Authority, are considered public or private documents.\"\n\nAdditionally, [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm) brought important updates on the use of electronic signatures in the public sector, classifying them into three types: simple, advanced, and qualified, with the latter having the highest level of security and legal validity.\n\n#### Legal Signatures Around the World\n\nThe regulation of electronic signatures varies from country to country, but there is a global movement towards their acceptance and validation.\n\n##### European Union\n\nIn the European Union, the [eIDAS Regulation](https://s.librecode.coop/e-idas-regulation) (Electronic Identification, Authentication and Trust Services), in effect since 2016, standardizes the use of electronic signatures among Member States. The eIDAS recognizes three types of electronic signatures: simple, advanced, and qualified, with the latter being the only one that has legal equivalence to handwritten signatures.\n\n**Article 25 of the eIDAS Regulation:**\n\"A qualified electronic signature shall have the equivalent legal effect of a handwritten signature.\"\n\n##### United States\n\nIn the United States, the Electronic Signatures in Global and National Commerce Act ([E-SIGN Act](https://www.congress.gov/bill/106th-congress/house-bill/1714)) and the Uniform Electronic Transactions Act (UETA) establish that electronic signatures are legally valid and enforceable, provided that all parties involved in the contract opt to use electronic means.\n\n**Section 101(a) of the E-SIGN Act:**\n\"A signature, contract, or other record relating to such transaction may not be denied legal effect, validity, or enforceability solely because it is in electronic form.\"\n\n#### Benefits of Digital Signatures\n\nThe adoption of digital signatures offers several benefits for businesses and institutions:\n\n1. **Security:** They use encryption to ensure the authenticity and integrity of documents.\n2. **Efficiency:** They reduce the time required to sign and process documents.\n3. **Sustainability:** They decrease paper usage, contributing to more sustainable practices.\n\nDigital signatures represent a significant advancement in the way documents are managed and authenticated. Their legal validity is supported by specific laws both in Brazil and in other countries, providing security and efficiency for businesses and individuals.\n\nFor more information on the validity of digital signatures in Brazil, visit [ICP-Brasil](http://www.iti.gov.br/icp-brasil) and [Law No. 14,063/2020](https://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2020/Lei/L14063.htm).\n": "### பிரேசில் மற்றும் உலகெங்கிலும் சட்ட கையொப்பங்களின் செல்லுபடியாகும்\n\n நிர்வாக மற்றும் சட்ட செயல்முறைகளின் டிசிட்டல் மயமாக்கலுடன், மின்னணு கையொப்பங்களின் செல்லுபடியாகும் தன்மை மிகவும் பொருத்தமான தலைப்பாக மாறியுள்ளது. டிசிட்டல் கையொப்பங்கள் பாதுகாப்பு, சுறுசுறுப்பு மற்றும் வசதியை வழங்குகின்றன, ஆனால் பிரேசிலிலும் பிற நாடுகளிலும் அவற்றின் சட்ட அடிப்படையைப் புரிந்துகொள்வது தேவை. இந்த கட்டுரையில், உலகளாவிய சூழலில் டிசிட்டல் கையொப்பங்களின் சட்ட செல்லுபடியை ஆராய்வோம்.\n\n #### பிரேசிலில் சட்ட கையொப்பங்கள்\n\n பிரேசிலில், மின்னணு கையொப்பங்களின் செல்லுபடியாகும் தன்மை [தற்காலிக நடவடிக்கை எண் 2,200-2/2001] (https://www.planalto.gov.br/ccivil_03/mpv/antigas_2001/2200-2.htm) பிரேசிலிய பொது முக்கிய உள்கட்டமைப்பை (ஐ.சி.பி-பிராசில்) நிறுவியது. ஏற்பு பெற்ற அதிகாரிகளால் வழங்கப்பட்ட சான்றிதழ்களைப் பயன்படுத்தி டிசிட்டல் முறையில் கையொப்பமிடப்பட்ட ஆவணங்கள் உடல் ரீதியாக கையொப்பமிடப்பட்ட ஆவணங்களைப் போலவே சட்ட செல்லுபடியாகும் என்பதை இந்த நடவடிக்கை நிறுவுகிறது.\n\n ** எம்.பி. 2,200-2/2001 இன் பிரிவு 10: **\n \"இந்த தற்காலிக நடவடிக்கையில் குறிப்பிடப்பட்ட மின்னணு ஆவணங்கள், ஏற்பு பெற்ற சான்றிதழ் ஆணையத்தால் வழங்கப்பட்ட டிசிட்டல் சான்றிதழைப் பயன்படுத்தி கையொப்பங்கள் செய்யப்பட்டன, அவை பொது அல்லது தனியார் ஆவணங்களாக கருதப்படுகின்றன.\"\n\n கூடுதலாக, [சட்டம் எண் 14,063/2020] (https://www.planalto.gov.br/ccivil_03/_ato2019-2022/2020/LEI/L14063.htm) பொதுத் துறையில் மின்னணு கையொப்பங்களைப் பயன்படுத்துவது குறித்த முக்கியமான புதுப்பிப்புகளைக் கொண்டு வந்தது , அவற்றை மூன்று வகைகளாக வகைப்படுத்துதல்: எளிய, மேம்பட்ட மற்றும் தகுதி வாய்ந்த, பிந்தையது மிக உயர்ந்த பாதுகாப்பு மற்றும் சட்ட செல்லுபடியாகும்.\n\n #### உலகெங்கிலும் சட்ட கையொப்பங்கள்\n\n மின்னணு கையொப்பங்களை ஒழுங்குபடுத்துவது நாட்டிற்கு நாட்டிற்கு வேறுபடுகிறது, ஆனால் அவை ஏற்றுக்கொள்வதற்கும் சரிபார்ப்பதற்கும் ஒரு உலகளாவிய இயக்கம் உள்ளது.\n\n ##### ஐரோப்பிய ஒன்றியம்\n\n ஐரோப்பிய ஒன்றியத்தில், [EIDAS ஒழுங்குமுறை] (https://s.librecode.coop/e-idas- ஒழுங்குமுறை) (மின்னணு அடையாளம் காணல், ஏற்பு மற்றும் நம்பிக்கை சேவைகள்), இதன் விளைவாக, உறுப்பினர்களிடையே மின்னணு கையொப்பங்களின் பயன்பாட்டை தரப்படுத்துகிறது மாநிலங்கள். ஈடாச் மூன்று வகையான மின்னணு கையொப்பங்களை அங்கீகரிக்கிறது: எளிய, மேம்பட்ட மற்றும் தகுதி வாய்ந்தது, பிந்தையது கையால் எழுதப்பட்ட கையொப்பங்களுக்கு சட்டப்பூர்வ சமநிலையைக் கொண்டுள்ளது.\n\n ** ஈடாச் ஒழுங்குமுறையின் 25 வது பிரிவு: **\n \"ஒரு தகுதிவாய்ந்த மின்னணு கையொப்பம் கையால் எழுதப்பட்ட கையொப்பத்தின் சமமான சட்ட விளைவைக் கொண்டிருக்கும்.\"\n\n ##### அமெரிக்கா\n\n ஒன்றுபட்டது ச்டேட்சில், உலகளாவிய மற்றும் தேசிய வர்த்தக சட்டத்தில் மின்னணு கையொப்பங்கள் ([இ-சைன் சட்டம்] (https://www.congress.gov/bill/106th-congress/house-bill/1714) மற்றும் சீரான மின்னணு பரிவர்த்தனைகள் எலக்ட்ரானிக் கையொப்பங்கள் சட்டபூர்வமாக செல்லுபடியாகும் மற்றும் செயல்படுத்தக்கூடியவை என்பதை சட்டகை (UETA) நிறுவுகிறது, ஒப்பந்தத்தில் ஈடுபட்டுள்ள அனைத்து தரப்பினரும் மின்னணு வழிமுறைகளைப் பயன்படுத்துவதைத் தேர்வுசெய்தால்.\n\n ** மின்-சைன் சட்டத்தின் பிரிவு 101 (அ): **\n .\n\n #### டிசிட்டல் கையொப்பங்களின் நன்மைகள்\n\n டிசிட்டல் கையொப்பங்களை ஏற்றுக்கொள்வது வணிகங்கள் மற்றும் நிறுவனங்களுக்கு பல நன்மைகளை வழங்குகிறது:\n\n 1. ** பாதுகாப்பு: ** ஆவணங்களின் நம்பகத்தன்மை மற்றும் ஒருமைப்பாட்டை உறுதிப்படுத்த அவை குறியாக்கத்தைப் பயன்படுத்துகின்றன.\n 2. ** செயல்திறன்: ** ஆவணங்களில் கையொப்பமிடவும் செயலாக்கவும் தேவையான நேரத்தை அவை குறைக்கின்றன.\n 3. ** நிலைத்தன்மை: ** அவை காகித பயன்பாட்டைக் குறைத்து, மேலும் நிலையான நடைமுறைகளுக்கு பங்களிக்கின்றன.\n\n டிசிட்டல் கையொப்பங்கள் ஆவணங்கள் நிர்வகிக்கப்பட்டு அங்கீகரிக்கப்பட்ட விதத்தில் குறிப்பிடத்தக்க முன்னேற்றத்தைக் குறிக்கின்றன. அவர்களின் சட்ட செல்லுபடியாகும் தன்மை பிரேசில் மற்றும் பிற நாடுகளில் குறிப்பிட்ட சட்டங்களால் ஆதரிக்கப்படுகிறது, இது வணிகங்கள் மற்றும் தனிநபர்களுக்கான பாதுகாப்பு மற்றும் செயல்திறனை வழங்குகிறது.\n\n பிரேசிலில் டிசிட்டல் கையொப்பங்களின் செல்லுபடியாகும் தன்மை பற்றிய கூடுதல் தகவலுக்கு, [ICP-BRASIL] (http://www.iti.gov.br/icp-brasil) மற்றும் [சட்ட எண் 14,063/2020] (https: // wwwwwwwwww .planalto.gov.br/ccivil_03/_ato2019-2022/2020/lei/l14063.htm).\n",
- "$ 600/mo": "$ 600/மோ",
+ "- Pricing tailored to your operation\n- Deployment and support scope defined together": "- Pricing tailored to your operation\n- Deployment and support scope defined together",
"- Unlimited accounts\n- Storage customized": "- வரம்பற்ற கணக்குகள்\n - தனிப்பயனாக்கப்பட்ட சேமிப்பு",
- "- Until 5 accounts\n- Storage until 1Gb": "- 5 கணக்குகள் வரை\n - 1 சிபி சேமிப்பு வரை",
"A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.": "ஒரு எளிய மற்றும் முழுமையான தீர்வு. இது செயல்முறைகளை விரைவுபடுத்துகிறது மற்றும் காகிதத்தின் பயன்பாட்டை அகற்றும். நாங்கள் அதை எங்கள் பொது மேலாண்மை அமைப்பு அல்லது மின்-வனப்பகுதியுடன் ஒருங்கிணைத்தோம், அது அபத்தமானது. வாழ்த்துக்கள்.",
"About": "பற்றி",
"About Us": "எங்களைப் பற்றி",
@@ -16,7 +19,6 @@
"Agility and security are paramount in business transactions, and LibreSign emerges as the intelligent choice for diverse sectors. Developed by LibreCode, a cooperative of IT professionals, LibreSign embodies the Free and Open-Source Software (FOSS) philosophy. With robust security standards, it ensures the inviolability of electronic signatures, making it ideal for government, education, and corporate enterprises": "வணிக பரிவர்த்தனைகளில் சுறுசுறுப்பு மற்றும் பாதுகாப்பு மிக முக்கியமானது, மேலும் பல்வேறு துறைகளுக்கான புத்திசாலித்தனமான தேர்வாக லிப்ரசைன் வெளிப்படுகிறது. ஐ.டி நிபுணர்களின் கூட்டுறவு லிப்ரெகோட் உருவாக்கியது, லிப்ரசைன் இலவச மற்றும் திறந்த மூல மென்பொருள் (FOSS) தத்துவத்தை உள்ளடக்கியது. வலுவான பாதுகாப்பு தரங்களுடன், இது மின்னணு கையொப்பங்களின் மீறலை உறுதி செய்கிறது, இது அரசு, கல்வி மற்றும் கார்ப்பரேட் நிறுவனங்களுக்கு ஏற்றதாக அமைகிறது",
"Agility and security in business transactions are essential for the success of any company. It is in this scenario that LibreSign stands out as the smart choice for businesses across various sectors, offering not only efficiency but also a commitment to security and privacy.\n\nDeveloped by LibreCode, a cooperative of IT professionals, LibreSign is more than just software; it is an expression of the Free and Open-Source Software (FOSS) philosophy, reflecting not only what we do but why we do it. After all, we are driven by the conviction that technology should be accessible to all, promoting the freedom of use, modification, and distribution.\n\nBy adopting the Free and Open-Source model, LibreSign not only provides businesses with a cost-effective solution but also offers the flexibility needed to adapt the software to the specific demands of each business. This means that your company is not just acquiring a product but becoming part of a community dedicated to building advanced technological solutions.\n\n## Security first\n\nDeveloped with the highest standards of security and encryption, our users can sign electronic documents with confidence, knowing that their sensitive information is protected.\n\nEncryption ensures that electronic signatures are secure and inviolable, providing peace of mind not only for businesses but also for customers and partners. By choosing LibreSign, your company is investing in a solution that places security and privacy at the center of everything we do.\n\n## Who is LibreSign for?\n\nLibreSign is a versatile solution developed to meet the specific needs of various sectors, including government, education, and corporate enterprises. By simplifying and streamlining processes such as the signing of government contracts, academic documents, and corporate agreements, LibreSign promotes efficiency at all levels of these institutions.\n\nBy using LibreSign, businesses are not only investing in a practical tool; they are joining a revolution that redefines and optimizes process management. This transformation aims not only to enhance efficiency but also to strengthen security, taking them to the highest level of excellence.\n": "எந்தவொரு நிறுவனத்தின் வெற்றிக்கும் வணிக பரிவர்த்தனைகளில் சுறுசுறுப்பு மற்றும் பாதுகாப்பு தேவை. இந்த சூழ்நிலையில்தான், லிப்ரசைன் பல்வேறு துறைகளில் உள்ள வணிகங்களுக்கான அறிவுள்ள தேர்வாக நிற்கிறது, இது செயல்திறனை மட்டுமல்லாமல் பாதுகாப்பு மற்றும் தனியுரிமைக்கான உறுதிப்பாட்டையும் வழங்குகிறது.\n\n ஐடி நிபுணர்களின் கூட்டுறவு லிப்ரெகோட் உருவாக்கியது, லிப்ரசைன் என்பது மென்பொருளை விட அதிகம்; இது இலவச மற்றும் திறந்த மூல மென்பொருள் (FOSS) தத்துவத்தின் வெளிப்பாடாகும், இது நாம் என்ன செய்கிறோம் என்பது மட்டுமல்லாமல், ஏன் அதைச் செய்கிறோம் என்பதை பிரதிபலிக்கிறது. எல்லாவற்றிற்கும் மேலாக, தொழில்நுட்பம் அனைவருக்கும் அணுகக்கூடியதாக இருக்க வேண்டும் என்ற நம்பிக்கையால் நாங்கள் உந்தப்படுகிறோம், பயன்பாட்டின் சுதந்திரத்தை ஊக்குவிக்கிறோம், மாற்றியமைத்தல் மற்றும் விநியோகம்.\n\n இலவச மற்றும் திறந்த மூல மாதிரியை ஏற்றுக்கொள்வதன் மூலம், லிப்ரசைன் வணிகங்களுக்கு செலவு குறைந்த தீர்வை வழங்குவதோடு மட்டுமல்லாமல், ஒவ்வொரு வணிகத்தின் குறிப்பிட்ட கோரிக்கைகளுக்கு மென்பொருளை மாற்றியமைக்கத் தேவையான நெகிழ்வுத்தன்மையையும் வழங்குகிறது. இதன் பொருள் உங்கள் நிறுவனம் ஒரு தயாரிப்பைப் பெறுவது மட்டுமல்ல, மேம்பட்ட தொழில்நுட்ப தீர்வுகளை உருவாக்குவதற்கு அர்ப்பணிக்கப்பட்ட ஒரு சமூகத்தின் ஒரு பகுதியாக மாறுகிறது.\n\n ## பாதுகாப்பு முதலில்\n\n பாதுகாப்பு மற்றும் குறியாக்கத்தின் மிக உயர்ந்த தரங்களுடன் உருவாக்கப்பட்ட எங்கள் பயனர்கள் மின்னணு ஆவணங்களில் நம்பிக்கையுடன் கையெழுத்திடலாம், அவற்றின் முக்கியமான தகவல்கள் பாதுகாக்கப்படுகின்றன என்பதை அறிந்து கொள்ளலாம்.\n\n குறியாக்கம் மின்னணு கையொப்பங்கள் பாதுகாப்பானவை மற்றும் மீற முடியாதவை என்பதை உறுதி செய்கிறது, இது வணிகங்களுக்கு மட்டுமல்ல, வாடிக்கையாளர்களுக்கும் கூட்டாளர்களுக்கும் மன அமைதியை வழங்குகிறது. லிப்ரசைனைத் தேர்ந்தெடுப்பதன் மூலம், உங்கள் நிறுவனம் நாங்கள் செய்யும் எல்லாவற்றின் மையத்திலும் பாதுகாப்பையும் தனியுரிமையையும் வைக்கும் ஒரு தீர்வில் முதலீடு செய்கிறது.\n\n ## யார் லிப்ரசைன்?\n\n அரசு, கல்வி மற்றும் கார்ப்பரேட் நிறுவனங்கள் உள்ளிட்ட பல்வேறு துறைகளின் குறிப்பிட்ட தேவைகளைப் நிறைவு செய்ய உருவாக்கப்பட்ட ஒரு பல்துறை தீர்வாகும். அரசாங்க ஒப்பந்தங்கள், கல்வி ஆவணங்கள் மற்றும் கார்ப்பரேட் ஒப்பந்தங்களில் கையெழுத்திடுவது போன்ற செயல்முறைகளை எளிதாக்குவதன் மூலமும், நெறிப்படுத்துவதன் மூலமும், லிப்ரசைன் இந்த நிறுவனங்களின் அனைத்து மட்டங்களிலும் செயல்திறனை ஊக்குவிக்கிறது.\n\n லிப்ரேசைனைப் பயன்படுத்துவதன் மூலம், வணிகங்கள் ஒரு நடைமுறை கருவியில் முதலீடு செய்வது மட்டுமல்ல; செயல்முறை நிர்வாகத்தை மறுவரையறை செய்து மேம்படுத்தும் ஒரு புரட்சியில் அவர்கள் சேர்கிறார்கள். இந்த மாற்றம் செயல்திறனை மேம்படுத்துவதோடு மட்டுமல்லாமல், பாதுகாப்பை வலுப்படுத்துவதையும் நோக்கமாகக் கொண்டுள்ளது, அவற்றை மிக உயர்ந்த நிலைக்கு கொண்டு செல்கிறது.\n",
"Any Questions? Answered": "ஏதாவது கேள்விகள்? பதில்",
- "Basic": "அடிப்படை",
"Beyond offering agility and security in digital signatures and document management, LibreSign features functionalities that adapt to the specific needs of your organization.": "டிசிட்டல் கையொப்பங்கள் மற்றும் ஆவண நிர்வாகத்தில் சுறுசுறுப்பு மற்றும் பாதுகாப்பை வழங்குவதைத் தாண்டி, உங்கள் நிறுவனத்தின் குறிப்பிட்ட தேவைகளுக்கு ஏற்ப செயல்பாடுகளை லிப்ரசைன் கொண்டுள்ளது.",
"Blog Page": "வலைப்பதிவு பக்கம்",
"Business": "வணிகம்",
@@ -25,19 +27,23 @@
"By %s": "மூலம் %s",
"By using digital certificates issued by a Certification Authority, it is possible to ensure the signer's identity and the document's integrity. Physical signatures can be forged, compromising the validity of your documents. However, digital signatures, regulated by Provisional Measure No. 2.200-2/2001, provide the necessary security to protect the authenticity and legal validity of your documents.": "சான்றிதழ் ஆணையத்தால் வழங்கப்பட்ட டிசிட்டல் சான்றிதழ்களைப் பயன்படுத்துவதன் மூலம், கையொப்பமிட்டவரின் அடையாளம் மற்றும் ஆவணத்தின் ஒருமைப்பாட்டை உறுதிப்படுத்த முடியும். உடல் கையொப்பங்கள் போலியானவை, உங்கள் ஆவணங்களின் செல்லுபடியை வேறுபாடின்மை செய்கின்றன. இருப்பினும், தற்காலிக அளவீட்டு எண் 2.200-2/2001 ஆல் கட்டுப்படுத்தப்படும் டிசிட்டல் கையொப்பங்கள், உங்கள் ஆவணங்களின் நம்பகத்தன்மையையும் சட்ட செல்லுபடியையும் பாதுகாக்க தேவையான பாதுகாப்பை வழங்குகின்றன.",
"CONTACT US": "எங்களை தொடர்புகொள்",
+ "CRL (Certificate Revocation List) Implementation in LibreSign": "CRL (Certificate Revocation List) Implementation in LibreSign",
"Choose the perfect plan for your needs - Flexibility and security for companies of all sizes!": "உங்கள் தேவைகளுக்கான சரியான திட்டத்தைத் தேர்வுசெய்க - அனைத்து அளவிலான நிறுவனங்களுக்கும் நெகிழ்வுத்தன்மை மற்றும் பாதுகாப்பு!",
"Cloud Storage": "மேகக்கணி சேமிப்பு",
"Compare plans": "திட்டங்களை ஒப்பிடுக",
"Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!": "மின்னணு கையொப்பங்களுக்கு இதுபோன்ற திறமையான தீர்வை உருவாக்கிய லிப்ரசைன் மேம்பாட்டுக் குழுவுக்கு வாழ்த்துக்கள்! லிப்ரசைன் ஒரு உள்ளுணர்வு இடைமுகத்தையும் பயன்பாட்டின் எளிமையையும் கொண்டுள்ளது, இது பல்வேறு பநிஇ களுடன் ஒருங்கிணைக்க அனுமதிக்கிறது. நான் வளர்ச்சியைப் பின்பற்றி வருகிறேன், ஒவ்வொரு புதிய வெளியீட்டிலும் அதை மேம்படுத்துவதைப் பார்க்கிறேன். டிசிட்டல் கையொப்பங்களை நிர்வகிப்பது எளிய மற்றும் நம்பகமான அனுபவமாக மாற்றுகிறது. நான் அதை மிகவும் பரிந்துரைக்கிறேன்!",
"Contact": "தொடர்பு",
+ "Contact us for pricing": "விலைக்காக எங்களை தொடர்புகொள்ளவும்",
"Contact us to more informations": "மேலும் தகவலுக்கு எங்களை தொடர்பு கொள்ளவும்",
"Contribute to a greener world by eliminating the use of paper.": "காகிதத்தின் பயன்பாட்டை அகற்றுவதன் மூலம் பசுமையான உலகிற்கு பங்களிக்கவும்.",
+ "Custom Quote": "தனிப்பயன் மேற்கோள்",
"Customization of visual identity (colors, logo and domain)": "காட்சி அடையாளத்தின் தனிப்பயனாக்கம் (வண்ணங்கள், லோகோ மற்றும் டொமைன்)",
"Developed by": "உருவாக்கியது",
"Did you know that digital signature is the safest and most efficient way to validate electronic documents?": "மின்னணு ஆவணங்களை சரிபார்க்க டிசிட்டல் கையொப்பம் பாதுகாப்பான மற்றும் திறமையான வழி என்பது உங்களுக்குத் தெரியுமா?",
"Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.": "Discover LibreSign, the secure and efficient digital signature platform. Reduce costs, boost productivity, and ensure legal validity with advanced encryption. Perfect for companies seeking agility and sustainability.",
"Discover the main benefits of integrating e-Cidade with LibreSign and see how this partnership is transforming the digitalization of municipalities, promoting agility, security, and sustainability.": "லிபிரீசைனுடன் ஈ-செடேட்டை ஒருங்கிணைப்பதன் முக்கிய நன்மைகளைக் கண்டறிந்து, இந்த கூட்டாண்மை நகராட்சிகளின் டிசிட்டல்மயமாக்கலை எவ்வாறு மாற்றுகிறது, சுறுசுறுப்பு, பாதுகாப்பு மற்றும் நிலைத்தன்மையை ஊக்குவிக்கிறது என்பதைப் பாருங்கள்.",
"Discover the validity of digital signatures in Brazil and around the world. This article explores the legal basis of electronic signatures, citing specific laws and highlighting the benefits of this technology for businesses and institutions.": "பிரேசில் மற்றும் உலகெங்கிலும் டிசிட்டல் கையொப்பங்களின் செல்லுபடியைக் கண்டறியவும். இந்த கட்டுரை மின்னணு கையொப்பங்களின் சட்ட அடிப்படையை ஆராய்கிறது, குறிப்பிட்ட சட்டங்களை மேற்கோள் காட்டி, வணிகங்கள் மற்றும் நிறுவனங்களுக்கான இந்த தொழில்நுட்பத்தின் நன்மைகளை எடுத்துக்காட்டுகிறது.",
+ "DocMDP (Document Modification Detection and Prevention) in LibreSign": "DocMDP (Document Modification Detection and Prevention) in LibreSign",
"Document management in education - Challenges and solutions with LibreSign": "கல்வியில் ஆவண மேலாண்மை - லிபிரீசைக் உடனான சவால்கள் மற்றும் தீர்வுகள்",
"Document management in the educational field is complex and inefficient when done manually. With LibreSign, educational institutions can optimize document management, making it faster, more accurate, and efficient.": "கல்வித் துறையில் ஆவண மேலாண்மை சிக்கலானது மற்றும் கைமுறையாக செய்யும்போது திறமையற்றது. லிப்ரசைன் மூலம், கல்வி நிறுவனங்கள் ஆவண நிர்வாகத்தை மேம்படுத்தலாம், அதை வேகமாகவும், துல்லியமாகவும், திறமையாகவும் மாற்றும்.",
"Document validation by QR Code": "QR குறியீட்டின் ஆவண சரிபார்ப்பு",
@@ -46,6 +52,7 @@
"Electronic document management": "மின்னணு ஆவண மேலாண்மை",
"Electronic signature capture is a technology for signing electronic document files with a handwritten signature. The use of this technology allows for the elimination of the mailing, storage, filing, copying, and retrieval of paper documents. This will save your business time and money.": "எலக்ட்ரானிக் கையொப்பம் பிடிப்பு என்பது கையெழுத்திடப்பட்ட கையொப்பத்துடன் மின்னணு ஆவணக் கோப்புகளில் கையொப்பமிடுவதற்கான தொழில்நுட்பமாகும். இந்த தொழில்நுட்பத்தின் பயன்பாடு, அஞ்சல், சேமிப்பு, தாக்கல் செய்தல், நகலெடுப்பது மற்றும் காகித ஆவணங்களை மீட்டெடுக்க அனுமதிக்கிறது. இது உங்கள் வணிக நேரத்தையும் பணத்தையும் மிச்சப்படுத்தும்.",
"Encrypted signatures that guarantee the integrity of your documents.": "உங்கள் ஆவணங்களின் ஒருமைப்பாட்டை உறுதிப்படுத்தும் மறைகுறியாக்கப்பட்ட கையொப்பங்கள்.",
+ "Envelopes - Batch document signing in LibreSign": "Envelopes - Batch document signing in LibreSign",
"Features": "நற்பொருத்தங்கள்",
"File Creation, Signature with Digital Certificate, Signature Management, Document Management, Validation, API": "கோப்பு உருவாக்கம், டிசிட்டல் சான்றிதழ், கையொப்ப மேலாண்மை, ஆவண மேலாண்மை, சரிபார்ப்பு, பநிஇ",
"Fill in the fields below with your data": "உங்கள் தரவைக் கொண்டு கீழே உள்ள புலங்களை நிரப்பவும்",
@@ -64,6 +71,8 @@
"Keep your documents secure with end-to-end encryption and multi-factor authentication, ensuring protection throughout the electronic document signing process.": "உங்கள் ஆவணங்களை இறுதி முதல் இறுதி குறியாக்கம் மற்றும் பல காரணி அங்கீகாரத்துடன் பாதுகாப்பாக வைத்திருங்கள், மின்னணு ஆவண கையொப்பமிடும் செயல்முறை முழுவதும் பாதுகாப்பை உறுதி செய்கிறது.",
"Language": "மொழி",
"Last articles": "கடைசி கட்டுரைகள்",
+ "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.": "Learn how LibreSign implements DocMDP support according to ISO 32000 standards, providing document protection policies that ensure integrity and control over modifications after digital signature.",
+ "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.": "Learn how the Certificate Revocation List (CRL) implementation in LibreSign enhances digital signature security and ensures compliance with international best practices.",
"Learn more": "மேலும் அறிக",
"Legal validity of electronic signatures in Brazil and around the world": "பிரேசில் மற்றும் உலகெங்கிலும் மின்னணு கையொப்பங்களின் சட்ட செல்லுபடியாகும்",
"Let’s talk about digitally signing your documents!": "உங்கள் ஆவணங்களில் டிசிட்டல் முறையில் கையொப்பமிடுவது பற்றி பேசலாம்!",
@@ -78,6 +87,8 @@
"LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.": "லிப்ரசைன் நீண்ட தூரம் வந்துள்ளது, மேலும் இது பெரும்பாலான வணிக மின்-கையொப்ப தீர்வுகளுக்கு மாற்றாக உள்ளது, மேலும் இது திறந்த மூலமாகும்.",
"LibreSign is a web application for electronic signatures (e-Sign) developed by the LibreCode cooperative (Brazilian cooperative specialized in free software development). Its development began at the beginning of 2020, in the midst of the pandemic, when people and companies were migrating their physical documentation to digital, and then there was a need to develop a web solution that could offer the possibility of signing documents, contracts and proposals online with security and agility.": "லிப்ரேசின் என்பது எலக்ட்ரானிக் கையொப்பங்களுக்கான வலை பயன்பாடாகும் (மின்-கையொப்பம்) லிப்ரிகோட் கூட்டுறவு (இலவச மென்பொருள் மேம்பாட்டில் நிபுணத்துவம் வாய்ந்த பிரேசிலிய கூட்டுறவு) உருவாக்கியது. அதன் வளர்ச்சி 2020 ஆம் ஆண்டின் தொடக்கத்தில், தொற்றுநோய்க்கு மத்தியில், மக்களும் நிறுவனங்களும் தங்கள் உடல் ஆவணங்களை டிசிட்டலுக்கு இடம்பெயர்ந்தபோது, பின்னர் ஆவணங்கள், ஒப்பந்தங்கள் மற்றும் கையெழுத்திடுவதற்கான வாய்ப்பை வழங்கக்கூடிய ஒரு வலை தீர்வை உருவாக்க வேண்டிய தேவை இருந்தது பாதுகாப்பு மற்றும் சுறுசுறுப்புடன் ஆன்லைனில் திட்டங்கள்.",
"LibreSign is the ideal choice for educational institutions looking to enhance their document processes with legal validity. Simplify the signing of contracts, authorizations, and other essential documents for academic administration. Promote effective document management, providing a streamlined and modern experience for students, teachers, and administrative staff.": "சட்ட செல்லுபடியாகும் தன்மையுடன் தங்கள் ஆவண செயல்முறைகளை மேம்படுத்த விரும்பும் கல்வி நிறுவனங்களுக்கு லிப்ரசைன் சிறந்த தேர்வாகும். கல்வி நிர்வாகத்திற்கான ஒப்பந்தங்கள், அங்கீகாரங்கள் மற்றும் பிற அத்தியாவசிய ஆவணங்களின் கையொப்பத்தை எளிதாக்குங்கள். பயனுள்ள ஆவண நிர்வாகத்தை ஊக்குவித்தல், மாணவர்கள், ஆசிரியர்கள் மற்றும் நிர்வாக ஊழியர்களுக்கு நெறிப்படுத்தப்பட்ட மற்றும் நவீன அனுபவத்தை வழங்குதல்.",
+ "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.": "LibreSign now supports envelopes, allowing multiple documents to be grouped and signed as a single signing process with shared signers and unified progress tracking.",
+ "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.": "LibreSign now supports signature order control, allowing documents to be signed sequentially or in parallel. Administrators can define the default workflow while maintaining flexibility for approval processes and compliance requirements.",
"LibreSign revolutionizes document authenticity verification with QR Code, ensuring security, efficiency, and practicality. Its instantaneous validation, agility, transparency, and compatibility with various platforms make it perfect for sustainable businesses. Try this solution now!": "QR குறியீட்டைக் கொண்டு ஆவண நம்பகத்தன்மை சரிபார்ப்பை லிப்ரேசின் புரட்சிகரமாக்குகிறது, பாதுகாப்பு, செயல்திறன் மற்றும் நடைமுறைத்தன்மையை உறுதி செய்கிறது. அதன் உடனடி சரிபார்ப்பு, சுறுசுறுப்பு, வெளிப்படைத்தன்மை மற்றும் பல்வேறு தளங்களுடன் பொருந்தக்கூடிய தன்மை ஆகியவை நிலையான வணிகங்களுக்கு ஏற்றதாக அமைகின்றன. இந்த தீர்வை இப்போது முயற்சிக்கவும்!",
"Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.": "Docusign போன்ற விலையுயர்ந்த முகில் சேவைகளுக்கு லிப்ரசைன் ஒரு முழு அம்சமான மாற்றாக மாறி வருகிறது. நெக்ச்ட் முகில் ஒருங்கிணைப்பு மின் சமிக்ஞைகளைப் பயன்படுத்துவதற்கான உண்மையான விருப்பமாக அமைகிறது.",
"Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.": "லிப்ரசைனின் நெக்ச்ட் முகில் ஒருங்கிணைப்பு கடந்த ஆண்டில் நீண்ட தூரம் வந்துவிட்டது. நீங்கள் இதற்கு முன்பு முயற்சித்தால், அது குறைவு ஏற்பட்டால், அதற்கு மற்றொரு வாய்ப்பு கொடுங்கள். இது ஒரு உண்மையான விருப்பம் மற்றும் பிற மின்-கையொப்ப சேவைகளுக்கு மாற்றாக இருப்பதை நான் காண முடிகிறது.",
@@ -101,16 +112,17 @@
"Provides a practical guide on how to use the LibreSign API, including querying endpoints and understanding usage flows by observing requests in the application.": "பயன்பாட்டில் உள்ள கோரிக்கைகளைக் கவனிப்பதன் மூலம் இறுதிப் புள்ளிகளை வினவுதல் மற்றும் பயன்பாட்டு ஓட்டங்களைப் புரிந்துகொள்வது உள்ளிட்ட லிப்ரைச்ன் பநிஇ எவ்வாறு பயன்படுத்துவது என்பதற்கான நடைமுறை வழிகாட்டியை வழங்குகிறது.",
"Public sector": "பொதுத்துறை",
"Real-time monitoring": "நிகழ்நேர கண்காணிப்பு",
- "STARTING FROM": "தொடங்கி",
"Security": "பாதுகாப்பு",
"Send Message": "செய்தி அனுப்பவும்",
"Sending reminder by email": "மின்னஞ்சல் மூலம் நினைவூட்டலை அனுப்புகிறது",
"Sign and send documents in seconds, from anywhere in the world.": "உலகில் எங்கிருந்தும் ஆவணங்களை நொடிகளில் கையொப்பமிட்டு அனுப்பவும்.",
+ "Signature Order - Sequential or Parallel Signing in LibreSign": "Signature Order - Sequential or Parallel Signing in LibreSign",
"Simple electronic signature (without digital certificate) unlimited": "எளிய மின்னணு கையொப்பம் (டிசிட்டல் சான்றிதழ் இல்லாமல்) வரம்பற்றது",
"Simplify your digital signatures and document management safely and efficiently": "உங்கள் டிசிட்டல் கையொப்பங்கள் மற்றும் ஆவண நிர்வாகத்தை பாதுகாப்பாகவும் திறமையாகவும் எளிதாக்குங்கள்",
"Speed": "வேகம்",
"Streamline the signing of digital documents for multiple individuals, ensuring legal validity, security, and collaboration. Expedite contract processes between departments, eliminating the need for in-person meetings. Embrace efficiency and collaboration with LibreSign, guiding your organization towards seamless digital transformation": "பல நபர்களுக்கான டிசிட்டல் ஆவணங்களை கையொப்பமிடுவதை நெறிப்படுத்துங்கள், சட்ட செல்லுபடியாகும் தன்மை, பாதுகாப்பு மற்றும் ஒத்துழைப்பை உறுதி செய்தல். துறைகளுக்கு இடையில் ஒப்பந்த செயல்முறைகளை விரைவுபடுத்தி, நபர் கூட்டங்களின் தேவையை நீக்குகிறது. லிப்ரசைன் உடன் செயல்திறன் மற்றும் ஒத்துழைப்பைத் தழுவுங்கள், உங்கள் நிறுவனத்தை தடையற்ற டிசிட்டல் மாற்றத்தை நோக்கி வழிநடத்துங்கள்",
"Sustainability": "நிலைத்தன்மை",
+ "TAILORED PRICING": "தனிப்பயன் விலை நிர்ணயம்",
"Talk to sales": "விற்பனையுடன் பேசுங்கள்",
"Target audience": "இலக்கு பார்வையாளர்கள்",
"Task control and management": "பணி கட்டுப்பாடு மற்றும் மேலாண்மை",
diff --git a/source/_assets/scss/_pricing.scss b/source/_assets/scss/_pricing.scss
index 609f2540..37215163 100644
--- a/source/_assets/scss/_pricing.scss
+++ b/source/_assets/scss/_pricing.scss
@@ -44,6 +44,7 @@
width: 55px;
height: 55px;
z-index: 1;
+ pointer-events: none;
}
&.first-item::after {
@@ -51,6 +52,7 @@
left: -2px;
bottom: -2px;
border-radius: 0px 55px 0px 8px;
+ box-shadow: 2px -2px 0 0 #d4deff;
}
&.last-item::after {
diff --git a/source/assets/compiled/css/ud-styles.css b/source/assets/compiled/css/ud-styles.css
new file mode 100644
index 00000000..645daaea
--- /dev/null
+++ b/source/assets/compiled/css/ud-styles.css
@@ -0,0 +1,17624 @@
+@import url(https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700;800;900&display=swap);
+@charset "UTF-8";/*!
+ * animate.css - https://animate.style/
+ * Version - 4.1.1
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2020 Animate.css
+ */:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*0.8);animation-duration:calc(var(--animate-duration)*0.8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
+/*--------------------------------
+
+Lineicons Free Web Font
+Crafted by Lineicons.com Team
+Version: 4.0
+
+-------------------------------- */
+
+@font-face {
+ font-family: 'lineicons';
+ src: url('fonts/lineicons.eot');
+ src: url('fonts/lineicons.eot') format('embedded-opentype'),
+ url('fonts/lineicons.woff2') format('woff2'),
+ url('fonts/lineicons.woff') format('woff'),
+ url('fonts/lineicons.ttf') format('truetype'),
+ url('fonts/lineicons.svg') format('svg');
+}
+
+/* base class */
+.lni {
+ display: inline-block;
+ font: normal normal normal 1em/1 'lineicons';
+ color: inherit;
+ flex-shrink: 0;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+/* size examples - relative units */
+.lni-sm {
+ font-size: 0.8em;
+}
+
+.lni-lg {
+ font-size: 1.2em;
+}
+
+/* size examples - absolute units */
+.lni-16 {
+ font-size: 16px;
+}
+
+.lni-32 {
+ font-size: 32px;
+}
+
+/* rotate the icon infinitely */
+.lni-is-spinning {
+ animation: lni-spin 1s infinite linear;
+}
+
+@keyframes lni-spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+/* transform */
+.lni-rotate-90 {
+ transform: rotate(90deg);
+}
+
+.lni-rotate-180 {
+ transform: rotate(180deg);
+}
+
+.lni-rotate-270 {
+ transform: rotate(270deg);
+}
+
+.lni-flip-y {
+ transform: scaleY(-1);
+}
+
+.lni-flip-x {
+ transform: scaleX(-1);
+}
+
+/* icons */
+.lni-zoom-out::before {
+ content: "\ea02";
+}
+
+.lni-zoom-in::before {
+ content: "\ea03";
+}
+
+.lni-zip::before {
+ content: "\ea04";
+}
+
+.lni-website::before {
+ content: "\ea05";
+}
+
+.lni-website-alt::before {
+ content: "\ea06";
+}
+
+.lni-users::before {
+ content: "\ea07";
+}
+
+.lni-user::before {
+ content: "\ea08";
+}
+
+.lni-upload::before {
+ content: "\ea09";
+}
+
+.lni-unlink::before {
+ content: "\ea0a";
+}
+
+.lni-trash-can::before {
+ content: "\ea0b";
+}
+
+.lni-timer::before {
+ content: "\ea0c";
+}
+
+.lni-tab::before {
+ content: "\ea0d";
+}
+
+.lni-star-half::before {
+ content: "\ea0e";
+}
+
+.lni-star-fill::before {
+ content: "\ea0f";
+}
+
+.lni-star-empty::before {
+ content: "\ea10";
+}
+
+.lni-signal::before {
+ content: "\ea11";
+}
+
+.lni-shortcode::before {
+ content: "\ea12";
+}
+
+.lni-shopping-basket::before {
+ content: "\ea13";
+}
+
+.lni-share::before {
+ content: "\ea14";
+}
+
+.lni-share-alt::before {
+ content: "\ea15";
+}
+
+.lni-search::before {
+ content: "\ea16";
+}
+
+.lni-search-alt::before {
+ content: "\ea17";
+}
+
+.lni-scroll-down::before {
+ content: "\ea18";
+}
+
+.lni-save::before {
+ content: "\ea19";
+}
+
+.lni-rss-feed::before {
+ content: "\ea1a";
+}
+
+.lni-rocket::before {
+ content: "\ea1b";
+}
+
+.lni-remove-file::before {
+ content: "\ea1c";
+}
+
+.lni-reload::before {
+ content: "\ea1d";
+}
+
+.lni-printer::before {
+ content: "\ea1e";
+}
+
+.lni-plug::before {
+ content: "\ea1f";
+}
+
+.lni-package::before {
+ content: "\ea20";
+}
+
+.lni-mouse::before {
+ content: "\ea21";
+}
+
+.lni-mobile::before {
+ content: "\ea22";
+}
+
+.lni-microphone::before {
+ content: "\ea23";
+}
+
+.lni-mic::before {
+ content: "\ea24";
+}
+
+.lni-menu::before {
+ content: "\ea25";
+}
+
+.lni-map::before {
+ content: "\ea26";
+}
+
+.lni-map-marker::before {
+ content: "\ea27";
+}
+
+.lni-magnifier::before {
+ content: "\ea28";
+}
+
+.lni-magnet::before {
+ content: "\ea29";
+}
+
+.lni-link::before {
+ content: "\ea2a";
+}
+
+.lni-laptop::before {
+ content: "\ea2b";
+}
+
+.lni-laptop-phone::before {
+ content: "\ea2c";
+}
+
+.lni-keyboard::before {
+ content: "\ea2d";
+}
+
+.lni-image::before {
+ content: "\ea2e";
+}
+
+.lni-headphone::before {
+ content: "\ea2f";
+}
+
+.lni-harddrive::before {
+ content: "\ea30";
+}
+
+.lni-game::before {
+ content: "\ea31";
+}
+
+.lni-folder::before {
+ content: "\ea32";
+}
+
+.lni-files::before {
+ content: "\ea33";
+}
+
+.lni-empty-file::before {
+ content: "\ea34";
+}
+
+.lni-download::before {
+ content: "\ea35";
+}
+
+.lni-domain::before {
+ content: "\ea36";
+}
+
+.lni-display::before {
+ content: "\ea37";
+}
+
+.lni-display-alt::before {
+ content: "\ea38";
+}
+
+.lni-database::before {
+ content: "\ea39";
+}
+
+.lni-dashboard::before {
+ content: "\ea3a";
+}
+
+.lni-cut::before {
+ content: "\ea3b";
+}
+
+.lni-control-panel::before {
+ content: "\ea3c";
+}
+
+.lni-cogs::before {
+ content: "\ea3d";
+}
+
+.lni-cog::before {
+ content: "\ea3e";
+}
+
+.lni-code::before {
+ content: "\ea3f";
+}
+
+.lni-code-alt::before {
+ content: "\ea40";
+}
+
+.lni-cloud-upload::before {
+ content: "\ea41";
+}
+
+.lni-cloud-sync::before {
+ content: "\ea42";
+}
+
+.lni-cloud-network::before {
+ content: "\ea43";
+}
+
+.lni-cloud-download::before {
+ content: "\ea44";
+}
+
+.lni-cloud-check::before {
+ content: "\ea45";
+}
+
+.lni-camera::before {
+ content: "\ea46";
+}
+
+.lni-calendar::before {
+ content: "\ea47";
+}
+
+.lni-bulb::before {
+ content: "\ea48";
+}
+
+.lni-bookmark::before {
+ content: "\ea49";
+}
+
+.lni-bookmark-alt::before {
+ content: "\ea4a";
+}
+
+.lni-bluetooth::before {
+ content: "\ea4b";
+}
+
+.lni-ban::before {
+ content: "\ea4c";
+}
+
+.lni-archive::before {
+ content: "\ea4d";
+}
+
+.lni-alarm::before {
+ content: "\ea4e";
+}
+
+.lni-alarm-clock::before {
+ content: "\ea4f";
+}
+
+.lni-add-files::before {
+ content: "\ea50";
+}
+
+.lni-thunder::before {
+ content: "\ea51";
+}
+
+.lni-thunder-alt::before {
+ content: "\ea52";
+}
+
+.lni-sun::before {
+ content: "\ea53";
+}
+
+.lni-rain::before {
+ content: "\ea54";
+}
+
+.lni-night::before {
+ content: "\ea55";
+}
+
+.lni-drop::before {
+ content: "\ea56";
+}
+
+.lni-cloudy-sun::before {
+ content: "\ea57";
+}
+
+.lni-cloud::before {
+ content: "\ea58";
+}
+
+.lni-travel::before {
+ content: "\ea59";
+}
+
+.lni-surf-board::before {
+ content: "\ea5a";
+}
+
+.lni-pyramids::before {
+ content: "\ea5b";
+}
+
+.lni-underline::before {
+ content: "\ea5c";
+}
+
+.lni-text-format::before {
+ content: "\ea5d";
+}
+
+.lni-text-format-remove::before {
+ content: "\ea5e";
+}
+
+.lni-text-align-right::before {
+ content: "\ea5f";
+}
+
+.lni-text-align-left::before {
+ content: "\ea60";
+}
+
+.lni-text-align-justify::before {
+ content: "\ea61";
+}
+
+.lni-text-align-center::before {
+ content: "\ea62";
+}
+
+.lni-strikethrough::before {
+ content: "\ea63";
+}
+
+.lni-spellcheck::before {
+ content: "\ea64";
+}
+
+.lni-sort-amount-dsc::before {
+ content: "\ea65";
+}
+
+.lni-sort-amount-asc::before {
+ content: "\ea66";
+}
+
+.lni-sort-alpha-asc::before {
+ content: "\ea67";
+}
+
+.lni-pilcrow::before {
+ content: "\ea68";
+}
+
+.lni-pagination::before {
+ content: "\ea69";
+}
+
+.lni-page-break::before {
+ content: "\ea6a";
+}
+
+.lni-line-spacing::before {
+ content: "\ea6b";
+}
+
+.lni-line-double::before {
+ content: "\ea6c";
+}
+
+.lni-line-dotted::before {
+ content: "\ea6d";
+}
+
+.lni-line-dashed::before {
+ content: "\ea6e";
+}
+
+.lni-italic::before {
+ content: "\ea6f";
+}
+
+.lni-indent-increase::before {
+ content: "\ea70";
+}
+
+.lni-indent-decrease::before {
+ content: "\ea71";
+}
+
+.lni-bold::before {
+ content: "\ea72";
+}
+
+.lni-spinner::before {
+ content: "\ea73";
+}
+
+.lni-spinner-solid::before {
+ content: "\ea74";
+}
+
+.lni-spinner-arrow::before {
+ content: "\ea75";
+}
+
+.lni-hourglass::before {
+ content: "\ea76";
+}
+
+.lni-tounge::before {
+ content: "\ea77";
+}
+
+.lni-suspect::before {
+ content: "\ea78";
+}
+
+.lni-speechless::before {
+ content: "\ea79";
+}
+
+.lni-smile::before {
+ content: "\ea7a";
+}
+
+.lni-sad::before {
+ content: "\ea7b";
+}
+
+.lni-happy::before {
+ content: "\ea7c";
+}
+
+.lni-friendly::before {
+ content: "\ea7d";
+}
+
+.lni-cool::before {
+ content: "\ea7e";
+}
+
+.lni-thought::before {
+ content: "\ea7f";
+}
+
+.lni-t-shirt::before {
+ content: "\ea80";
+}
+
+.lni-home::before {
+ content: "\ea81";
+}
+
+.lni-gift::before {
+ content: "\ea82";
+}
+
+.lni-cup::before {
+ content: "\ea83";
+}
+
+.lni-crown::before {
+ content: "\ea84";
+}
+
+.lni-briefcase::before {
+ content: "\ea85";
+}
+
+.lni-spray::before {
+ content: "\ea86";
+}
+
+.lni-flags-alt-1::before {
+ content: "\ea87";
+}
+
+.lni-fireworks::before {
+ content: "\ea88";
+}
+
+.lni-candy::before {
+ content: "\ea89";
+}
+
+.lni-candy-cane::before {
+ content: "\ea8a";
+}
+
+.lni-cake::before {
+ content: "\ea8b";
+}
+
+.lni-baloon::before {
+ content: "\ea8c";
+}
+
+.lni-trees::before {
+ content: "\ea8d";
+}
+
+.lni-tree::before {
+ content: "\ea8e";
+}
+
+.lni-sprout::before {
+ content: "\ea8f";
+}
+
+.lni-mushroom::before {
+ content: "\ea90";
+}
+
+.lni-mashroom::before {
+ content: "\ea91";
+}
+
+.lni-leaf::before {
+ content: "\ea92";
+}
+
+.lni-island::before {
+ content: "\ea93";
+}
+
+.lni-flower::before {
+ content: "\ea94";
+}
+
+.lni-bug::before {
+ content: "\ea95";
+}
+
+.lni-volume::before {
+ content: "\ea96";
+}
+
+.lni-volume-mute::before {
+ content: "\ea97";
+}
+
+.lni-volume-medium::before {
+ content: "\ea98";
+}
+
+.lni-volume-low::before {
+ content: "\ea99";
+}
+
+.lni-volume-high::before {
+ content: "\ea9a";
+}
+
+.lni-video::before {
+ content: "\ea9b";
+}
+
+.lni-stop::before {
+ content: "\ea9c";
+}
+
+.lni-shuffle::before {
+ content: "\ea9d";
+}
+
+.lni-play::before {
+ content: "\ea9e";
+}
+
+.lni-pause::before {
+ content: "\ea9f";
+}
+
+.lni-gallery::before {
+ content: "\eaa0";
+}
+
+.lni-full-screen::before {
+ content: "\eaa1";
+}
+
+.lni-frame-expand::before {
+ content: "\eaa2";
+}
+
+.lni-forward::before {
+ content: "\eaa3";
+}
+
+.lni-backward::before {
+ content: "\eaa4";
+}
+
+.lni-target-customer::before {
+ content: "\eaa5";
+}
+
+.lni-seo::before {
+ content: "\eaa6";
+}
+
+.lni-network::before {
+ content: "\eaa7";
+}
+
+.lni-keyword-research::before {
+ content: "\eaa8";
+}
+
+.lni-graph::before {
+ content: "\eaa9";
+}
+
+.lni-bar-chart::before {
+ content: "\eaaa";
+}
+
+.lni-warning::before {
+ content: "\eaab";
+}
+
+.lni-unlock::before {
+ content: "\eaac";
+}
+
+.lni-ticket::before {
+ content: "\eaad";
+}
+
+.lni-ticket-alt::before {
+ content: "\eaae";
+}
+
+.lni-thumbs-up::before {
+ content: "\eaaf";
+}
+
+.lni-thumbs-down::before {
+ content: "\eab0";
+}
+
+.lni-teabag::before {
+ content: "\eab1";
+}
+
+.lni-shield::before {
+ content: "\eab2";
+}
+
+.lni-radio-button::before {
+ content: "\eab3";
+}
+
+.lni-question-circle::before {
+ content: "\eab4";
+}
+
+.lni-protection::before {
+ content: "\eab5";
+}
+
+.lni-power-switch::before {
+ content: "\eab6";
+}
+
+.lni-pointer::before {
+ content: "\eab7";
+}
+
+.lni-plus::before {
+ content: "\eab8";
+}
+
+.lni-music::before {
+ content: "\eab9";
+}
+
+.lni-more::before {
+ content: "\eaba";
+}
+
+.lni-more-alt::before {
+ content: "\eabb";
+}
+
+.lni-minus::before {
+ content: "\eabc";
+}
+
+.lni-lock::before {
+ content: "\eabd";
+}
+
+.lni-lock-alt::before {
+ content: "\eabe";
+}
+
+.lni-list::before {
+ content: "\eabf";
+}
+
+.lni-lifering::before {
+ content: "\eac0";
+}
+
+.lni-key::before {
+ content: "\eac1";
+}
+
+.lni-invention::before {
+ content: "\eac2";
+}
+
+.lni-information::before {
+ content: "\eac3";
+}
+
+.lni-infinite::before {
+ content: "\eac4";
+}
+
+.lni-help::before {
+ content: "\eac5";
+}
+
+.lni-heart::before {
+ content: "\eac6";
+}
+
+.lni-heart-fill::before {
+ content: "\eac7";
+}
+
+.lni-hand::before {
+ content: "\eac8";
+}
+
+.lni-funnel::before {
+ content: "\eac9";
+}
+
+.lni-flag::before {
+ content: "\eaca";
+}
+
+.lni-flag-alt::before {
+ content: "\eacb";
+}
+
+.lni-eye::before {
+ content: "\eacc";
+}
+
+.lni-cross-circle::before {
+ content: "\eacd";
+}
+
+.lni-close::before {
+ content: "\eace";
+}
+
+.lni-circle-plus::before {
+ content: "\eacf";
+}
+
+.lni-circle-minus::before {
+ content: "\ead0";
+}
+
+.lni-checkmark::before {
+ content: "\ead1";
+}
+
+.lni-checkmark-circle::before {
+ content: "\ead2";
+}
+
+.lni-check-box::before {
+ content: "\ead3";
+}
+
+.lni-bolt::before {
+ content: "\ead4";
+}
+
+.lni-bolt-alt::before {
+ content: "\ead5";
+}
+
+.lni-wheelchair::before {
+ content: "\ead6";
+}
+
+.lni-weight::before {
+ content: "\ead7";
+}
+
+.lni-syringe::before {
+ content: "\ead8";
+}
+
+.lni-sthethoscope::before {
+ content: "\ead9";
+}
+
+.lni-slim::before {
+ content: "\eada";
+}
+
+.lni-skipping-rope::before {
+ content: "\eadb";
+}
+
+.lni-pulse::before {
+ content: "\eadc";
+}
+
+.lni-microscope::before {
+ content: "\eadd";
+}
+
+.lni-hospital::before {
+ content: "\eade";
+}
+
+.lni-heart-monitor::before {
+ content: "\eadf";
+}
+
+.lni-first-aid::before {
+ content: "\eae0";
+}
+
+.lni-dumbbell::before {
+ content: "\eae1";
+}
+
+.lni-capsule::before {
+ content: "\eae2";
+}
+
+.lni-basketball::before {
+ content: "\eae3";
+}
+
+.lni-ambulance::before {
+ content: "\eae4";
+}
+
+.lni-service::before {
+ content: "\eae5";
+}
+
+.lni-restaurant::before {
+ content: "\eae6";
+}
+
+.lni-pizza::before {
+ content: "\eae7";
+}
+
+.lni-juice::before {
+ content: "\eae8";
+}
+
+.lni-fresh-juice::before {
+ content: "\eae9";
+}
+
+.lni-dinner::before {
+ content: "\eaea";
+}
+
+.lni-coffee-cup::before {
+ content: "\eaeb";
+}
+
+.lni-chef-hat::before {
+ content: "\eaec";
+}
+
+.lni-burger::before {
+ content: "\eaed";
+}
+
+.lni-write::before {
+ content: "\eaee";
+}
+
+.lni-world::before {
+ content: "\eaef";
+}
+
+.lni-world-alt::before {
+ content: "\eaf0";
+}
+
+.lni-school-bench::before {
+ content: "\eaf1";
+}
+
+.lni-school-bench-alt::before {
+ content: "\eaf2";
+}
+
+.lni-pencil::before {
+ content: "\eaf3";
+}
+
+.lni-pencil-alt::before {
+ content: "\eaf4";
+}
+
+.lni-library::before {
+ content: "\eaf5";
+}
+
+.lni-graduation::before {
+ content: "\eaf6";
+}
+
+.lni-eraser::before {
+ content: "\eaf7";
+}
+
+.lni-compass::before {
+ content: "\eaf8";
+}
+
+.lni-clipboard::before {
+ content: "\eaf9";
+}
+
+.lni-certificate::before {
+ content: "\eafa";
+}
+
+.lni-book::before {
+ content: "\eafb";
+}
+
+.lni-blackboard::before {
+ content: "\eafc";
+}
+
+.lni-shift-right::before {
+ content: "\eafd";
+}
+
+.lni-shift-left::before {
+ content: "\eafe";
+}
+
+.lni-pointer-top::before {
+ content: "\eaff";
+}
+
+.lni-pointer-right::before {
+ content: "\eb00";
+}
+
+.lni-pointer-left::before {
+ content: "\eb01";
+}
+
+.lni-pointer-down::before {
+ content: "\eb02";
+}
+
+.lni-exit::before {
+ content: "\eb03";
+}
+
+.lni-exit-up::before {
+ content: "\eb04";
+}
+
+.lni-exit-down::before {
+ content: "\eb05";
+}
+
+.lni-enter::before {
+ content: "\eb06";
+}
+
+.lni-direction::before {
+ content: "\eb07";
+}
+
+.lni-direction-rtl::before {
+ content: "\eb08";
+}
+
+.lni-direction-ltr::before {
+ content: "\eb09";
+}
+
+.lni-direction-alt::before {
+ content: "\eb0a";
+}
+
+.lni-chevron-up::before {
+ content: "\eb0b";
+}
+
+.lni-chevron-up-circle::before {
+ content: "\eb0c";
+}
+
+.lni-chevron-right::before {
+ content: "\eb0d";
+}
+
+.lni-chevron-right-circle::before {
+ content: "\eb0e";
+}
+
+.lni-chevron-left::before {
+ content: "\eb0f";
+}
+
+.lni-chevron-left-circle::before {
+ content: "\eb10";
+}
+
+.lni-chevron-down::before {
+ content: "\eb11";
+}
+
+.lni-chevron-down-circle::before {
+ content: "\eb12";
+}
+
+.lni-arrows-vertical::before {
+ content: "\eb13";
+}
+
+.lni-arrows-horizontal::before {
+ content: "\eb14";
+}
+
+.lni-arrow-up::before {
+ content: "\eb15";
+}
+
+.lni-arrow-up-circle::before {
+ content: "\eb16";
+}
+
+.lni-arrow-top-right::before {
+ content: "\eb17";
+}
+
+.lni-arrow-top-left::before {
+ content: "\eb18";
+}
+
+.lni-arrow-right::before {
+ content: "\eb19";
+}
+
+.lni-arrow-right-circle::before {
+ content: "\eb1a";
+}
+
+.lni-arrow-left::before {
+ content: "\eb1b";
+}
+
+.lni-arrow-left-circle::before {
+ content: "\eb1c";
+}
+
+.lni-arrow-down::before {
+ content: "\eb1d";
+}
+
+.lni-arrow-down-circle::before {
+ content: "\eb1e";
+}
+
+.lni-angle-double-up::before {
+ content: "\eb1f";
+}
+
+.lni-angle-double-right::before {
+ content: "\eb20";
+}
+
+.lni-angle-double-left::before {
+ content: "\eb21";
+}
+
+.lni-angle-double-down::before {
+ content: "\eb22";
+}
+
+.lni-vector::before {
+ content: "\eb23";
+}
+
+.lni-ux::before {
+ content: "\eb24";
+}
+
+.lni-slice::before {
+ content: "\eb25";
+}
+
+.lni-select-cursor::before {
+ content: "\eb26";
+}
+
+.lni-pallet::before {
+ content: "\eb27";
+}
+
+.lni-move::before {
+ content: "\eb28";
+}
+
+.lni-layout::before {
+ content: "\eb29";
+}
+
+.lni-layers::before {
+ content: "\eb2a";
+}
+
+.lni-highlight::before {
+ content: "\eb2b";
+}
+
+.lni-highlight-alt::before {
+ content: "\eb2c";
+}
+
+.lni-grid::before {
+ content: "\eb2d";
+}
+
+.lni-grid-alt::before {
+ content: "\eb2e";
+}
+
+.lni-crop::before {
+ content: "\eb2f";
+}
+
+.lni-brush::before {
+ content: "\eb30";
+}
+
+.lni-brush-alt::before {
+ content: "\eb31";
+}
+
+.lni-yen::before {
+ content: "\eb32";
+}
+
+.lni-wallet::before {
+ content: "\eb33";
+}
+
+.lni-rupee::before {
+ content: "\eb34";
+}
+
+.lni-pound::before {
+ content: "\eb35";
+}
+
+.lni-money-protection::before {
+ content: "\eb36";
+}
+
+.lni-money-location::before {
+ content: "\eb37";
+}
+
+.lni-euro::before {
+ content: "\eb38";
+}
+
+.lni-dollar::before {
+ content: "\eb39";
+}
+
+.lni-diamond-shape::before {
+ content: "\eb3a";
+}
+
+.lni-diamond-alt::before {
+ content: "\eb3b";
+}
+
+.lni-credit-cards::before {
+ content: "\eb3c";
+}
+
+.lni-coin::before {
+ content: "\eb3d";
+}
+
+.lni-calculator::before {
+ content: "\eb3e";
+}
+
+.lni-calculator-alt::before {
+ content: "\eb3f";
+}
+
+.lni-wheelbarrow::before {
+ content: "\eb40";
+}
+
+.lni-trowel::before {
+ content: "\eb41";
+}
+
+.lni-shovel::before {
+ content: "\eb42";
+}
+
+.lni-ruler::before {
+ content: "\eb43";
+}
+
+.lni-ruler-pencil::before {
+ content: "\eb44";
+}
+
+.lni-ruler-alt::before {
+ content: "\eb45";
+}
+
+.lni-paint-roller::before {
+ content: "\eb46";
+}
+
+.lni-paint-bucket-alt::before {
+ content: "\eb47";
+}
+
+.lni-helmet::before {
+ content: "\eb48";
+}
+
+.lni-hammer::before {
+ content: "\eb49";
+}
+
+.lni-construction::before {
+ content: "\eb4a";
+}
+
+.lni-construction-hammer::before {
+ content: "\eb4b";
+}
+
+.lni-bricks::before {
+ content: "\eb4c";
+}
+
+.lni-train::before {
+ content: "\eb4d";
+}
+
+.lni-train-alt::before {
+ content: "\eb4e";
+}
+
+.lni-taxi::before {
+ content: "\eb4f";
+}
+
+.lni-support::before {
+ content: "\eb50";
+}
+
+.lni-ship::before {
+ content: "\eb51";
+}
+
+.lni-scooter::before {
+ content: "\eb52";
+}
+
+.lni-road::before {
+ content: "\eb53";
+}
+
+.lni-reply::before {
+ content: "\eb54";
+}
+
+.lni-postcard::before {
+ content: "\eb55";
+}
+
+.lni-popup::before {
+ content: "\eb56";
+}
+
+.lni-plane::before {
+ content: "\eb57";
+}
+
+.lni-phone::before {
+ content: "\eb58";
+}
+
+.lni-phone-set::before {
+ content: "\eb59";
+}
+
+.lni-inbox::before {
+ content: "\eb5a";
+}
+
+.lni-helicopter::before {
+ content: "\eb5b";
+}
+
+.lni-envelope::before {
+ content: "\eb5c";
+}
+
+.lni-comments::before {
+ content: "\eb5d";
+}
+
+.lni-comments-reply::before {
+ content: "\eb5e";
+}
+
+.lni-comments-alt-2::before {
+ content: "\eb5f";
+}
+
+.lni-caravan::before {
+ content: "\eb60";
+}
+
+.lni-car::before {
+ content: "\eb61";
+}
+
+.lni-car-alt::before {
+ content: "\eb62";
+}
+
+.lni-bus::before {
+ content: "\eb63";
+}
+
+.lni-bullhorn::before {
+ content: "\eb64";
+}
+
+.lni-bubble::before {
+ content: "\eb65";
+}
+
+.lni-bridge::before {
+ content: "\eb66";
+}
+
+.lni-bi-cycle::before {
+ content: "\eb67";
+}
+
+.lni-anchor::before {
+ content: "\eb68";
+}
+
+.lni-target::before {
+ content: "\eb69";
+}
+
+.lni-target-revenue::before {
+ content: "\eb6a";
+}
+
+.lni-tag::before {
+ content: "\eb6b";
+}
+
+.lni-stats-up::before {
+ content: "\eb6c";
+}
+
+.lni-stats-down::before {
+ content: "\eb6d";
+}
+
+.lni-stamp::before {
+ content: "\eb6e";
+}
+
+.lni-revenue::before {
+ content: "\eb6f";
+}
+
+.lni-quotation::before {
+ content: "\eb70";
+}
+
+.lni-pin::before {
+ content: "\eb71";
+}
+
+.lni-pie-chart::before {
+ content: "\eb72";
+}
+
+.lni-paperclip::before {
+ content: "\eb73";
+}
+
+.lni-offer::before {
+ content: "\eb74";
+}
+
+.lni-notepad::before {
+ content: "\eb75";
+}
+
+.lni-license::before {
+ content: "\eb76";
+}
+
+.lni-investment::before {
+ content: "\eb77";
+}
+
+.lni-invest-monitor::before {
+ content: "\eb78";
+}
+
+.lni-handshake::before {
+ content: "\eb79";
+}
+
+.lni-grow::before {
+ content: "\eb7a";
+}
+
+.lni-delivery::before {
+ content: "\eb7b";
+}
+
+.lni-customer::before {
+ content: "\eb7c";
+}
+
+.lni-consulting::before {
+ content: "\eb7d";
+}
+
+.lni-cart::before {
+ content: "\eb7e";
+}
+
+.lni-cart-full::before {
+ content: "\eb7f";
+}
+
+.lni-briefcase-alt::before {
+ content: "\eb80";
+}
+
+.lni-apartment::before {
+ content: "\eb81";
+}
+
+.lni-agenda::before {
+ content: "\eb82";
+}
+
+.lni-zoom::before {
+ content: "\eb83";
+}
+
+.lni-zapier::before {
+ content: "\eb84";
+}
+
+.lni-youtube::before {
+ content: "\eb85";
+}
+
+.lni-ycombinator::before {
+ content: "\eb86";
+}
+
+.lni-yahoo::before {
+ content: "\eb87";
+}
+
+.lni-xrp::before {
+ content: "\eb88";
+}
+
+.lni-xbox::before {
+ content: "\eb89";
+}
+
+.lni-wordpress::before {
+ content: "\eb8a";
+}
+
+.lni-wordpress-fill::before {
+ content: "\eb8b";
+}
+
+.lni-windows::before {
+ content: "\eb8c";
+}
+
+.lni-whatsapp::before {
+ content: "\eb8d";
+}
+
+.lni-wechat::before {
+ content: "\eb8e";
+}
+
+.lni-webhooks::before {
+ content: "\eb8f";
+}
+
+.lni-vuejs::before {
+ content: "\eb90";
+}
+
+.lni-vs-code::before {
+ content: "\eb91";
+}
+
+.lni-volkswagen::before {
+ content: "\eb92";
+}
+
+.lni-vmware::before {
+ content: "\eb93";
+}
+
+.lni-vk::before {
+ content: "\eb94";
+}
+
+.lni-visa::before {
+ content: "\eb95";
+}
+
+.lni-vimeo::before {
+ content: "\eb96";
+}
+
+.lni-vercel::before {
+ content: "\eb97";
+}
+
+.lni-unsplash::before {
+ content: "\eb98";
+}
+
+.lni-ubuntu::before {
+ content: "\eb99";
+}
+
+.lni-typescript::before {
+ content: "\eb9a";
+}
+
+.lni-twitter::before {
+ content: "\eb9b";
+}
+
+.lni-twitter-original::before {
+ content: "\eb9c";
+}
+
+.lni-twitter-fill::before {
+ content: "\eb9d";
+}
+
+.lni-twitch::before {
+ content: "\eb9e";
+}
+
+.lni-tumblr::before {
+ content: "\eb9f";
+}
+
+.lni-trello::before {
+ content: "\eba0";
+}
+
+.lni-toyota::before {
+ content: "\eba1";
+}
+
+.lni-tiktok::before {
+ content: "\eba2";
+}
+
+.lni-tiktok-alt::before {
+ content: "\eba3";
+}
+
+.lni-tesla::before {
+ content: "\eba4";
+}
+
+.lni-telegram::before {
+ content: "\eba5";
+}
+
+.lni-telegram-original::before {
+ content: "\eba6";
+}
+
+.lni-tailwindcss::before {
+ content: "\eba7";
+}
+
+.lni-swift::before {
+ content: "\eba8";
+}
+
+.lni-svelte::before {
+ content: "\eba9";
+}
+
+.lni-stumbleupon::before {
+ content: "\ebaa";
+}
+
+.lni-stripe::before {
+ content: "\ebab";
+}
+
+.lni-steam::before {
+ content: "\ebac";
+}
+
+.lni-stackoverflow::before {
+ content: "\ebad";
+}
+
+.lni-squarespace::before {
+ content: "\ebae";
+}
+
+.lni-spotify::before {
+ content: "\ebaf";
+}
+
+.lni-spotify-original::before {
+ content: "\ebb0";
+}
+
+.lni-soundcloud::before {
+ content: "\ebb1";
+}
+
+.lni-soundcloud-original::before {
+ content: "\ebb2";
+}
+
+.lni-snapchat::before {
+ content: "\ebb3";
+}
+
+.lni-slideshare::before {
+ content: "\ebb4";
+}
+
+.lni-slack::before {
+ content: "\ebb5";
+}
+
+.lni-slack-line::before {
+ content: "\ebb6";
+}
+
+.lni-skype::before {
+ content: "\ebb7";
+}
+
+.lni-sketch::before {
+ content: "\ebb8";
+}
+
+.lni-signal-app::before {
+ content: "\ebb9";
+}
+
+.lni-shopify::before {
+ content: "\ebba";
+}
+
+.lni-safari::before {
+ content: "\ebbb";
+}
+
+.lni-reddit::before {
+ content: "\ebbc";
+}
+
+.lni-react::before {
+ content: "\ebbd";
+}
+
+.lni-quora::before {
+ content: "\ebbe";
+}
+
+.lni-python::before {
+ content: "\ebbf";
+}
+
+.lni-producthunt::before {
+ content: "\ebc0";
+}
+
+.lni-postman::before {
+ content: "\ebc1";
+}
+
+.lni-postgresql::before {
+ content: "\ebc2";
+}
+
+.lni-playstation::before {
+ content: "\ebc3";
+}
+
+.lni-play-store::before {
+ content: "\ebc4";
+}
+
+.lni-play-store-fill::before {
+ content: "\ebc5";
+}
+
+.lni-play-store-alt::before {
+ content: "\ebc6";
+}
+
+.lni-pinterest::before {
+ content: "\ebc7";
+}
+
+.lni-php::before {
+ content: "\ebc8";
+}
+
+.lni-paypal::before {
+ content: "\ebc9";
+}
+
+.lni-paypal-original::before {
+ content: "\ebca";
+}
+
+.lni-patreon::before {
+ content: "\ebcb";
+}
+
+.lni-paddle::before {
+ content: "\ebcc";
+}
+
+.lni-opera::before {
+ content: "\ebcd";
+}
+
+.lni-oculus::before {
+ content: "\ebce";
+}
+
+.lni-npm::before {
+ content: "\ebcf";
+}
+
+.lni-notion::before {
+ content: "\ebd0";
+}
+
+.lni-nodejs::before {
+ content: "\ebd1";
+}
+
+.lni-nodejs-alt::before {
+ content: "\ebd2";
+}
+
+.lni-nissan::before {
+ content: "\ebd3";
+}
+
+.lni-nextjs::before {
+ content: "\ebd4";
+}
+
+.lni-netlify::before {
+ content: "\ebd5";
+}
+
+.lni-netflix::before {
+ content: "\ebd6";
+}
+
+.lni-mysql::before {
+ content: "\ebd7";
+}
+
+.lni-mongodb::before {
+ content: "\ebd8";
+}
+
+.lni-microsoft::before {
+ content: "\ebd9";
+}
+
+.lni-microsoft-teams::before {
+ content: "\ebda";
+}
+
+.lni-microsoft-edge::before {
+ content: "\ebdb";
+}
+
+.lni-meta::before {
+ content: "\ebdc";
+}
+
+.lni-meta-2::before {
+ content: "\ebdd";
+}
+
+.lni-meta-1::before {
+ content: "\ebde";
+}
+
+.lni-mercedes::before {
+ content: "\ebdf";
+}
+
+.lni-medium::before {
+ content: "\ebe0";
+}
+
+.lni-medium-alt::before {
+ content: "\ebe1";
+}
+
+.lni-mastercard::before {
+ content: "\ebe2";
+}
+
+.lni-markdown::before {
+ content: "\ebe3";
+}
+
+.lni-mailchimp::before {
+ content: "\ebe4";
+}
+
+.lni-magento::before {
+ content: "\ebe5";
+}
+
+.lni-linkedin::before {
+ content: "\ebe6";
+}
+
+.lni-linkedin-original::before {
+ content: "\ebe7";
+}
+
+.lni-lineicons::before {
+ content: "\ebe8";
+}
+
+.lni-lineicons-symbol::before {
+ content: "\ebe9";
+}
+
+.lni-lineicons-symbol-alt::before {
+ content: "\ebea";
+}
+
+.lni-lineicons-symbol-alt-2::before {
+ content: "\ebeb";
+}
+
+.lni-lineicons-alt::before {
+ content: "\ebec";
+}
+
+.lni-line::before {
+ content: "\ebed";
+}
+
+.lni-laravel::before {
+ content: "\ebee";
+}
+
+.lni-kubernetes::before {
+ content: "\ebef";
+}
+
+.lni-jsfiddle::before {
+ content: "\ebf0";
+}
+
+.lni-joomla::before {
+ content: "\ebf1";
+}
+
+.lni-joomla-original::before {
+ content: "\ebf2";
+}
+
+.lni-jcb::before {
+ content: "\ebf3";
+}
+
+.lni-javascript::before {
+ content: "\ebf4";
+}
+
+.lni-java::before {
+ content: "\ebf5";
+}
+
+.lni-jamstack::before {
+ content: "\ebf6";
+}
+
+.lni-jaguar::before {
+ content: "\ebf7";
+}
+
+.lni-ios::before {
+ content: "\ebf8";
+}
+
+.lni-instagram::before {
+ content: "\ebf9";
+}
+
+.lni-instagram-original::before {
+ content: "\ebfa";
+}
+
+.lni-instagram-fill::before {
+ content: "\ebfb";
+}
+
+.lni-imdb::before {
+ content: "\ebfc";
+}
+
+.lni-html5::before {
+ content: "\ebfd";
+}
+
+.lni-hacker-news::before {
+ content: "\ebfe";
+}
+
+.lni-grammarly::before {
+ content: "\ebff";
+}
+
+.lni-google::before {
+ content: "\ec00";
+}
+
+.lni-google-wallet::before {
+ content: "\ec01";
+}
+
+.lni-google-pay::before {
+ content: "\ec02";
+}
+
+.lni-google-drive::before {
+ content: "\ec03";
+}
+
+.lni-google-cloud::before {
+ content: "\ec04";
+}
+
+.lni-google-meet::before {
+ content: "\ec05";
+}
+
+.lni-goodreads::before {
+ content: "\ec06";
+}
+
+.lni-go::before {
+ content: "\ec07";
+}
+
+.lni-github::before {
+ content: "\ec08";
+}
+
+.lni-github-original::before {
+ content: "\ec09";
+}
+
+.lni-git::before {
+ content: "\ec0a";
+}
+
+.lni-gatsby::before {
+ content: "\ec0b";
+}
+
+.lni-ford::before {
+ content: "\ec0c";
+}
+
+.lni-flutter::before {
+ content: "\ec0d";
+}
+
+.lni-flickr::before {
+ content: "\ec0e";
+}
+
+.lni-fitbit::before {
+ content: "\ec0f";
+}
+
+.lni-firefox::before {
+ content: "\ec10";
+}
+
+.lni-firefox-original::before {
+ content: "\ec11";
+}
+
+.lni-firebase::before {
+ content: "\ec12";
+}
+
+.lni-figma::before {
+ content: "\ec13";
+}
+
+.lni-facetime::before {
+ content: "\ec14";
+}
+
+.lni-facebook::before {
+ content: "\ec15";
+}
+
+.lni-facebook-oval::before {
+ content: "\ec16";
+}
+
+.lni-facebook-original::before {
+ content: "\ec17";
+}
+
+.lni-facebook-messenger::before {
+ content: "\ec18";
+}
+
+.lni-facebook-line::before {
+ content: "\ec19";
+}
+
+.lni-facebook-fill::before {
+ content: "\ec1a";
+}
+
+.lni-ethereum::before {
+ content: "\ec1b";
+}
+
+.lni-envato::before {
+ content: "\ec1c";
+}
+
+.lni-edge::before {
+ content: "\ec1d";
+}
+
+.lni-drupal::before {
+ content: "\ec1e";
+}
+
+.lni-drupal-original::before {
+ content: "\ec1f";
+}
+
+.lni-dropbox::before {
+ content: "\ec20";
+}
+
+.lni-dropbox-original::before {
+ content: "\ec21";
+}
+
+.lni-dribbble::before {
+ content: "\ec22";
+}
+
+.lni-docker::before {
+ content: "\ec23";
+}
+
+.lni-discover::before {
+ content: "\ec24";
+}
+
+.lni-discord::before {
+ content: "\ec25";
+}
+
+.lni-discord-alt::before {
+ content: "\ec26";
+}
+
+.lni-diners-club::before {
+ content: "\ec27";
+}
+
+.lni-digitalocean::before {
+ content: "\ec28";
+}
+
+.lni-dialogflow::before {
+ content: "\ec29";
+}
+
+.lni-dev::before {
+ content: "\ec2a";
+}
+
+.lni-css3::before {
+ content: "\ec2b";
+}
+
+.lni-creative-commons::before {
+ content: "\ec2c";
+}
+
+.lni-cpanel::before {
+ content: "\ec2d";
+}
+
+.lni-coral::before {
+ content: "\ec2e";
+}
+
+.lni-connectdevelop::before {
+ content: "\ec2f";
+}
+
+.lni-coinbase::before {
+ content: "\ec30";
+}
+
+.lni-codepen::before {
+ content: "\ec31";
+}
+
+.lni-cloudflare::before {
+ content: "\ec32";
+}
+
+.lni-cisco::before {
+ content: "\ec33";
+}
+
+.lni-chromecast::before {
+ content: "\ec34";
+}
+
+.lni-chrome::before {
+ content: "\ec35";
+}
+
+.lni-cash-app::before {
+ content: "\ec36";
+}
+
+.lni-btc::before {
+ content: "\ec37";
+}
+
+.lni-brave::before {
+ content: "\ec38";
+}
+
+.lni-bootstrap::before {
+ content: "\ec39";
+}
+
+.lni-bootstrap-5::before {
+ content: "\ec3a";
+}
+
+.lni-bmw::before {
+ content: "\ec3b";
+}
+
+.lni-bluetooth-original::before {
+ content: "\ec3c";
+}
+
+.lni-blogger::before {
+ content: "\ec3d";
+}
+
+.lni-bittorrent::before {
+ content: "\ec3e";
+}
+
+.lni-bitcoin::before {
+ content: "\ec3f";
+}
+
+.lni-bitbucket::before {
+ content: "\ec40";
+}
+
+.lni-behance::before {
+ content: "\ec41";
+}
+
+.lni-behance-original::before {
+ content: "\ec42";
+}
+
+.lni-azure::before {
+ content: "\ec43";
+}
+
+.lni-aws::before {
+ content: "\ec44";
+}
+
+.lni-audi::before {
+ content: "\ec45";
+}
+
+.lni-atlassian::before {
+ content: "\ec46";
+}
+
+.lni-apple-pay::before {
+ content: "\ec47";
+}
+
+.lni-apple-music::before {
+ content: "\ec48";
+}
+
+.lni-apple-brand::before {
+ content: "\ec49";
+}
+
+.lni-app-store::before {
+ content: "\ec4a";
+}
+
+.lni-angular::before {
+ content: "\ec4b";
+}
+
+.lni-angellist::before {
+ content: "\ec4c";
+}
+
+.lni-android::before {
+ content: "\ec4d";
+}
+
+.lni-android-original::before {
+ content: "\ec4e";
+}
+
+.lni-amex::before {
+ content: "\ec4f";
+}
+
+.lni-amazon::before {
+ content: "\ec50";
+}
+
+.lni-amazon-pay::before {
+ content: "\ec51";
+}
+
+.lni-amazon-original::before {
+ content: "\ec52";
+}
+
+.lni-airtable::before {
+ content: "\ec53";
+}
+
+.lni-airbnb::before {
+ content: "\ec54";
+}
+
+.lni-adobe::before {
+ content: "\ec55";
+}
+
+.lni-500px::before {
+ content: "\ec56";
+}
+
+@charset "UTF-8";
+/* =======
+
+ Template Name: Play Bootstrap
+ Author: UIdeck
+ Author URI: https://uideck.com/
+ Support: https://github.com/uideck/
+ Version: 1.0
+
+======== */
+/*!
+ * 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: rgb(5.2, 44, 101.2);
+ --bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);
+ --bs-success-text-emphasis: rgb(10, 54, 33.6);
+ --bs-info-text-emphasis: rgb(5.2, 80.8, 96);
+ --bs-warning-text-emphasis: rgb(102, 77.2, 2.8);
+ --bs-danger-text-emphasis: rgb(88, 21.2, 27.6);
+ --bs-light-text-emphasis: #495057;
+ --bs-dark-text-emphasis: #495057;
+ --bs-primary-bg-subtle: rgb(206.6, 226, 254.6);
+ --bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);
+ --bs-success-bg-subtle: rgb(209, 231, 220.8);
+ --bs-info-bg-subtle: rgb(206.6, 244.4, 252);
+ --bs-warning-bg-subtle: rgb(255, 242.6, 205.4);
+ --bs-danger-bg-subtle: rgb(248, 214.6, 217.8);
+ --bs-light-bg-subtle: rgb(251.5, 252, 252.5);
+ --bs-dark-bg-subtle: #ced4da;
+ --bs-primary-border-subtle: rgb(158.2, 197, 254.2);
+ --bs-secondary-border-subtle: rgb(196.2, 199.8, 203);
+ --bs-success-border-subtle: rgb(163, 207, 186.6);
+ --bs-info-border-subtle: rgb(158.2, 233.8, 249);
+ --bs-warning-border-subtle: rgb(255, 230.2, 155.8);
+ --bs-danger-border-subtle: rgb(241, 174.2, 180.6);
+ --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: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+ --bs-body-font-family: var(--bs-font-sans-serif);
+ --bs-body-font-size: 1rem;
+ --bs-body-font-weight: 400;
+ --bs-body-line-height: 1.5;
+ --bs-body-color: #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: rgb(10.4, 88, 202.4);
+ --bs-link-hover-color-rgb: 10, 88, 202;
+ --bs-code-color: #d63384;
+ --bs-highlight-color: #212529;
+ --bs-highlight-bg: rgb(255, 242.6, 205.4);
+ --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: rgb(42.5, 47.5, 52.5);
+ --bs-tertiary-bg-rgb: 43, 48, 53;
+ --bs-primary-text-emphasis: rgb(109.8, 168, 253.8);
+ --bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);
+ --bs-success-text-emphasis: rgb(117, 183, 152.4);
+ --bs-info-text-emphasis: rgb(109.8, 223.2, 246);
+ --bs-warning-text-emphasis: rgb(255, 217.8, 106.2);
+ --bs-danger-text-emphasis: rgb(234, 133.8, 143.4);
+ --bs-light-text-emphasis: #f8f9fa;
+ --bs-dark-text-emphasis: #dee2e6;
+ --bs-primary-bg-subtle: rgb(2.6, 22, 50.6);
+ --bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);
+ --bs-success-bg-subtle: rgb(5, 27, 16.8);
+ --bs-info-bg-subtle: rgb(2.6, 40.4, 48);
+ --bs-warning-bg-subtle: rgb(51, 38.6, 1.4);
+ --bs-danger-bg-subtle: rgb(44, 10.6, 13.8);
+ --bs-light-bg-subtle: #343a40;
+ --bs-dark-bg-subtle: #1a1d20;
+ --bs-primary-border-subtle: rgb(7.8, 66, 151.8);
+ --bs-secondary-border-subtle: rgb(64.8, 70.2, 75);
+ --bs-success-border-subtle: rgb(15, 81, 50.4);
+ --bs-info-border-subtle: rgb(7.8, 121.2, 144);
+ --bs-warning-border-subtle: rgb(153, 115.8, 4.2);
+ --bs-danger-border-subtle: rgb(132, 31.8, 41.4);
+ --bs-light-border-subtle: #495057;
+ --bs-dark-border-subtle: #343a40;
+ --bs-heading-color: inherit;
+ --bs-link-color: rgb(109.8, 168, 253.8);
+ --bs-link-hover-color: rgb(138.84, 185.4, 254.04);
+ --bs-link-color-rgb: 110, 168, 254;
+ --bs-link-hover-color-rgb: 139, 185, 254;
+ --bs-code-color: rgb(230.4, 132.6, 181.2);
+ --bs-highlight-color: #dee2e6;
+ --bs-highlight-bg: rgb(102, 77.2, 2.8);
+ --bs-border-color: #495057;
+ --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
+ --bs-form-valid-color: rgb(117, 183, 152.4);
+ --bs-form-valid-border-color: rgb(117, 183, 152.4);
+ --bs-form-invalid-color: rgb(234, 133.8, 143.4);
+ --bs-form-invalid-border-color: rgb(234, 133.8, 143.4);
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ :root {
+ scroll-behavior: smooth;
+ }
+}
+
+body {
+ margin: 0;
+ font-family: var(--bs-body-font-family);
+ font-size: var(--bs-body-font-size);
+ font-weight: var(--bs-body-font-weight);
+ line-height: var(--bs-body-line-height);
+ color: var(--bs-body-color);
+ text-align: var(--bs-body-text-align);
+ background-color: var(--bs-body-bg);
+ -webkit-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+hr {
+ margin: 1rem 0;
+ color: inherit;
+ border: 0;
+ border-top: var(--bs-border-width) solid;
+ opacity: 0.25;
+}
+
+h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ font-weight: 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 + 0.9vw);
+}
+@media (min-width: 1200px) {
+ h2, .h2 {
+ font-size: 2rem;
+ }
+}
+
+h3, .h3 {
+ font-size: calc(1.3rem + 0.6vw);
+}
+@media (min-width: 1200px) {
+ h3, .h3 {
+ font-size: 1.75rem;
+ }
+}
+
+h4, .h4 {
+ font-size: calc(1.275rem + 0.3vw);
+}
+@media (min-width: 1200px) {
+ h4, .h4 {
+ font-size: 1.5rem;
+ }
+}
+
+h5, .h5 {
+ font-size: 1.25rem;
+}
+
+h6, .h6 {
+ font-size: 1rem;
+}
+
+p {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+abbr[title] {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+ cursor: help;
+ -webkit-text-decoration-skip-ink: none;
+ text-decoration-skip-ink: none;
+}
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+
+ol,
+ul {
+ padding-left: 2rem;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: 700;
+}
+
+dd {
+ margin-bottom: 0.5rem;
+ margin-left: 0;
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small, .small {
+ font-size: 0.875em;
+}
+
+mark, .mark {
+ padding: 0.1875em;
+ color: var(--bs-highlight-color);
+ background-color: var(--bs-highlight-bg);
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 0.75em;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.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: 0.875em;
+}
+pre code {
+ font-size: inherit;
+ color: inherit;
+ word-break: normal;
+}
+
+code {
+ font-size: 0.875em;
+ color: var(--bs-code-color);
+ word-wrap: break-word;
+}
+a > code {
+ color: inherit;
+}
+
+kbd {
+ padding: 0.1875rem 0.375rem;
+ font-size: 0.875em;
+ color: var(--bs-body-bg);
+ background-color: var(--bs-body-color);
+ border-radius: 0.25rem;
+}
+kbd kbd {
+ padding: 0;
+ font-size: 1em;
+}
+
+figure {
+ margin: 0 0 1rem;
+}
+
+img,
+svg {
+ vertical-align: middle;
+}
+
+table {
+ caption-side: bottom;
+ border-collapse: collapse;
+}
+
+caption {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ color: var(--bs-secondary-color);
+ text-align: left;
+}
+
+th {
+ text-align: inherit;
+ text-align: -webkit-match-parent;
+}
+
+thead,
+tbody,
+tfoot,
+tr,
+td,
+th {
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+}
+
+label {
+ display: inline-block;
+}
+
+button {
+ border-radius: 0;
+}
+
+button:focus:not(:focus-visible) {
+ outline: 0;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+[role=button] {
+ cursor: pointer;
+}
+
+select {
+ word-wrap: normal;
+}
+select:disabled {
+ opacity: 1;
+}
+
+[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
+ display: none !important;
+}
+
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+ -webkit-appearance: button;
+}
+button:not(:disabled),
+[type=button]:not(:disabled),
+[type=reset]:not(:disabled),
+[type=submit]:not(:disabled) {
+ cursor: pointer;
+}
+
+::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+textarea {
+ resize: vertical;
+}
+
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ float: left;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 0.5rem;
+ font-size: calc(1.275rem + 0.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;
+}
+
+/* rtl:raw:
+[type="tel"],
+[type="url"],
+[type="email"],
+[type="number"] {
+ direction: ltr;
+}
+*/
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+::-webkit-color-swatch-wrapper {
+ padding: 0;
+}
+
+::file-selector-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
+output {
+ display: inline-block;
+}
+
+iframe {
+ border: 0;
+}
+
+summary {
+ display: list-item;
+ cursor: pointer;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[hidden] {
+ display: none !important;
+}
+
+.lead {
+ font-size: 1.25rem;
+ font-weight: 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: 0.5rem;
+}
+
+.initialism {
+ font-size: 0.875em;
+ text-transform: uppercase;
+}
+
+.blockquote {
+ margin-bottom: 1rem;
+ font-size: 1.25rem;
+}
+.blockquote > :last-child {
+ margin-bottom: 0;
+}
+
+.blockquote-footer {
+ margin-top: -1rem;
+ margin-bottom: 1rem;
+ font-size: 0.875em;
+ color: #6c757d;
+}
+.blockquote-footer::before {
+ content: "— ";
+}
+
+.img-fluid {
+ max-width: 100%;
+ height: auto;
+}
+
+.img-thumbnail {
+ padding: 0.25rem;
+ background-color: var(--bs-body-bg);
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ max-width: 100%;
+ height: auto;
+}
+
+.figure {
+ display: inline-block;
+}
+
+.figure-img {
+ margin-bottom: 0.5rem;
+ line-height: 1;
+}
+
+.figure-caption {
+ font-size: 0.875em;
+ color: var(--bs-secondary-color);
+}
+
+.container,
+.container-fluid,
+.container-xxl,
+.container-xl,
+.container-lg,
+.container-md,
+.container-sm {
+ --bs-gutter-x: 1.5rem;
+ --bs-gutter-y: 0;
+ width: 100%;
+ padding-right: calc(var(--bs-gutter-x) * 0.5);
+ padding-left: calc(var(--bs-gutter-x) * 0.5);
+ margin-right: auto;
+ margin-left: auto;
+}
+
+@media (min-width: 576px) {
+ .container-sm, .container {
+ max-width: 540px;
+ }
+}
+@media (min-width: 768px) {
+ .container-md, .container-sm, .container {
+ max-width: 720px;
+ }
+}
+@media (min-width: 992px) {
+ .container-lg, .container-md, .container-sm, .container {
+ max-width: 960px;
+ }
+}
+@media (min-width: 1200px) {
+ .container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1140px;
+ }
+}
+@media (min-width: 1400px) {
+ .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1320px;
+ }
+}
+:root {
+ --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(-0.5 * var(--bs-gutter-x));
+ margin-left: calc(-0.5 * var(--bs-gutter-x));
+}
+.row > * {
+ flex-shrink: 0;
+ width: 100%;
+ max-width: 100%;
+ padding-right: calc(var(--bs-gutter-x) * 0.5);
+ padding-left: calc(var(--bs-gutter-x) * 0.5);
+ margin-top: var(--bs-gutter-y);
+}
+
+.col {
+ flex: 1 0 0%;
+}
+
+.row-cols-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.row-cols-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+}
+
+.row-cols-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+}
+
+.row-cols-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+}
+
+.row-cols-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+}
+
+.row-cols-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+}
+
+.row-cols-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+}
+
+.col-auto {
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.col-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+}
+
+.col-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+}
+
+.col-3 {
+ flex: 0 0 auto;
+ width: 25%;
+}
+
+.col-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+}
+
+.col-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+}
+
+.col-6 {
+ flex: 0 0 auto;
+ width: 50%;
+}
+
+.col-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+}
+
+.col-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+}
+
+.col-9 {
+ flex: 0 0 auto;
+ width: 75%;
+}
+
+.col-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+}
+
+.col-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+}
+
+.col-12 {
+ flex: 0 0 auto;
+ width: 100%;
+}
+
+.offset-1 {
+ margin-left: 8.33333333%;
+}
+
+.offset-2 {
+ margin-left: 16.66666667%;
+}
+
+.offset-3 {
+ margin-left: 25%;
+}
+
+.offset-4 {
+ margin-left: 33.33333333%;
+}
+
+.offset-5 {
+ margin-left: 41.66666667%;
+}
+
+.offset-6 {
+ margin-left: 50%;
+}
+
+.offset-7 {
+ margin-left: 58.33333333%;
+}
+
+.offset-8 {
+ margin-left: 66.66666667%;
+}
+
+.offset-9 {
+ margin-left: 75%;
+}
+
+.offset-10 {
+ margin-left: 83.33333333%;
+}
+
+.offset-11 {
+ margin-left: 91.66666667%;
+}
+
+.g-0,
+.gx-0 {
+ --bs-gutter-x: 0;
+}
+
+.g-0,
+.gy-0 {
+ --bs-gutter-y: 0;
+}
+
+.g-1,
+.gx-1 {
+ --bs-gutter-x: 0.25rem;
+}
+
+.g-1,
+.gy-1 {
+ --bs-gutter-y: 0.25rem;
+}
+
+.g-2,
+.gx-2 {
+ --bs-gutter-x: 0.5rem;
+}
+
+.g-2,
+.gy-2 {
+ --bs-gutter-y: 0.5rem;
+}
+
+.g-3,
+.gx-3 {
+ --bs-gutter-x: 1rem;
+}
+
+.g-3,
+.gy-3 {
+ --bs-gutter-y: 1rem;
+}
+
+.g-4,
+.gx-4 {
+ --bs-gutter-x: 1.5rem;
+}
+
+.g-4,
+.gy-4 {
+ --bs-gutter-y: 1.5rem;
+}
+
+.g-5,
+.gx-5 {
+ --bs-gutter-x: 3rem;
+}
+
+.g-5,
+.gy-5 {
+ --bs-gutter-y: 3rem;
+}
+
+@media (min-width: 576px) {
+ .col-sm {
+ flex: 1 0 0%;
+ }
+ .row-cols-sm-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-sm-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-sm-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-sm-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-sm-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-sm-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-sm-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-sm-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-sm-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-sm-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-sm-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-sm-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-sm-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-sm-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-sm-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-sm-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-sm-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-sm-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-sm-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-sm-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-sm-0 {
+ margin-left: 0;
+ }
+ .offset-sm-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-sm-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-sm-3 {
+ margin-left: 25%;
+ }
+ .offset-sm-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-sm-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-sm-6 {
+ margin-left: 50%;
+ }
+ .offset-sm-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-sm-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-sm-9 {
+ margin-left: 75%;
+ }
+ .offset-sm-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-sm-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-sm-0,
+ .gx-sm-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-sm-0,
+ .gy-sm-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-sm-1,
+ .gx-sm-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-sm-1,
+ .gy-sm-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-sm-2,
+ .gx-sm-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-sm-2,
+ .gy-sm-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-sm-3,
+ .gx-sm-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-sm-3,
+ .gy-sm-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-sm-4,
+ .gx-sm-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-sm-4,
+ .gy-sm-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-sm-5,
+ .gx-sm-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-sm-5,
+ .gy-sm-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 768px) {
+ .col-md {
+ flex: 1 0 0%;
+ }
+ .row-cols-md-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-md-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-md-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-md-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-md-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-md-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-md-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-md-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-md-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-md-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-md-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-md-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-md-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-md-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-md-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-md-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-md-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-md-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-md-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-md-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-md-0 {
+ margin-left: 0;
+ }
+ .offset-md-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-md-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-md-3 {
+ margin-left: 25%;
+ }
+ .offset-md-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-md-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-md-6 {
+ margin-left: 50%;
+ }
+ .offset-md-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-md-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-md-9 {
+ margin-left: 75%;
+ }
+ .offset-md-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-md-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-md-0,
+ .gx-md-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-md-0,
+ .gy-md-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-md-1,
+ .gx-md-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-md-1,
+ .gy-md-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-md-2,
+ .gx-md-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-md-2,
+ .gy-md-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-md-3,
+ .gx-md-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-md-3,
+ .gy-md-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-md-4,
+ .gx-md-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-md-4,
+ .gy-md-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-md-5,
+ .gx-md-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-md-5,
+ .gy-md-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 992px) {
+ .col-lg {
+ flex: 1 0 0%;
+ }
+ .row-cols-lg-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-lg-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-lg-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-lg-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-lg-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-lg-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-lg-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-lg-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-lg-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-lg-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-lg-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-lg-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-lg-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-lg-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-lg-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-lg-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-lg-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-lg-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-lg-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-lg-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-lg-0 {
+ margin-left: 0;
+ }
+ .offset-lg-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-lg-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-lg-3 {
+ margin-left: 25%;
+ }
+ .offset-lg-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-lg-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-lg-6 {
+ margin-left: 50%;
+ }
+ .offset-lg-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-lg-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-lg-9 {
+ margin-left: 75%;
+ }
+ .offset-lg-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-lg-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-lg-0,
+ .gx-lg-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-lg-0,
+ .gy-lg-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-lg-1,
+ .gx-lg-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-lg-1,
+ .gy-lg-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-lg-2,
+ .gx-lg-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-lg-2,
+ .gy-lg-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-lg-3,
+ .gx-lg-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-lg-3,
+ .gy-lg-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-lg-4,
+ .gx-lg-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-lg-4,
+ .gy-lg-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-lg-5,
+ .gx-lg-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-lg-5,
+ .gy-lg-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1200px) {
+ .col-xl {
+ flex: 1 0 0%;
+ }
+ .row-cols-xl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-xl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-xl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-xl-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-xl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-xl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-xl-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-xl-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-xl-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-xl-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-xl-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-xl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-xl-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-xl-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-xl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-xl-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-xl-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-xl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-xl-0 {
+ margin-left: 0;
+ }
+ .offset-xl-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-xl-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-xl-3 {
+ margin-left: 25%;
+ }
+ .offset-xl-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-xl-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-xl-6 {
+ margin-left: 50%;
+ }
+ .offset-xl-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-xl-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-xl-9 {
+ margin-left: 75%;
+ }
+ .offset-xl-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-xl-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-xl-0,
+ .gx-xl-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-xl-0,
+ .gy-xl-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-xl-1,
+ .gx-xl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-xl-1,
+ .gy-xl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-xl-2,
+ .gx-xl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-xl-2,
+ .gy-xl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-xl-3,
+ .gx-xl-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-xl-3,
+ .gy-xl-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-xl-4,
+ .gx-xl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-xl-4,
+ .gy-xl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-xl-5,
+ .gx-xl-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-xl-5,
+ .gy-xl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1400px) {
+ .col-xxl {
+ flex: 1 0 0%;
+ }
+ .row-cols-xxl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-xxl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-xxl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-xxl-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-xxl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-xxl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-xxl-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xxl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-xxl-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-xxl-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xxl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-xxl-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-xxl-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-xxl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-xxl-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-xxl-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-xxl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-xxl-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-xxl-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-xxl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-xxl-0 {
+ margin-left: 0;
+ }
+ .offset-xxl-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-xxl-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-xxl-3 {
+ margin-left: 25%;
+ }
+ .offset-xxl-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-xxl-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-xxl-6 {
+ margin-left: 50%;
+ }
+ .offset-xxl-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-xxl-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-xxl-9 {
+ margin-left: 75%;
+ }
+ .offset-xxl-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-xxl-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-xxl-0,
+ .gx-xxl-0 {
+ --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: 0.5rem 0.5rem;
+ color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
+ background-color: var(--bs-table-bg);
+ border-bottom-width: var(--bs-border-width);
+ box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
+}
+.table > tbody {
+ vertical-align: inherit;
+}
+.table > thead {
+ vertical-align: bottom;
+}
+
+.table-group-divider {
+ border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
+}
+
+.caption-top {
+ caption-side: top;
+}
+
+.table-sm > :not(caption) > * > * {
+ padding: 0.25rem 0.25rem;
+}
+
+.table-bordered > :not(caption) > * {
+ border-width: var(--bs-border-width) 0;
+}
+.table-bordered > :not(caption) > * > * {
+ border-width: 0 var(--bs-border-width);
+}
+
+.table-borderless > :not(caption) > * > * {
+ border-bottom-width: 0;
+}
+.table-borderless > :not(:first-child) {
+ border-top-width: 0;
+}
+
+.table-striped > tbody > tr:nth-of-type(odd) > * {
+ --bs-table-color-type: var(--bs-table-striped-color);
+ --bs-table-bg-type: var(--bs-table-striped-bg);
+}
+
+.table-striped-columns > :not(caption) > tr > :nth-child(even) {
+ --bs-table-color-type: var(--bs-table-striped-color);
+ --bs-table-bg-type: var(--bs-table-striped-bg);
+}
+
+.table-active {
+ --bs-table-color-state: var(--bs-table-active-color);
+ --bs-table-bg-state: var(--bs-table-active-bg);
+}
+
+.table-hover > tbody > tr:hover > * {
+ --bs-table-color-state: var(--bs-table-hover-color);
+ --bs-table-bg-state: var(--bs-table-hover-bg);
+}
+
+.table-primary {
+ --bs-table-color: #000;
+ --bs-table-bg: rgb(206.6, 226, 254.6);
+ --bs-table-border-color: rgb(165.28, 180.8, 203.68);
+ --bs-table-striped-bg: rgb(196.27, 214.7, 241.87);
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: rgb(185.94, 203.4, 229.14);
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: rgb(191.105, 209.05, 235.505);
+ --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: rgb(225.6, 227.4, 229);
+ --bs-table-border-color: rgb(180.48, 181.92, 183.2);
+ --bs-table-striped-bg: rgb(214.32, 216.03, 217.55);
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: rgb(203.04, 204.66, 206.1);
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: rgb(208.68, 210.345, 211.825);
+ --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: rgb(209, 231, 220.8);
+ --bs-table-border-color: rgb(167.2, 184.8, 176.64);
+ --bs-table-striped-bg: rgb(198.55, 219.45, 209.76);
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: rgb(188.1, 207.9, 198.72);
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: rgb(193.325, 213.675, 204.24);
+ --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: rgb(206.6, 244.4, 252);
+ --bs-table-border-color: rgb(165.28, 195.52, 201.6);
+ --bs-table-striped-bg: rgb(196.27, 232.18, 239.4);
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: rgb(185.94, 219.96, 226.8);
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: rgb(191.105, 226.07, 233.1);
+ --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: rgb(255, 242.6, 205.4);
+ --bs-table-border-color: rgb(204, 194.08, 164.32);
+ --bs-table-striped-bg: rgb(242.25, 230.47, 195.13);
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: rgb(229.5, 218.34, 184.86);
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: rgb(235.875, 224.405, 189.995);
+ --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: rgb(248, 214.6, 217.8);
+ --bs-table-border-color: rgb(198.4, 171.68, 174.24);
+ --bs-table-striped-bg: rgb(235.6, 203.87, 206.91);
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: rgb(223.2, 193.14, 196.02);
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: rgb(229.4, 198.505, 201.465);
+ --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: rgb(198.4, 199.2, 200);
+ --bs-table-striped-bg: rgb(235.6, 236.55, 237.5);
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: rgb(223.2, 224.1, 225);
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: rgb(229.4, 230.325, 231.25);
+ --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: rgb(77.4, 80.6, 83.8);
+ --bs-table-striped-bg: rgb(44.1, 47.9, 51.7);
+ --bs-table-striped-color: #fff;
+ --bs-table-active-bg: rgb(55.2, 58.8, 62.4);
+ --bs-table-active-color: #fff;
+ --bs-table-hover-bg: rgb(49.65, 53.35, 57.05);
+ --bs-table-hover-color: #fff;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-responsive {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+}
+
+@media (max-width: 575.98px) {
+ .table-responsive-sm {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 767.98px) {
+ .table-responsive-md {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 991.98px) {
+ .table-responsive-lg {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 1199.98px) {
+ .table-responsive-xl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 1399.98px) {
+ .table-responsive-xxl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+.form-label {
+ margin-bottom: 0.5rem;
+}
+
+.col-form-label {
+ padding-top: calc(0.375rem + var(--bs-border-width));
+ padding-bottom: calc(0.375rem + var(--bs-border-width));
+ margin-bottom: 0;
+ font-size: inherit;
+ line-height: 1.5;
+}
+
+.col-form-label-lg {
+ padding-top: calc(0.5rem + var(--bs-border-width));
+ padding-bottom: calc(0.5rem + var(--bs-border-width));
+ font-size: 1.25rem;
+}
+
+.col-form-label-sm {
+ padding-top: calc(0.25rem + var(--bs-border-width));
+ padding-bottom: calc(0.25rem + var(--bs-border-width));
+ font-size: 0.875rem;
+}
+
+.form-text {
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: var(--bs-secondary-color);
+}
+
+.form-control {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-body-bg);
+ background-clip: padding-box;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control {
+ transition: none;
+ }
+}
+.form-control[type=file] {
+ overflow: hidden;
+}
+.form-control[type=file]:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control:focus {
+ color: var(--bs-body-color);
+ background-color: var(--bs-body-bg);
+ border-color: rgb(134, 182.5, 254);
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.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::-moz-placeholder {
+ color: var(--bs-secondary-color);
+ opacity: 1;
+}
+.form-control::placeholder {
+ color: var(--bs-secondary-color);
+ opacity: 1;
+}
+.form-control:disabled {
+ background-color: var(--bs-secondary-bg);
+ opacity: 1;
+}
+.form-control::file-selector-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ margin-inline-end: 0.75rem;
+ color: var(--bs-body-color);
+ background-color: var(--bs-tertiary-bg);
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: var(--bs-border-width);
+ border-radius: 0;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::file-selector-button {
+ 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: 0.375rem 0;
+ margin-bottom: 0;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ background-color: transparent;
+ border: solid transparent;
+ border-width: var(--bs-border-width) 0;
+}
+.form-control-plaintext:focus {
+ outline: 0;
+}
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: var(--bs-border-radius-sm);
+}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ margin-inline-end: 0.5rem;
+}
+
+.form-control-lg {
+ min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: var(--bs-border-radius-lg);
+}
+.form-control-lg::file-selector-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ margin-inline-end: 1rem;
+}
+
+textarea.form-control {
+ min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
+}
+textarea.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
+}
+textarea.form-control-lg {
+ min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
+}
+
+.form-control-color {
+ width: 3rem;
+ height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
+ padding: 0.375rem;
+}
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control-color::-moz-color-swatch {
+ border: 0 !important;
+ border-radius: var(--bs-border-radius);
+}
+.form-control-color::-webkit-color-swatch {
+ border: 0 !important;
+ border-radius: var(--bs-border-radius);
+}
+.form-control-color.form-control-sm {
+ height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
+}
+.form-control-color.form-control-lg {
+ height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
+}
+
+.form-select {
+ --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+ display: block;
+ width: 100%;
+ padding: 0.375rem 2.25rem 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-body-bg);
+ background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ background-size: 16px 12px;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-select {
+ transition: none;
+ }
+}
+.form-select:focus {
+ border-color: rgb(134, 182.5, 254);
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-select[multiple], .form-select[size]:not([size="1"]) {
+ padding-right: 0.75rem;
+ background-image: none;
+}
+.form-select:disabled {
+ background-color: var(--bs-secondary-bg);
+}
+.form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 var(--bs-body-color);
+}
+
+.form-select-sm {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ padding-left: 0.5rem;
+ font-size: 0.875rem;
+ border-radius: var(--bs-border-radius-sm);
+}
+
+.form-select-lg {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 1rem;
+ font-size: 1.25rem;
+ border-radius: var(--bs-border-radius-lg);
+}
+
+[data-bs-theme=dark] .form-select {
+ --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%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: 0.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: 0.25em;
+ vertical-align: top;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-form-check-bg);
+ background-image: var(--bs-form-check-bg-image);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: contain;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ -webkit-print-color-adjust: exact;
+ print-color-adjust: exact;
+}
+.form-check-input[type=checkbox] {
+ border-radius: 0.25em;
+}
+.form-check-input[type=radio] {
+ border-radius: 50%;
+}
+.form-check-input:active {
+ filter: brightness(90%);
+}
+.form-check-input:focus {
+ border-color: rgb(134, 182.5, 254);
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.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: 0.5;
+}
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+ cursor: default;
+ opacity: 0.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: left center;
+ border-radius: 2em;
+ transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-switch .form-check-input {
+ transition: none;
+ }
+}
+.form-switch .form-check-input:focus {
+ --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='rgb%28134, 182.5, 254%29'/%3e%3c/svg%3e");
+}
+.form-switch .form-check-input:checked {
+ background-position: right center;
+ --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-switch.form-check-reverse {
+ padding-right: 2.5em;
+ padding-left: 0;
+}
+.form-switch.form-check-reverse .form-check-input {
+ 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: 0.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;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ 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 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-range:focus::-moz-range-thumb {
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-range::-moz-focus-outer {
+ border: 0;
+}
+.form-range::-webkit-slider-thumb {
+ width: 1rem;
+ height: 1rem;
+ margin-top: -0.25rem;
+ -webkit-appearance: none;
+ appearance: none;
+ background-color: #0d6efd;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-webkit-slider-thumb {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-range::-webkit-slider-thumb:active {
+ background-color: rgb(182.4, 211.5, 254.4);
+}
+.form-range::-webkit-slider-runnable-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: var(--bs-secondary-bg);
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range::-moz-range-thumb {
+ width: 1rem;
+ height: 1rem;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: #0d6efd;
+ border: 0;
+ border-radius: 1rem;
+ -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-moz-range-thumb {
+ -moz-transition: none;
+ transition: none;
+ }
+}
+.form-range::-moz-range-thumb:active {
+ background-color: rgb(182.4, 211.5, 254.4);
+}
+.form-range::-moz-range-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: var(--bs-secondary-bg);
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range:disabled {
+ pointer-events: none;
+}
+.form-range:disabled::-webkit-slider-thumb {
+ background-color: var(--bs-secondary-color);
+}
+.form-range:disabled::-moz-range-thumb {
+ background-color: var(--bs-secondary-color);
+}
+
+.form-floating {
+ position: relative;
+}
+.form-floating > .form-control,
+.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 0.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 0.1s ease-in-out, transform 0.1s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-floating > label {
+ transition: none;
+ }
+}
+.form-floating > .form-control,
+.form-floating > .form-control-plaintext {
+ padding: 1rem 0.75rem;
+}
+.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control::placeholder,
+.form-floating > .form-control-plaintext::placeholder {
+ color: transparent;
+}
+.form-floating > .form-control:not(:-moz-placeholder), .form-floating > .form-control-plaintext:not(:-moz-placeholder) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
+.form-floating > .form-control-plaintext:focus,
+.form-floating > .form-control-plaintext:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:-webkit-autofill,
+.form-floating > .form-control-plaintext:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:not(:-moz-placeholder) ~ label {
+ color: rgba(var(--bs-body-color-rgb), 0.65);
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.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), 0.65);
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:not(:-moz-placeholder) ~ label::after {
+ position: absolute;
+ inset: 1rem 0.375rem;
+ z-index: -1;
+ height: 1.5em;
+ content: "";
+ background-color: var(--bs-body-bg);
+ border-radius: var(--bs-border-radius);
+}
+.form-floating > .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 0.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), 0.65);
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.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: 1 1 auto;
+ width: 1%;
+ min-width: 0;
+}
+.input-group > .form-control:focus,
+.input-group > .form-select:focus,
+.input-group > .form-floating:focus-within {
+ z-index: 5;
+}
+.input-group .btn {
+ position: relative;
+ z-index: 2;
+}
+.input-group .btn:focus {
+ z-index: 5;
+}
+
+.input-group-text {
+ display: flex;
+ align-items: center;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ text-align: center;
+ white-space: nowrap;
+ background-color: var(--bs-tertiary-bg);
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
+ padding: 0.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: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: var(--bs-border-radius-sm);
+}
+
+.input-group-lg > .form-select,
+.input-group-sm > .form-select {
+ padding-right: 3rem;
+}
+
+.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
+.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
+.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: 0.25rem;
+ font-size: 0.875em;
+ color: var(--bs-form-valid-color);
+}
+
+.valid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #fff;
+ background-color: var(--bs-success);
+ border-radius: var(--bs-border-radius);
+}
+
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid {
+ border-color: var(--bs-form-valid-border-color);
+ padding-right: calc(1.5em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%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(0.375em + 0.1875rem) center;
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.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 0.25rem rgba(var(--bs-success-rgb), 0.25);
+}
+
+.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+ padding-right: calc(1.5em + 0.75rem);
+ background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .form-select:valid, .form-select.is-valid {
+ border-color: var(--bs-form-valid-border-color);
+}
+.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
+ --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%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 0.75rem center, center right 2.25rem;
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
+ border-color: var(--bs-form-valid-border-color);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+}
+
+.was-validated .form-control-color:valid, .form-control-color.is-valid {
+ width: calc(3rem + calc(1.5em + 0.75rem));
+}
+
+.was-validated .form-check-input:valid, .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 0.25rem rgba(var(--bs-success-rgb), 0.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: 0.5em;
+}
+
+.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
+.was-validated .input-group > .form-select:not(:focus):valid,
+.input-group > .form-select:not(:focus).is-valid,
+.was-validated .input-group > .form-floating:not(:focus-within):valid,
+.input-group > .form-floating:not(:focus-within).is-valid {
+ z-index: 3;
+}
+
+.invalid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: var(--bs-form-invalid-color);
+}
+
+.invalid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #fff;
+ background-color: var(--bs-danger);
+ border-radius: var(--bs-border-radius);
+}
+
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
+ border-color: var(--bs-form-invalid-border-color);
+ padding-right: calc(1.5em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%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(0.375em + 0.1875rem) center;
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.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 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+}
+
+.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+ padding-right: calc(1.5em + 0.75rem);
+ background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .form-select:invalid, .form-select.is-invalid {
+ border-color: var(--bs-form-invalid-border-color);
+}
+.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
+ --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%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 0.75rem center, center right 2.25rem;
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
+ border-color: var(--bs-form-invalid-border-color);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+}
+
+.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
+ width: calc(3rem + calc(1.5em + 0.75rem));
+}
+
+.was-validated .form-check-input:invalid, .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 0.25rem rgba(var(--bs-danger-rgb), 0.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: 0.5em;
+}
+
+.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
+.was-validated .input-group > .form-select:not(:focus):invalid,
+.input-group > .form-select:not(:focus).is-invalid,
+.was-validated .input-group > .form-floating:not(:focus-within):invalid,
+.input-group > .form-floating:not(:focus-within).is-invalid {
+ z-index: 4;
+}
+
+.btn {
+ --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;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
+ border-radius: var(--bs-btn-border-radius);
+ background-color: var(--bs-btn-bg);
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .btn {
+ transition: none;
+ }
+}
+.btn:hover {
+ color: var(--bs-btn-hover-color);
+ 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: rgb(11.05, 93.5, 215.05);
+ --bs-btn-hover-border-color: rgb(10.4, 88, 202.4);
+ --bs-btn-focus-shadow-rgb: 49, 132, 253;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: rgb(10.4, 88, 202.4);
+ --bs-btn-active-border-color: rgb(9.75, 82.5, 189.75);
+ --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: rgb(91.8, 99.45, 106.25);
+ --bs-btn-hover-border-color: rgb(86.4, 93.6, 100);
+ --bs-btn-focus-shadow-rgb: 130, 138, 145;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: rgb(86.4, 93.6, 100);
+ --bs-btn-active-border-color: rgb(81, 87.75, 93.75);
+ --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: rgb(21.25, 114.75, 71.4);
+ --bs-btn-hover-border-color: rgb(20, 108, 67.2);
+ --bs-btn-focus-shadow-rgb: 60, 153, 110;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: rgb(20, 108, 67.2);
+ --bs-btn-active-border-color: rgb(18.75, 101.25, 63);
+ --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: rgb(49.3, 209.95, 242.25);
+ --bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);
+ --bs-btn-focus-shadow-rgb: 11, 172, 204;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: rgb(61.4, 212.6, 243);
+ --bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);
+ --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: rgb(255, 202.3, 44.2);
+ --bs-btn-hover-border-color: rgb(255, 199.2, 31.8);
+ --bs-btn-focus-shadow-rgb: 217, 164, 6;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: rgb(255, 205.4, 56.6);
+ --bs-btn-active-border-color: rgb(255, 199.2, 31.8);
+ --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: rgb(187, 45.05, 58.65);
+ --bs-btn-hover-border-color: rgb(176, 42.4, 55.2);
+ --bs-btn-focus-shadow-rgb: 225, 83, 97;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: rgb(176, 42.4, 55.2);
+ --bs-btn-active-border-color: rgb(165, 39.75, 51.75);
+ --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: rgb(210.8, 211.65, 212.5);
+ --bs-btn-hover-border-color: rgb(198.4, 199.2, 200);
+ --bs-btn-focus-shadow-rgb: 211, 212, 213;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: rgb(198.4, 199.2, 200);
+ --bs-btn-active-border-color: rgb(186, 186.75, 187.5);
+ --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: rgb(66.3, 69.7, 73.1);
+ --bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);
+ --bs-btn-focus-shadow-rgb: 66, 70, 73;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: rgb(77.4, 80.6, 83.8);
+ --bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);
+ --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 0.15s linear;
+}
+@media (prefers-reduced-motion: reduce) {
+ .fade {
+ transition: none;
+ }
+}
+.fade:not(.show) {
+ opacity: 0;
+}
+
+.collapse:not(.show) {
+ display: none;
+}
+
+.collapsing {
+ height: 0;
+ overflow: hidden;
+ transition: height 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing {
+ transition: none;
+ }
+}
+.collapsing.collapse-horizontal {
+ width: 0;
+ height: auto;
+ transition: width 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing.collapse-horizontal {
+ transition: none;
+ }
+}
+
+.dropup,
+.dropend,
+.dropdown,
+.dropstart,
+.dropup-center,
+.dropdown-center {
+ position: relative;
+}
+
+.dropdown-toggle {
+ white-space: nowrap;
+}
+.dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid;
+ border-right: 0.3em solid transparent;
+ border-bottom: 0;
+ border-left: 0.3em solid transparent;
+}
+.dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropdown-menu {
+ --bs-dropdown-zindex: 1000;
+ --bs-dropdown-min-width: 10rem;
+ --bs-dropdown-padding-x: 0;
+ --bs-dropdown-padding-y: 0.5rem;
+ --bs-dropdown-spacer: 0.125rem;
+ --bs-dropdown-font-size: 1rem;
+ --bs-dropdown-color: var(--bs-body-color);
+ --bs-dropdown-bg: var(--bs-body-bg);
+ --bs-dropdown-border-color: var(--bs-border-color-translucent);
+ --bs-dropdown-border-radius: var(--bs-border-radius);
+ --bs-dropdown-border-width: var(--bs-border-width);
+ --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
+ --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+ --bs-dropdown-divider-margin-y: 0.5rem;
+ --bs-dropdown-box-shadow: var(--bs-box-shadow);
+ --bs-dropdown-link-color: var(--bs-body-color);
+ --bs-dropdown-link-hover-color: var(--bs-body-color);
+ --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
+ --bs-dropdown-link-active-color: #fff;
+ --bs-dropdown-link-active-bg: #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: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0;
+ border-right: 0.3em solid transparent;
+ border-bottom: 0.3em solid;
+ border-left: 0.3em solid transparent;
+}
+.dropup .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropend .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: auto;
+ left: 100%;
+ margin-top: 0;
+ margin-left: var(--bs-dropdown-spacer);
+}
+.dropend .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid transparent;
+ border-right: 0;
+ border-bottom: 0.3em solid transparent;
+ border-left: 0.3em solid;
+}
+.dropend .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropend .dropdown-toggle::after {
+ vertical-align: 0;
+}
+
+.dropstart .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: 100%;
+ left: auto;
+ margin-top: 0;
+ margin-right: var(--bs-dropdown-spacer);
+}
+.dropstart .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+}
+.dropstart .dropdown-toggle::after {
+ display: none;
+}
+.dropstart .dropdown-toggle::before {
+ display: inline-block;
+ margin-right: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid transparent;
+ border-right: 0.3em solid;
+ border-bottom: 0.3em solid transparent;
+}
+.dropstart .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle::before {
+ vertical-align: 0;
+}
+
+.dropdown-divider {
+ height: 0;
+ margin: var(--bs-dropdown-divider-margin-y) 0;
+ overflow: hidden;
+ border-top: 1px solid var(--bs-dropdown-divider-bg);
+ opacity: 1;
+}
+
+.dropdown-item {
+ display: block;
+ width: 100%;
+ padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+ clear: both;
+ font-weight: 400;
+ color: var(--bs-dropdown-link-color);
+ text-align: inherit;
+ 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: 0.875rem;
+ color: var(--bs-dropdown-header-color);
+ white-space: nowrap;
+}
+
+.dropdown-item-text {
+ display: block;
+ padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+ color: var(--bs-dropdown-link-color);
+}
+
+.dropdown-menu-dark {
+ --bs-dropdown-color: #dee2e6;
+ --bs-dropdown-bg: #343a40;
+ --bs-dropdown-border-color: var(--bs-border-color-translucent);
+ --bs-dropdown-box-shadow: ;
+ --bs-dropdown-link-color: #dee2e6;
+ --bs-dropdown-link-hover-color: #fff;
+ --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+ --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
+ --bs-dropdown-link-active-color: #fff;
+ --bs-dropdown-link-active-bg: #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: 1 1 auto;
+}
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
+.btn-group-vertical > .btn:hover,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+ z-index: 1;
+}
+
+.btn-toolbar {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+.btn-toolbar .input-group {
+ width: auto;
+}
+
+.btn-group {
+ border-radius: var(--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: 0.5625rem;
+ padding-left: 0.5625rem;
+}
+.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle-split::before {
+ margin-right: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+ padding-right: 0.375rem;
+ padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.btn-group-vertical {
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+}
+.btn-group-vertical > .btn,
+.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: none;
+ border: 0;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .nav-link {
+ transition: none;
+ }
+}
+.nav-link:hover, .nav-link:focus {
+ color: var(--bs-nav-link-hover-color);
+}
+.nav-link:focus-visible {
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.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: currentcolor;
+}
+.nav-underline .nav-link.active,
+.nav-underline .show > .nav-link {
+ font-weight: 700;
+ color: var(--bs-nav-underline-link-active-color);
+ border-bottom-color: currentcolor;
+}
+
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+ flex: 1 1 auto;
+ text-align: center;
+}
+
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+ flex-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: 0.5rem;
+ padding-bottom: 0.5rem;
+ color: var(--bs-navbar-color);
+}
+.navbar-text a,
+.navbar-text a:hover,
+.navbar-text a:focus {
+ color: var(--bs-navbar-active-color);
+}
+
+.navbar-collapse {
+ flex-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: center;
+ background-size: 100%;
+}
+
+.navbar-nav-scroll {
+ max-height: var(--bs-scroll-height, 75vh);
+ overflow-y: auto;
+}
+
+@media (min-width: 576px) {
+ .navbar-expand-sm {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-sm .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ 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: 1 1 auto;
+ padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
+ color: var(--bs-card-color);
+}
+
+.card-title {
+ margin-bottom: var(--bs-card-title-spacer-y);
+ color: var(--bs-card-title-color);
+}
+
+.card-subtitle {
+ margin-top: calc(-0.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(-0.5 * var(--bs-card-cap-padding-x));
+ margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
+ margin-left: calc(-0.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(-0.5 * var(--bs-card-cap-padding-x));
+ margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+}
+
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: var(--bs-card-img-overlay-padding);
+ border-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+ width: 100%;
+}
+
+.card-img,
+.card-img-top {
+ border-top-left-radius: var(--bs-card-inner-border-radius);
+ border-top-right-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-img,
+.card-img-bottom {
+ border-bottom-right-radius: var(--bs-card-inner-border-radius);
+ border-bottom-left-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-group > .card {
+ margin-bottom: var(--bs-card-group-margin);
+}
+@media (min-width: 576px) {
+ .card-group {
+ display: flex;
+ flex-flow: row wrap;
+ }
+ .card-group > .card {
+ flex: 1 0 0%;
+ margin-bottom: 0;
+ }
+ .card-group > .card + .card {
+ margin-left: 0;
+ border-left: 0;
+ }
+ .card-group > .card:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-top,
+ .card-group > .card:not(:last-child) .card-header {
+ border-top-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-bottom,
+ .card-group > .card:not(:last-child) .card-footer {
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-top,
+ .card-group > .card:not(:first-child) .card-header {
+ border-top-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-bottom,
+ .card-group > .card:not(:first-child) .card-footer {
+ border-bottom-left-radius: 0;
+ }
+}
+
+.accordion {
+ --bs-accordion-color: var(--bs-body-color);
+ --bs-accordion-bg: var(--bs-body-bg);
+ --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
+ --bs-accordion-border-color: var(--bs-border-color);
+ --bs-accordion-border-width: var(--bs-border-width);
+ --bs-accordion-border-radius: var(--bs-border-radius);
+ --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
+ --bs-accordion-btn-padding-x: 1.25rem;
+ --bs-accordion-btn-padding-y: 1rem;
+ --bs-accordion-btn-color: var(--bs-body-color);
+ --bs-accordion-btn-bg: var(--bs-accordion-bg);
+ --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%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='rgb%285.2, 44, 101.2%29' 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='rgb%28109.8, 168, 253.8%29'%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='rgb%28109.8, 168, 253.8%29'%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, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
+}
+.breadcrumb-item.active {
+ color: var(--bs-breadcrumb-item-active-color);
+}
+
+.pagination {
+ --bs-pagination-padding-x: 0.75rem;
+ --bs-pagination-padding-y: 0.375rem;
+ --bs-pagination-font-size: 1rem;
+ --bs-pagination-color: var(--bs-link-color);
+ --bs-pagination-bg: var(--bs-body-bg);
+ --bs-pagination-border-width: var(--bs-border-width);
+ --bs-pagination-border-color: var(--bs-border-color);
+ --bs-pagination-border-radius: var(--bs-border-radius);
+ --bs-pagination-hover-color: var(--bs-link-hover-color);
+ --bs-pagination-hover-bg: var(--bs-tertiary-bg);
+ --bs-pagination-hover-border-color: var(--bs-border-color);
+ --bs-pagination-focus-color: var(--bs-link-hover-color);
+ --bs-pagination-focus-bg: var(--bs-secondary-bg);
+ --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(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 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .page-link {
+ transition: none;
+ }
+}
+.page-link:hover {
+ z-index: 2;
+ color: var(--bs-pagination-hover-color);
+ 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, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: var(--bs-progress-height) var(--bs-progress-height);
+}
+
+.progress-stacked > .progress {
+ overflow: visible;
+}
+
+.progress-stacked > .progress > .progress-bar {
+ width: 100%;
+}
+
+.progress-bar-animated {
+ animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar-animated {
+ animation: none;
+ }
+}
+
+.list-group {
+ --bs-list-group-color: var(--bs-body-color);
+ --bs-list-group-bg: var(--bs-body-bg);
+ --bs-list-group-border-color: var(--bs-border-color);
+ --bs-list-group-border-width: var(--bs-border-width);
+ --bs-list-group-border-radius: var(--bs-border-radius);
+ --bs-list-group-item-padding-x: 1rem;
+ --bs-list-group-item-padding-y: 0.5rem;
+ --bs-list-group-action-color: var(--bs-secondary-color);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
+ --bs-list-group-action-active-color: var(--bs-body-color);
+ --bs-list-group-action-active-bg: var(--bs-secondary-bg);
+ --bs-list-group-disabled-color: var(--bs-secondary-color);
+ --bs-list-group-disabled-bg: var(--bs-body-bg);
+ --bs-list-group-active-color: #fff;
+ --bs-list-group-active-bg: #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: 0.25em 0.25em;
+ color: var(--bs-btn-close-color);
+ background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
+ border: 0;
+ border-radius: 0.375rem;
+ opacity: var(--bs-btn-close-opacity);
+}
+.btn-close:hover {
+ color: var(--bs-btn-close-color);
+ text-decoration: none;
+ opacity: var(--bs-btn-close-hover-opacity);
+}
+.btn-close:focus {
+ outline: 0;
+ box-shadow: var(--bs-btn-close-focus-shadow);
+ opacity: var(--bs-btn-close-focus-opacity);
+}
+.btn-close:disabled, .btn-close.disabled {
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: 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: -moz-max-content;
+ 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(-0.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 0.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) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
+ margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.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: 1 1 auto;
+ padding: var(--bs-modal-padding);
+}
+
+.modal-footer {
+ display: flex;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: flex-end;
+ padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.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) * 0.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) * 0.5) 0;
+ border-top-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+ left: calc(-1 * var(--bs-tooltip-arrow-height));
+ width: var(--bs-tooltip-arrow-height);
+ height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+ right: -1px;
+ border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+ border-right-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:end:ignore */
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+ top: calc(-1 * var(--bs-tooltip-arrow-height));
+}
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+ bottom: -1px;
+ border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+ border-bottom-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+ right: calc(-1 * var(--bs-tooltip-arrow-height));
+ width: var(--bs-tooltip-arrow-height);
+ height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+ left: -1px;
+ border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+ border-left-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:end:ignore */
+.tooltip-inner {
+ max-width: var(--bs-tooltip-max-width);
+ padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
+ color: var(--bs-tooltip-color);
+ text-align: center;
+ background-color: var(--bs-tooltip-bg);
+ border-radius: var(--bs-tooltip-border-radius);
+}
+
+.popover {
+ --bs-popover-zindex: 1070;
+ --bs-popover-max-width: 276px;
+ --bs-popover-font-size: 0.875rem;
+ --bs-popover-bg: var(--bs-body-bg);
+ --bs-popover-border-width: var(--bs-border-width);
+ --bs-popover-border-color: var(--bs-border-color-translucent);
+ --bs-popover-border-radius: var(--bs-border-radius-lg);
+ --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+ --bs-popover-box-shadow: var(--bs-box-shadow);
+ --bs-popover-header-padding-x: 1rem;
+ --bs-popover-header-padding-y: 0.5rem;
+ --bs-popover-header-font-size: 1rem;
+ --bs-popover-header-color: inherit;
+ --bs-popover-header-bg: var(--bs-secondary-bg);
+ --bs-popover-body-padding-x: 1rem;
+ --bs-popover-body-padding-y: 1rem;
+ --bs-popover-body-color: var(--bs-body-color);
+ --bs-popover-arrow-width: 1rem;
+ --bs-popover-arrow-height: 0.5rem;
+ --bs-popover-arrow-border: var(--bs-popover-border-color);
+ z-index: var(--bs-popover-zindex);
+ display: block;
+ max-width: var(--bs-popover-max-width);
+ font-family: var(--bs-font-sans-serif);
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ white-space: normal;
+ word-spacing: normal;
+ line-break: auto;
+ font-size: var(--bs-popover-font-size);
+ word-wrap: break-word;
+ background-color: var(--bs-popover-bg);
+ background-clip: padding-box;
+ border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+ border-radius: var(--bs-popover-border-radius);
+}
+.popover .popover-arrow {
+ display: block;
+ width: var(--bs-popover-arrow-width);
+ height: var(--bs-popover-arrow-height);
+}
+.popover .popover-arrow::before, .popover .popover-arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+ border-width: 0;
+}
+
+.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+ bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+ bottom: 0;
+ border-top-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ bottom: var(--bs-popover-border-width);
+ border-top-color: var(--bs-popover-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+ left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+ width: var(--bs-popover-arrow-height);
+ height: var(--bs-popover-arrow-width);
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+ left: 0;
+ border-right-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ left: var(--bs-popover-border-width);
+ border-right-color: var(--bs-popover-bg);
+}
+
+/* rtl:end:ignore */
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+ top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ border-width: 0 calc(var(--bs-popover-arrow-width) * 0.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(-0.5 * var(--bs-popover-arrow-width));
+ content: "";
+ border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+ right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+ width: var(--bs-popover-arrow-height);
+ height: var(--bs-popover-arrow-width);
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+ right: 0;
+ border-left-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ right: var(--bs-popover-border-width);
+ border-left-color: var(--bs-popover-bg);
+}
+
+/* rtl:end:ignore */
+.popover-header {
+ padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
+ margin-bottom: 0;
+ font-size: var(--bs-popover-header-font-size);
+ color: var(--bs-popover-header-color);
+ background-color: var(--bs-popover-header-bg);
+ border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+ border-top-left-radius: var(--bs-popover-inner-border-radius);
+ border-top-right-radius: var(--bs-popover-inner-border-radius);
+}
+.popover-header:empty {
+ display: none;
+}
+
+.popover-body {
+ padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
+ color: var(--bs-popover-body-color);
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel.pointer-event {
+ touch-action: pan-y;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.carousel-item {
+ position: relative;
+ display: none;
+ float: left;
+ width: 100%;
+ margin-right: -100%;
+ backface-visibility: hidden;
+ transition: transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ transition: none;
+ }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+ display: block;
+}
+
+.carousel-item-next:not(.carousel-item-start),
+.active.carousel-item-end {
+ transform: translateX(100%);
+}
+
+.carousel-item-prev:not(.carousel-item-end),
+.active.carousel-item-start {
+ transform: translateX(-100%);
+}
+
+.carousel-fade .carousel-item {
+ opacity: 0;
+ transition-property: opacity;
+ transform: none;
+}
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-start,
+.carousel-fade .carousel-item-prev.carousel-item-end {
+ z-index: 1;
+ opacity: 1;
+}
+.carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ z-index: 0;
+ opacity: 0;
+ transition: opacity 0s 0.6s;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-fade .active.carousel-item-start,
+ .carousel-fade .active.carousel-item-end {
+ transition: none;
+ }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 15%;
+ padding: 0;
+ color: #fff;
+ text-align: center;
+ background: none;
+ border: 0;
+ opacity: 0.5;
+ transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-control-prev,
+ .carousel-control-next {
+ transition: none;
+ }
+}
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: 0.9;
+}
+
+.carousel-control-prev {
+ left: 0;
+}
+
+.carousel-control-next {
+ right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100% 100%;
+}
+
+.carousel-control-prev-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%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") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/;
+}
+
+.carousel-indicators {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 2;
+ display: flex;
+ justify-content: center;
+ padding: 0;
+ margin-right: 15%;
+ margin-bottom: 1rem;
+ margin-left: 15%;
+}
+.carousel-indicators [data-bs-target] {
+ box-sizing: content-box;
+ flex: 0 1 auto;
+ width: 30px;
+ height: 3px;
+ padding: 0;
+ margin-right: 3px;
+ margin-left: 3px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 0;
+ border-top: 10px solid transparent;
+ border-bottom: 10px solid transparent;
+ opacity: 0.5;
+ transition: opacity 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-indicators [data-bs-target] {
+ transition: none;
+ }
+}
+.carousel-indicators .active {
+ opacity: 1;
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 1.25rem;
+ left: 15%;
+ padding-top: 1.25rem;
+ padding-bottom: 1.25rem;
+ color: #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) /* rtl:ignore */;
+ }
+}
+.spinner-border {
+ --bs-spinner-width: 2rem;
+ --bs-spinner-height: 2rem;
+ --bs-spinner-vertical-align: -0.125em;
+ --bs-spinner-border-width: 0.25em;
+ --bs-spinner-animation-speed: 0.75s;
+ --bs-spinner-animation-name: spinner-border;
+ border: var(--bs-spinner-border-width) solid currentcolor;
+ border-right-color: transparent;
+}
+
+.spinner-border-sm {
+ --bs-spinner-width: 1rem;
+ --bs-spinner-height: 1rem;
+ --bs-spinner-border-width: 0.2em;
+}
+
+@keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+.spinner-grow {
+ --bs-spinner-width: 2rem;
+ --bs-spinner-height: 2rem;
+ --bs-spinner-vertical-align: -0.125em;
+ --bs-spinner-animation-speed: 0.75s;
+ --bs-spinner-animation-name: spinner-grow;
+ background-color: currentcolor;
+ opacity: 0;
+}
+
+.spinner-grow-sm {
+ --bs-spinner-width: 1rem;
+ --bs-spinner-height: 1rem;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .spinner-border,
+ .spinner-grow {
+ --bs-spinner-animation-speed: 1.5s;
+ }
+}
+.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
+ --bs-offcanvas-zindex: 1045;
+ --bs-offcanvas-width: 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: 0.5;
+}
+
+.offcanvas-header {
+ display: flex;
+ align-items: center;
+ padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+}
+.offcanvas-header .btn-close {
+ padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
+ margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x)) calc(-0.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: 0.5;
+}
+.placeholder.btn::before {
+ display: inline-block;
+ content: "";
+}
+
+.placeholder-xs {
+ min-height: 0.6em;
+}
+
+.placeholder-sm {
+ min-height: 0.8em;
+}
+
+.placeholder-lg {
+ min-height: 1.2em;
+}
+
+.placeholder-glow .placeholder {
+ animation: placeholder-glow 2s ease-in-out infinite;
+}
+
+@keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+.placeholder-wave {
+ -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+ mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+ -webkit-mask-size: 200% 100%;
+ mask-size: 200% 100%;
+ animation: placeholder-wave 2s linear infinite;
+}
+
+@keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+.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, 0.75)) !important;
+ text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
+}
+
+.focus-ring:focus {
+ outline: 0;
+ box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
+}
+
+.icon-link {
+ display: inline-flex;
+ gap: 0.375rem;
+ align-items: center;
+ text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
+ text-underline-offset: 0.25em;
+ backface-visibility: hidden;
+}
+.icon-link > .bi {
+ flex-shrink: 0;
+ width: 1em;
+ height: 1em;
+ fill: currentcolor;
+ transition: 0.2s ease-in-out transform;
+}
+@media (prefers-reduced-motion: reduce) {
+ .icon-link > .bi {
+ transition: none;
+ }
+}
+
+.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
+ transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
+}
+
+.ratio {
+ position: relative;
+ width: 100%;
+}
+.ratio::before {
+ display: block;
+ padding-top: var(--bs-aspect-ratio);
+ content: "";
+}
+.ratio > * {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.ratio-1x1 {
+ --bs-aspect-ratio: 100%;
+}
+
+.ratio-4x3 {
+ --bs-aspect-ratio: 75%;
+}
+
+.ratio-16x9 {
+ --bs-aspect-ratio: 56.25%;
+}
+
+.ratio-21x9 {
+ --bs-aspect-ratio: 42.8571428571%;
+}
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.sticky-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+
+.sticky-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+}
+
+@media (min-width: 576px) {
+ .sticky-sm-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-sm-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 768px) {
+ .sticky-md-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-md-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 992px) {
+ .sticky-lg-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-lg-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xl-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1400px) {
+ .sticky-xxl-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xxl-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+.hstack {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ align-self: stretch;
+}
+
+.vstack {
+ display: flex;
+ flex: 1 1 auto;
+ flex-direction: column;
+ align-self: stretch;
+}
+
+.visually-hidden,
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
+ width: 1px !important;
+ height: 1px !important;
+ padding: 0 !important;
+ margin: -1px !important;
+ overflow: hidden !important;
+ clip: rect(0, 0, 0, 0) !important;
+ white-space: nowrap !important;
+ border: 0 !important;
+}
+.visually-hidden:not(caption),
+.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
+ position: absolute !important;
+}
+
+.stretched-link::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ content: "";
+}
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.vr {
+ display: inline-block;
+ align-self: stretch;
+ width: var(--bs-border-width);
+ min-height: 1em;
+ background-color: currentcolor;
+ opacity: 0.25;
+}
+
+.align-baseline {
+ vertical-align: baseline !important;
+}
+
+.align-top {
+ vertical-align: top !important;
+}
+
+.align-middle {
+ vertical-align: middle !important;
+}
+
+.align-bottom {
+ vertical-align: bottom !important;
+}
+
+.align-text-bottom {
+ vertical-align: text-bottom !important;
+}
+
+.align-text-top {
+ vertical-align: text-top !important;
+}
+
+.float-start {
+ float: left !important;
+}
+
+.float-end {
+ float: right !important;
+}
+
+.float-none {
+ float: none !important;
+}
+
+.object-fit-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+}
+
+.object-fit-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+}
+
+.object-fit-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+}
+
+.object-fit-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+}
+
+.object-fit-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+}
+
+.opacity-0 {
+ opacity: 0 !important;
+}
+
+.opacity-25 {
+ opacity: 0.25 !important;
+}
+
+.opacity-50 {
+ opacity: 0.5 !important;
+}
+
+.opacity-75 {
+ opacity: 0.75 !important;
+}
+
+.opacity-100 {
+ opacity: 1 !important;
+}
+
+.overflow-auto {
+ overflow: auto !important;
+}
+
+.overflow-hidden {
+ overflow: hidden !important;
+}
+
+.overflow-visible {
+ overflow: visible !important;
+}
+
+.overflow-scroll {
+ overflow: scroll !important;
+}
+
+.overflow-x-auto {
+ overflow-x: auto !important;
+}
+
+.overflow-x-hidden {
+ overflow-x: hidden !important;
+}
+
+.overflow-x-visible {
+ overflow-x: visible !important;
+}
+
+.overflow-x-scroll {
+ overflow-x: scroll !important;
+}
+
+.overflow-y-auto {
+ overflow-y: auto !important;
+}
+
+.overflow-y-hidden {
+ overflow-y: hidden !important;
+}
+
+.overflow-y-visible {
+ overflow-y: visible !important;
+}
+
+.overflow-y-scroll {
+ overflow-y: scroll !important;
+}
+
+.d-inline {
+ display: inline !important;
+}
+
+.d-inline-block {
+ display: inline-block !important;
+}
+
+.d-block {
+ display: block !important;
+}
+
+.d-grid {
+ display: grid !important;
+}
+
+.d-inline-grid {
+ display: inline-grid !important;
+}
+
+.d-table {
+ display: table !important;
+}
+
+.d-table-row {
+ display: table-row !important;
+}
+
+.d-table-cell {
+ display: table-cell !important;
+}
+
+.d-flex {
+ display: flex !important;
+}
+
+.d-inline-flex {
+ display: inline-flex !important;
+}
+
+.d-none {
+ display: none !important;
+}
+
+.shadow {
+ box-shadow: var(--bs-box-shadow) !important;
+}
+
+.shadow-sm {
+ box-shadow: var(--bs-box-shadow-sm) !important;
+}
+
+.shadow-lg {
+ box-shadow: var(--bs-box-shadow-lg) !important;
+}
+
+.shadow-none {
+ box-shadow: none !important;
+}
+
+.focus-ring-primary {
+ --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-secondary {
+ --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-success {
+ --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-info {
+ --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-warning {
+ --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-danger {
+ --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-light {
+ --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
+}
+
+.focus-ring-dark {
+ --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
+}
+
+.position-static {
+ position: static !important;
+}
+
+.position-relative {
+ position: relative !important;
+}
+
+.position-absolute {
+ position: absolute !important;
+}
+
+.position-fixed {
+ position: fixed !important;
+}
+
+.position-sticky {
+ position: sticky !important;
+}
+
+.top-0 {
+ top: 0 !important;
+}
+
+.top-50 {
+ top: 50% !important;
+}
+
+.top-100 {
+ top: 100% !important;
+}
+
+.bottom-0 {
+ bottom: 0 !important;
+}
+
+.bottom-50 {
+ bottom: 50% !important;
+}
+
+.bottom-100 {
+ bottom: 100% !important;
+}
+
+.start-0 {
+ left: 0 !important;
+}
+
+.start-50 {
+ left: 50% !important;
+}
+
+.start-100 {
+ left: 100% !important;
+}
+
+.end-0 {
+ right: 0 !important;
+}
+
+.end-50 {
+ right: 50% !important;
+}
+
+.end-100 {
+ right: 100% !important;
+}
+
+.translate-middle {
+ transform: translate(-50%, -50%) !important;
+}
+
+.translate-middle-x {
+ transform: translateX(-50%) !important;
+}
+
+.translate-middle-y {
+ transform: translateY(-50%) !important;
+}
+
+.border {
+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-0 {
+ border: 0 !important;
+}
+
+.border-top {
+ border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-top-0 {
+ border-top: 0 !important;
+}
+
+.border-end {
+ border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-end-0 {
+ border-right: 0 !important;
+}
+
+.border-bottom {
+ border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-bottom-0 {
+ border-bottom: 0 !important;
+}
+
+.border-start {
+ border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-start-0 {
+ border-left: 0 !important;
+}
+
+.border-primary {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-secondary {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-success {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-info {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-warning {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-danger {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-light {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-dark {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-black {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-white {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-primary-subtle {
+ border-color: var(--bs-primary-border-subtle) !important;
+}
+
+.border-secondary-subtle {
+ border-color: var(--bs-secondary-border-subtle) !important;
+}
+
+.border-success-subtle {
+ border-color: var(--bs-success-border-subtle) !important;
+}
+
+.border-info-subtle {
+ border-color: var(--bs-info-border-subtle) !important;
+}
+
+.border-warning-subtle {
+ border-color: var(--bs-warning-border-subtle) !important;
+}
+
+.border-danger-subtle {
+ border-color: var(--bs-danger-border-subtle) !important;
+}
+
+.border-light-subtle {
+ border-color: var(--bs-light-border-subtle) !important;
+}
+
+.border-dark-subtle {
+ border-color: var(--bs-dark-border-subtle) !important;
+}
+
+.border-1 {
+ border-width: 1px !important;
+}
+
+.border-2 {
+ border-width: 2px !important;
+}
+
+.border-3 {
+ border-width: 3px !important;
+}
+
+.border-4 {
+ border-width: 4px !important;
+}
+
+.border-5 {
+ border-width: 5px !important;
+}
+
+.border-opacity-10 {
+ --bs-border-opacity: 0.1;
+}
+
+.border-opacity-25 {
+ --bs-border-opacity: 0.25;
+}
+
+.border-opacity-50 {
+ --bs-border-opacity: 0.5;
+}
+
+.border-opacity-75 {
+ --bs-border-opacity: 0.75;
+}
+
+.border-opacity-100 {
+ --bs-border-opacity: 1;
+}
+
+.w-25 {
+ width: 25% !important;
+}
+
+.w-50 {
+ width: 50% !important;
+}
+
+.w-75 {
+ width: 75% !important;
+}
+
+.w-100 {
+ width: 100% !important;
+}
+
+.w-auto {
+ width: auto !important;
+}
+
+.mw-100 {
+ max-width: 100% !important;
+}
+
+.vw-100 {
+ width: 100vw !important;
+}
+
+.min-vw-100 {
+ min-width: 100vw !important;
+}
+
+.h-25 {
+ height: 25% !important;
+}
+
+.h-50 {
+ height: 50% !important;
+}
+
+.h-75 {
+ height: 75% !important;
+}
+
+.h-100 {
+ height: 100% !important;
+}
+
+.h-auto {
+ height: auto !important;
+}
+
+.mh-100 {
+ max-height: 100% !important;
+}
+
+.vh-100 {
+ height: 100vh !important;
+}
+
+.min-vh-100 {
+ min-height: 100vh !important;
+}
+
+.flex-fill {
+ flex: 1 1 auto !important;
+}
+
+.flex-row {
+ flex-direction: row !important;
+}
+
+.flex-column {
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ flex-direction: column-reverse !important;
+}
+
+.flex-grow-0 {
+ flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+ flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+ flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+ flex-shrink: 1 !important;
+}
+
+.flex-wrap {
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ justify-content: space-around !important;
+}
+
+.justify-content-evenly {
+ justify-content: space-evenly !important;
+}
+
+.align-items-start {
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ align-content: center !important;
+}
+
+.align-content-between {
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ align-self: auto !important;
+}
+
+.align-self-start {
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ align-self: stretch !important;
+}
+
+.order-first {
+ order: -1 !important;
+}
+
+.order-0 {
+ order: 0 !important;
+}
+
+.order-1 {
+ order: 1 !important;
+}
+
+.order-2 {
+ order: 2 !important;
+}
+
+.order-3 {
+ order: 3 !important;
+}
+
+.order-4 {
+ order: 4 !important;
+}
+
+.order-5 {
+ order: 5 !important;
+}
+
+.order-last {
+ order: 6 !important;
+}
+
+.m-0 {
+ margin: 0 !important;
+}
+
+.m-1 {
+ margin: 0.25rem !important;
+}
+
+.m-2 {
+ margin: 0.5rem !important;
+}
+
+.m-3 {
+ margin: 1rem !important;
+}
+
+.m-4 {
+ margin: 1.5rem !important;
+}
+
+.m-5 {
+ margin: 3rem !important;
+}
+
+.m-auto {
+ margin: auto !important;
+}
+
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+}
+
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+}
+
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+}
+
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+}
+
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+}
+
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+}
+
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+}
+
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+}
+
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+}
+
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+}
+
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+}
+
+.mt-0 {
+ margin-top: 0 !important;
+}
+
+.mt-1 {
+ margin-top: 0.25rem !important;
+}
+
+.mt-2 {
+ margin-top: 0.5rem !important;
+}
+
+.mt-3 {
+ margin-top: 1rem !important;
+}
+
+.mt-4 {
+ margin-top: 1.5rem !important;
+}
+
+.mt-5 {
+ margin-top: 3rem !important;
+}
+
+.mt-auto {
+ margin-top: auto !important;
+}
+
+.me-0 {
+ margin-right: 0 !important;
+}
+
+.me-1 {
+ margin-right: 0.25rem !important;
+}
+
+.me-2 {
+ margin-right: 0.5rem !important;
+}
+
+.me-3 {
+ margin-right: 1rem !important;
+}
+
+.me-4 {
+ margin-right: 1.5rem !important;
+}
+
+.me-5 {
+ margin-right: 3rem !important;
+}
+
+.me-auto {
+ margin-right: auto !important;
+}
+
+.mb-0 {
+ margin-bottom: 0 !important;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
+
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
+
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
+
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
+
+.mb-auto {
+ margin-bottom: auto !important;
+}
+
+.ms-0 {
+ margin-left: 0 !important;
+}
+
+.ms-1 {
+ margin-left: 0.25rem !important;
+}
+
+.ms-2 {
+ margin-left: 0.5rem !important;
+}
+
+.ms-3 {
+ margin-left: 1rem !important;
+}
+
+.ms-4 {
+ margin-left: 1.5rem !important;
+}
+
+.ms-5 {
+ margin-left: 3rem !important;
+}
+
+.ms-auto {
+ margin-left: auto !important;
+}
+
+.p-0 {
+ padding: 0 !important;
+}
+
+.p-1 {
+ padding: 0.25rem !important;
+}
+
+.p-2 {
+ padding: 0.5rem !important;
+}
+
+.p-3 {
+ padding: 1rem !important;
+}
+
+.p-4 {
+ padding: 1.5rem !important;
+}
+
+.p-5 {
+ padding: 3rem !important;
+}
+
+.px-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+
+.px-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
+
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+}
+
+.px-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+}
+
+.px-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+}
+
+.px-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+}
+
+.py-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+
+.py-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
+
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+}
+
+.py-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+}
+
+.py-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+}
+
+.py-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+}
+
+.pt-0 {
+ padding-top: 0 !important;
+}
+
+.pt-1 {
+ padding-top: 0.25rem !important;
+}
+
+.pt-2 {
+ padding-top: 0.5rem !important;
+}
+
+.pt-3 {
+ padding-top: 1rem !important;
+}
+
+.pt-4 {
+ padding-top: 1.5rem !important;
+}
+
+.pt-5 {
+ padding-top: 3rem !important;
+}
+
+.pe-0 {
+ padding-right: 0 !important;
+}
+
+.pe-1 {
+ padding-right: 0.25rem !important;
+}
+
+.pe-2 {
+ padding-right: 0.5rem !important;
+}
+
+.pe-3 {
+ padding-right: 1rem !important;
+}
+
+.pe-4 {
+ padding-right: 1.5rem !important;
+}
+
+.pe-5 {
+ padding-right: 3rem !important;
+}
+
+.pb-0 {
+ padding-bottom: 0 !important;
+}
+
+.pb-1 {
+ padding-bottom: 0.25rem !important;
+}
+
+.pb-2 {
+ padding-bottom: 0.5rem !important;
+}
+
+.pb-3 {
+ padding-bottom: 1rem !important;
+}
+
+.pb-4 {
+ padding-bottom: 1.5rem !important;
+}
+
+.pb-5 {
+ padding-bottom: 3rem !important;
+}
+
+.ps-0 {
+ padding-left: 0 !important;
+}
+
+.ps-1 {
+ padding-left: 0.25rem !important;
+}
+
+.ps-2 {
+ padding-left: 0.5rem !important;
+}
+
+.ps-3 {
+ padding-left: 1rem !important;
+}
+
+.ps-4 {
+ padding-left: 1.5rem !important;
+}
+
+.ps-5 {
+ padding-left: 3rem !important;
+}
+
+.gap-0 {
+ gap: 0 !important;
+}
+
+.gap-1 {
+ gap: 0.25rem !important;
+}
+
+.gap-2 {
+ gap: 0.5rem !important;
+}
+
+.gap-3 {
+ gap: 1rem !important;
+}
+
+.gap-4 {
+ gap: 1.5rem !important;
+}
+
+.gap-5 {
+ gap: 3rem !important;
+}
+
+.row-gap-0 {
+ row-gap: 0 !important;
+}
+
+.row-gap-1 {
+ row-gap: 0.25rem !important;
+}
+
+.row-gap-2 {
+ row-gap: 0.5rem !important;
+}
+
+.row-gap-3 {
+ row-gap: 1rem !important;
+}
+
+.row-gap-4 {
+ row-gap: 1.5rem !important;
+}
+
+.row-gap-5 {
+ row-gap: 3rem !important;
+}
+
+.column-gap-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+}
+
+.column-gap-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+}
+
+.column-gap-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+}
+
+.column-gap-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+}
+
+.column-gap-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+}
+
+.column-gap-5 {
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+}
+
+.font-monospace {
+ font-family: var(--bs-font-monospace) !important;
+}
+
+.fs-1 {
+ font-size: calc(1.375rem + 1.5vw) !important;
+}
+
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
+}
+
+.fs-3 {
+ font-size: calc(1.3rem + 0.6vw) !important;
+}
+
+.fs-4 {
+ font-size: calc(1.275rem + 0.3vw) !important;
+}
+
+.fs-5 {
+ font-size: 1.25rem !important;
+}
+
+.fs-6 {
+ font-size: 1rem !important;
+}
+
+.fst-italic {
+ font-style: italic !important;
+}
+
+.fst-normal {
+ font-style: normal !important;
+}
+
+.fw-lighter {
+ font-weight: lighter !important;
+}
+
+.fw-light {
+ font-weight: 300 !important;
+}
+
+.fw-normal {
+ font-weight: 400 !important;
+}
+
+.fw-medium {
+ font-weight: 500 !important;
+}
+
+.fw-semibold {
+ font-weight: 600 !important;
+}
+
+.fw-bold {
+ font-weight: 700 !important;
+}
+
+.fw-bolder {
+ font-weight: bolder !important;
+}
+
+.lh-1 {
+ line-height: 1 !important;
+}
+
+.lh-sm {
+ line-height: 1.25 !important;
+}
+
+.lh-base {
+ line-height: 1.5 !important;
+}
+
+.lh-lg {
+ line-height: 2 !important;
+}
+
+.text-start {
+ text-align: left !important;
+}
+
+.text-end {
+ text-align: right !important;
+}
+
+.text-center {
+ text-align: center !important;
+}
+
+.text-decoration-none {
+ text-decoration: none !important;
+}
+
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
+
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
+
+.text-lowercase {
+ text-transform: lowercase !important;
+}
+
+.text-uppercase {
+ text-transform: uppercase !important;
+}
+
+.text-capitalize {
+ text-transform: capitalize !important;
+}
+
+.text-wrap {
+ white-space: normal !important;
+}
+
+.text-nowrap {
+ white-space: nowrap !important;
+}
+
+/* rtl:begin:remove */
+.text-break {
+ word-wrap: break-word !important;
+ word-break: break-word !important;
+}
+
+/* rtl:end:remove */
+.text-primary {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-secondary {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-success {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-info {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-warning {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-danger {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-light {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-dark {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-black {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-white {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-body {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-muted {
+ --bs-text-opacity: 1;
+ color: var(--bs-secondary-color) !important;
+}
+
+.text-black-50 {
+ --bs-text-opacity: 1;
+ color: rgba(0, 0, 0, 0.5) !important;
+}
+
+.text-white-50 {
+ --bs-text-opacity: 1;
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.text-body-secondary {
+ --bs-text-opacity: 1;
+ color: var(--bs-secondary-color) !important;
+}
+
+.text-body-tertiary {
+ --bs-text-opacity: 1;
+ color: var(--bs-tertiary-color) !important;
+}
+
+.text-body-emphasis {
+ --bs-text-opacity: 1;
+ color: var(--bs-emphasis-color) !important;
+}
+
+.text-reset {
+ --bs-text-opacity: 1;
+ color: inherit !important;
+}
+
+.text-opacity-25 {
+ --bs-text-opacity: 0.25;
+}
+
+.text-opacity-50 {
+ --bs-text-opacity: 0.5;
+}
+
+.text-opacity-75 {
+ --bs-text-opacity: 0.75;
+}
+
+.text-opacity-100 {
+ --bs-text-opacity: 1;
+}
+
+.text-primary-emphasis {
+ color: var(--bs-primary-text-emphasis) !important;
+}
+
+.text-secondary-emphasis {
+ color: var(--bs-secondary-text-emphasis) !important;
+}
+
+.text-success-emphasis {
+ color: var(--bs-success-text-emphasis) !important;
+}
+
+.text-info-emphasis {
+ color: var(--bs-info-text-emphasis) !important;
+}
+
+.text-warning-emphasis {
+ color: var(--bs-warning-text-emphasis) !important;
+}
+
+.text-danger-emphasis {
+ color: var(--bs-danger-text-emphasis) !important;
+}
+
+.text-light-emphasis {
+ color: var(--bs-light-text-emphasis) !important;
+}
+
+.text-dark-emphasis {
+ color: var(--bs-dark-text-emphasis) !important;
+}
+
+.link-opacity-10 {
+ --bs-link-opacity: 0.1;
+}
+
+.link-opacity-10-hover:hover {
+ --bs-link-opacity: 0.1;
+}
+
+.link-opacity-25 {
+ --bs-link-opacity: 0.25;
+}
+
+.link-opacity-25-hover:hover {
+ --bs-link-opacity: 0.25;
+}
+
+.link-opacity-50 {
+ --bs-link-opacity: 0.5;
+}
+
+.link-opacity-50-hover:hover {
+ --bs-link-opacity: 0.5;
+}
+
+.link-opacity-75 {
+ --bs-link-opacity: 0.75;
+}
+
+.link-opacity-75-hover:hover {
+ --bs-link-opacity: 0.75;
+}
+
+.link-opacity-100 {
+ --bs-link-opacity: 1;
+}
+
+.link-opacity-100-hover:hover {
+ --bs-link-opacity: 1;
+}
+
+.link-offset-1 {
+ text-underline-offset: 0.125em !important;
+}
+
+.link-offset-1-hover:hover {
+ text-underline-offset: 0.125em !important;
+}
+
+.link-offset-2 {
+ text-underline-offset: 0.25em !important;
+}
+
+.link-offset-2-hover:hover {
+ text-underline-offset: 0.25em !important;
+}
+
+.link-offset-3 {
+ text-underline-offset: 0.375em !important;
+}
+
+.link-offset-3-hover:hover {
+ text-underline-offset: 0.375em !important;
+}
+
+.link-underline-primary {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-secondary {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-success {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-info {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-warning {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-danger {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-light {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline-dark {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
+}
+
+.link-underline {
+ --bs-link-underline-opacity: 1;
+ text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
+}
+
+.link-underline-opacity-0 {
+ --bs-link-underline-opacity: 0;
+}
+
+.link-underline-opacity-0-hover:hover {
+ --bs-link-underline-opacity: 0;
+}
+
+.link-underline-opacity-10 {
+ --bs-link-underline-opacity: 0.1;
+}
+
+.link-underline-opacity-10-hover:hover {
+ --bs-link-underline-opacity: 0.1;
+}
+
+.link-underline-opacity-25 {
+ --bs-link-underline-opacity: 0.25;
+}
+
+.link-underline-opacity-25-hover:hover {
+ --bs-link-underline-opacity: 0.25;
+}
+
+.link-underline-opacity-50 {
+ --bs-link-underline-opacity: 0.5;
+}
+
+.link-underline-opacity-50-hover:hover {
+ --bs-link-underline-opacity: 0.5;
+}
+
+.link-underline-opacity-75 {
+ --bs-link-underline-opacity: 0.75;
+}
+
+.link-underline-opacity-75-hover:hover {
+ --bs-link-underline-opacity: 0.75;
+}
+
+.link-underline-opacity-100 {
+ --bs-link-underline-opacity: 1;
+}
+
+.link-underline-opacity-100-hover:hover {
+ --bs-link-underline-opacity: 1;
+}
+
+.bg-primary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-secondary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-success {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-info {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-warning {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-danger {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-light {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-dark {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-black {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-white {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-body {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-transparent {
+ --bs-bg-opacity: 1;
+ background-color: transparent !important;
+}
+
+.bg-body-secondary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-body-tertiary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-opacity-10 {
+ --bs-bg-opacity: 0.1;
+}
+
+.bg-opacity-25 {
+ --bs-bg-opacity: 0.25;
+}
+
+.bg-opacity-50 {
+ --bs-bg-opacity: 0.5;
+}
+
+.bg-opacity-75 {
+ --bs-bg-opacity: 0.75;
+}
+
+.bg-opacity-100 {
+ --bs-bg-opacity: 1;
+}
+
+.bg-primary-subtle {
+ background-color: var(--bs-primary-bg-subtle) !important;
+}
+
+.bg-secondary-subtle {
+ background-color: var(--bs-secondary-bg-subtle) !important;
+}
+
+.bg-success-subtle {
+ background-color: var(--bs-success-bg-subtle) !important;
+}
+
+.bg-info-subtle {
+ background-color: var(--bs-info-bg-subtle) !important;
+}
+
+.bg-warning-subtle {
+ background-color: var(--bs-warning-bg-subtle) !important;
+}
+
+.bg-danger-subtle {
+ background-color: var(--bs-danger-bg-subtle) !important;
+}
+
+.bg-light-subtle {
+ background-color: var(--bs-light-bg-subtle) !important;
+}
+
+.bg-dark-subtle {
+ background-color: var(--bs-dark-bg-subtle) !important;
+}
+
+.bg-gradient {
+ background-image: var(--bs-gradient) !important;
+}
+
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ user-select: all !important;
+}
+
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ user-select: auto !important;
+}
+
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ 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 {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-sm-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-sm-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-sm-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-sm-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-sm-inline {
+ display: inline !important;
+ }
+ .d-sm-inline-block {
+ display: inline-block !important;
+ }
+ .d-sm-block {
+ display: block !important;
+ }
+ .d-sm-grid {
+ display: grid !important;
+ }
+ .d-sm-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-sm-table {
+ display: table !important;
+ }
+ .d-sm-table-row {
+ display: table-row !important;
+ }
+ .d-sm-table-cell {
+ display: table-cell !important;
+ }
+ .d-sm-flex {
+ display: flex !important;
+ }
+ .d-sm-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-sm-none {
+ display: none !important;
+ }
+ .flex-sm-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-sm-row {
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-sm-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-sm-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-sm-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-sm-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-sm-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-sm-start {
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ align-self: stretch !important;
+ }
+ .order-sm-first {
+ order: -1 !important;
+ }
+ .order-sm-0 {
+ order: 0 !important;
+ }
+ .order-sm-1 {
+ order: 1 !important;
+ }
+ .order-sm-2 {
+ order: 2 !important;
+ }
+ .order-sm-3 {
+ order: 3 !important;
+ }
+ .order-sm-4 {
+ order: 4 !important;
+ }
+ .order-sm-5 {
+ order: 5 !important;
+ }
+ .order-sm-last {
+ order: 6 !important;
+ }
+ .m-sm-0 {
+ margin: 0 !important;
+ }
+ .m-sm-1 {
+ margin: 0.25rem !important;
+ }
+ .m-sm-2 {
+ margin: 0.5rem !important;
+ }
+ .m-sm-3 {
+ margin: 1rem !important;
+ }
+ .m-sm-4 {
+ margin: 1.5rem !important;
+ }
+ .m-sm-5 {
+ margin: 3rem !important;
+ }
+ .m-sm-auto {
+ margin: auto !important;
+ }
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-sm-0 {
+ margin-top: 0 !important;
+ }
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-sm-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-sm-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-sm-auto {
+ margin-top: auto !important;
+ }
+ .me-sm-0 {
+ margin-right: 0 !important;
+ }
+ .me-sm-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-sm-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-sm-3 {
+ margin-right: 1rem !important;
+ }
+ .me-sm-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-sm-5 {
+ margin-right: 3rem !important;
+ }
+ .me-sm-auto {
+ margin-right: auto !important;
+ }
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-sm-0 {
+ margin-left: 0 !important;
+ }
+ .ms-sm-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-sm-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-sm-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-sm-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-sm-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-sm-auto {
+ margin-left: auto !important;
+ }
+ .p-sm-0 {
+ padding: 0 !important;
+ }
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-sm-0 {
+ padding-right: 0 !important;
+ }
+ .pe-sm-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-sm-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-sm-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-sm-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-sm-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-sm-0 {
+ padding-left: 0 !important;
+ }
+ .ps-sm-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-sm-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-sm-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-sm-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-sm-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-sm-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-sm-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-sm-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-sm-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-sm-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-sm-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-sm-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-sm-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-sm-5 {
+ -moz-column-gap: 3rem !important;
+ 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 {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-md-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-md-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-md-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-md-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-md-inline {
+ display: inline !important;
+ }
+ .d-md-inline-block {
+ display: inline-block !important;
+ }
+ .d-md-block {
+ display: block !important;
+ }
+ .d-md-grid {
+ display: grid !important;
+ }
+ .d-md-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-md-table {
+ display: table !important;
+ }
+ .d-md-table-row {
+ display: table-row !important;
+ }
+ .d-md-table-cell {
+ display: table-cell !important;
+ }
+ .d-md-flex {
+ display: flex !important;
+ }
+ .d-md-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-md-none {
+ display: none !important;
+ }
+ .flex-md-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-md-row {
+ flex-direction: row !important;
+ }
+ .flex-md-column {
+ flex-direction: column !important;
+ }
+ .flex-md-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-md-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-md-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-md-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-md-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-md-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-md-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-md-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-md-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-md-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-md-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-md-center {
+ justify-content: center !important;
+ }
+ .justify-content-md-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-md-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-md-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-md-start {
+ align-items: flex-start !important;
+ }
+ .align-items-md-end {
+ align-items: flex-end !important;
+ }
+ .align-items-md-center {
+ align-items: center !important;
+ }
+ .align-items-md-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-md-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-md-start {
+ align-content: flex-start !important;
+ }
+ .align-content-md-end {
+ align-content: flex-end !important;
+ }
+ .align-content-md-center {
+ align-content: center !important;
+ }
+ .align-content-md-between {
+ align-content: space-between !important;
+ }
+ .align-content-md-around {
+ align-content: space-around !important;
+ }
+ .align-content-md-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-md-auto {
+ align-self: auto !important;
+ }
+ .align-self-md-start {
+ align-self: flex-start !important;
+ }
+ .align-self-md-end {
+ align-self: flex-end !important;
+ }
+ .align-self-md-center {
+ align-self: center !important;
+ }
+ .align-self-md-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-md-stretch {
+ align-self: stretch !important;
+ }
+ .order-md-first {
+ order: -1 !important;
+ }
+ .order-md-0 {
+ order: 0 !important;
+ }
+ .order-md-1 {
+ order: 1 !important;
+ }
+ .order-md-2 {
+ order: 2 !important;
+ }
+ .order-md-3 {
+ order: 3 !important;
+ }
+ .order-md-4 {
+ order: 4 !important;
+ }
+ .order-md-5 {
+ order: 5 !important;
+ }
+ .order-md-last {
+ order: 6 !important;
+ }
+ .m-md-0 {
+ margin: 0 !important;
+ }
+ .m-md-1 {
+ margin: 0.25rem !important;
+ }
+ .m-md-2 {
+ margin: 0.5rem !important;
+ }
+ .m-md-3 {
+ margin: 1rem !important;
+ }
+ .m-md-4 {
+ margin: 1.5rem !important;
+ }
+ .m-md-5 {
+ margin: 3rem !important;
+ }
+ .m-md-auto {
+ margin: auto !important;
+ }
+ .mx-md-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-md-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-md-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-md-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-md-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-md-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-md-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-md-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-md-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-md-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-md-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-md-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-md-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-md-0 {
+ margin-top: 0 !important;
+ }
+ .mt-md-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-md-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-md-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-md-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-md-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-md-auto {
+ margin-top: auto !important;
+ }
+ .me-md-0 {
+ margin-right: 0 !important;
+ }
+ .me-md-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-md-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-md-3 {
+ margin-right: 1rem !important;
+ }
+ .me-md-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-md-5 {
+ margin-right: 3rem !important;
+ }
+ .me-md-auto {
+ margin-right: auto !important;
+ }
+ .mb-md-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-md-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-md-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-md-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-md-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-md-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-md-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-md-0 {
+ margin-left: 0 !important;
+ }
+ .ms-md-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-md-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-md-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-md-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-md-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-md-auto {
+ margin-left: auto !important;
+ }
+ .p-md-0 {
+ padding: 0 !important;
+ }
+ .p-md-1 {
+ padding: 0.25rem !important;
+ }
+ .p-md-2 {
+ padding: 0.5rem !important;
+ }
+ .p-md-3 {
+ padding: 1rem !important;
+ }
+ .p-md-4 {
+ padding: 1.5rem !important;
+ }
+ .p-md-5 {
+ padding: 3rem !important;
+ }
+ .px-md-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-md-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-md-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-md-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-md-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-md-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-md-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-md-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-md-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-md-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-md-0 {
+ padding-top: 0 !important;
+ }
+ .pt-md-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-md-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-md-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-md-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-md-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-md-0 {
+ padding-right: 0 !important;
+ }
+ .pe-md-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-md-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-md-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-md-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-md-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-md-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-md-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-md-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-md-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-md-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-md-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-md-0 {
+ padding-left: 0 !important;
+ }
+ .ps-md-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-md-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-md-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-md-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-md-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-md-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-md-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-md-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-md-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-md-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-md-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-md-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-md-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-md-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-md-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-md-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-md-5 {
+ -moz-column-gap: 3rem !important;
+ 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 {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-lg-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-lg-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-lg-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-lg-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-lg-inline {
+ display: inline !important;
+ }
+ .d-lg-inline-block {
+ display: inline-block !important;
+ }
+ .d-lg-block {
+ display: block !important;
+ }
+ .d-lg-grid {
+ display: grid !important;
+ }
+ .d-lg-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-lg-table {
+ display: table !important;
+ }
+ .d-lg-table-row {
+ display: table-row !important;
+ }
+ .d-lg-table-cell {
+ display: table-cell !important;
+ }
+ .d-lg-flex {
+ display: flex !important;
+ }
+ .d-lg-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-lg-none {
+ display: none !important;
+ }
+ .flex-lg-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-lg-row {
+ flex-direction: row !important;
+ }
+ .flex-lg-column {
+ flex-direction: column !important;
+ }
+ .flex-lg-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-lg-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-lg-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-lg-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-lg-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-lg-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-lg-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-lg-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-lg-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-lg-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-lg-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-lg-center {
+ justify-content: center !important;
+ }
+ .justify-content-lg-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-lg-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-lg-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-lg-start {
+ align-items: flex-start !important;
+ }
+ .align-items-lg-end {
+ align-items: flex-end !important;
+ }
+ .align-items-lg-center {
+ align-items: center !important;
+ }
+ .align-items-lg-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-lg-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-lg-start {
+ align-content: flex-start !important;
+ }
+ .align-content-lg-end {
+ align-content: flex-end !important;
+ }
+ .align-content-lg-center {
+ align-content: center !important;
+ }
+ .align-content-lg-between {
+ align-content: space-between !important;
+ }
+ .align-content-lg-around {
+ align-content: space-around !important;
+ }
+ .align-content-lg-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-lg-auto {
+ align-self: auto !important;
+ }
+ .align-self-lg-start {
+ align-self: flex-start !important;
+ }
+ .align-self-lg-end {
+ align-self: flex-end !important;
+ }
+ .align-self-lg-center {
+ align-self: center !important;
+ }
+ .align-self-lg-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-lg-stretch {
+ align-self: stretch !important;
+ }
+ .order-lg-first {
+ order: -1 !important;
+ }
+ .order-lg-0 {
+ order: 0 !important;
+ }
+ .order-lg-1 {
+ order: 1 !important;
+ }
+ .order-lg-2 {
+ order: 2 !important;
+ }
+ .order-lg-3 {
+ order: 3 !important;
+ }
+ .order-lg-4 {
+ order: 4 !important;
+ }
+ .order-lg-5 {
+ order: 5 !important;
+ }
+ .order-lg-last {
+ order: 6 !important;
+ }
+ .m-lg-0 {
+ margin: 0 !important;
+ }
+ .m-lg-1 {
+ margin: 0.25rem !important;
+ }
+ .m-lg-2 {
+ margin: 0.5rem !important;
+ }
+ .m-lg-3 {
+ margin: 1rem !important;
+ }
+ .m-lg-4 {
+ margin: 1.5rem !important;
+ }
+ .m-lg-5 {
+ margin: 3rem !important;
+ }
+ .m-lg-auto {
+ margin: auto !important;
+ }
+ .mx-lg-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-lg-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-lg-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-lg-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-lg-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-lg-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-lg-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-lg-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-lg-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-lg-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-lg-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-lg-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-lg-0 {
+ margin-top: 0 !important;
+ }
+ .mt-lg-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-lg-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-lg-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-lg-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-lg-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-lg-auto {
+ margin-top: auto !important;
+ }
+ .me-lg-0 {
+ margin-right: 0 !important;
+ }
+ .me-lg-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-lg-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-lg-3 {
+ margin-right: 1rem !important;
+ }
+ .me-lg-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-lg-5 {
+ margin-right: 3rem !important;
+ }
+ .me-lg-auto {
+ margin-right: auto !important;
+ }
+ .mb-lg-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-lg-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-lg-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-lg-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-lg-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-lg-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-lg-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-lg-0 {
+ margin-left: 0 !important;
+ }
+ .ms-lg-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-lg-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-lg-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-lg-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-lg-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-lg-auto {
+ margin-left: auto !important;
+ }
+ .p-lg-0 {
+ padding: 0 !important;
+ }
+ .p-lg-1 {
+ padding: 0.25rem !important;
+ }
+ .p-lg-2 {
+ padding: 0.5rem !important;
+ }
+ .p-lg-3 {
+ padding: 1rem !important;
+ }
+ .p-lg-4 {
+ padding: 1.5rem !important;
+ }
+ .p-lg-5 {
+ padding: 3rem !important;
+ }
+ .px-lg-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-lg-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-lg-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-lg-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-lg-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-lg-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-lg-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-lg-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-lg-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-lg-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-lg-0 {
+ padding-top: 0 !important;
+ }
+ .pt-lg-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-lg-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-lg-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-lg-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-lg-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-lg-0 {
+ padding-right: 0 !important;
+ }
+ .pe-lg-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-lg-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-lg-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-lg-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-lg-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-lg-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-lg-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-lg-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-lg-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-lg-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-lg-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-lg-0 {
+ padding-left: 0 !important;
+ }
+ .ps-lg-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-lg-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-lg-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-lg-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-lg-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-lg-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-lg-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-lg-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-lg-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-lg-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-lg-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-lg-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-lg-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-lg-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-lg-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-lg-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-lg-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-lg-5 {
+ -moz-column-gap: 3rem !important;
+ 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 {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-xl-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-xl-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-xl-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-xl-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-xl-inline {
+ display: inline !important;
+ }
+ .d-xl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xl-block {
+ display: block !important;
+ }
+ .d-xl-grid {
+ display: grid !important;
+ }
+ .d-xl-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-xl-table {
+ display: table !important;
+ }
+ .d-xl-table-row {
+ display: table-row !important;
+ }
+ .d-xl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xl-flex {
+ display: flex !important;
+ }
+ .d-xl-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-xl-none {
+ display: none !important;
+ }
+ .flex-xl-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-xl-row {
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-xl-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-xl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-xl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-xl-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-xl-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-xl-start {
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ align-self: stretch !important;
+ }
+ .order-xl-first {
+ order: -1 !important;
+ }
+ .order-xl-0 {
+ order: 0 !important;
+ }
+ .order-xl-1 {
+ order: 1 !important;
+ }
+ .order-xl-2 {
+ order: 2 !important;
+ }
+ .order-xl-3 {
+ order: 3 !important;
+ }
+ .order-xl-4 {
+ order: 4 !important;
+ }
+ .order-xl-5 {
+ order: 5 !important;
+ }
+ .order-xl-last {
+ order: 6 !important;
+ }
+ .m-xl-0 {
+ margin: 0 !important;
+ }
+ .m-xl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xl-3 {
+ margin: 1rem !important;
+ }
+ .m-xl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xl-5 {
+ margin: 3rem !important;
+ }
+ .m-xl-auto {
+ margin: auto !important;
+ }
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xl-auto {
+ margin-top: auto !important;
+ }
+ .me-xl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xl-auto {
+ margin-left: auto !important;
+ }
+ .p-xl-0 {
+ padding: 0 !important;
+ }
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xl-3 {
+ padding: 1rem !important;
+ }
+ .p-xl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xl-5 {
+ padding: 3rem !important;
+ }
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-xl-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-xl-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-xl-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-xl-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-xl-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-xl-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-xl-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-xl-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-xl-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-xl-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-xl-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-xl-5 {
+ -moz-column-gap: 3rem !important;
+ 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 {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-xxl-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-xxl-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-xxl-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-xxl-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-xxl-inline {
+ display: inline !important;
+ }
+ .d-xxl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xxl-block {
+ display: block !important;
+ }
+ .d-xxl-grid {
+ display: grid !important;
+ }
+ .d-xxl-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-xxl-table {
+ display: table !important;
+ }
+ .d-xxl-table-row {
+ display: table-row !important;
+ }
+ .d-xxl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xxl-flex {
+ display: flex !important;
+ }
+ .d-xxl-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-xxl-none {
+ display: none !important;
+ }
+ .flex-xxl-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-xxl-row {
+ flex-direction: row !important;
+ }
+ .flex-xxl-column {
+ flex-direction: column !important;
+ }
+ .flex-xxl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-xxl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-xxl-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-xxl-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-xxl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-xxl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-xxl-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-xxl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-xxl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xxl-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-xxl-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-xxl-center {
+ justify-content: center !important;
+ }
+ .justify-content-xxl-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-xxl-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-xxl-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-xxl-start {
+ align-items: flex-start !important;
+ }
+ .align-items-xxl-end {
+ align-items: flex-end !important;
+ }
+ .align-items-xxl-center {
+ align-items: center !important;
+ }
+ .align-items-xxl-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-xxl-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-xxl-start {
+ align-content: flex-start !important;
+ }
+ .align-content-xxl-end {
+ align-content: flex-end !important;
+ }
+ .align-content-xxl-center {
+ align-content: center !important;
+ }
+ .align-content-xxl-between {
+ align-content: space-between !important;
+ }
+ .align-content-xxl-around {
+ align-content: space-around !important;
+ }
+ .align-content-xxl-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-xxl-auto {
+ align-self: auto !important;
+ }
+ .align-self-xxl-start {
+ align-self: flex-start !important;
+ }
+ .align-self-xxl-end {
+ align-self: flex-end !important;
+ }
+ .align-self-xxl-center {
+ align-self: center !important;
+ }
+ .align-self-xxl-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-xxl-stretch {
+ align-self: stretch !important;
+ }
+ .order-xxl-first {
+ order: -1 !important;
+ }
+ .order-xxl-0 {
+ order: 0 !important;
+ }
+ .order-xxl-1 {
+ order: 1 !important;
+ }
+ .order-xxl-2 {
+ order: 2 !important;
+ }
+ .order-xxl-3 {
+ order: 3 !important;
+ }
+ .order-xxl-4 {
+ order: 4 !important;
+ }
+ .order-xxl-5 {
+ order: 5 !important;
+ }
+ .order-xxl-last {
+ order: 6 !important;
+ }
+ .m-xxl-0 {
+ margin: 0 !important;
+ }
+ .m-xxl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xxl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xxl-3 {
+ margin: 1rem !important;
+ }
+ .m-xxl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xxl-5 {
+ margin: 3rem !important;
+ }
+ .m-xxl-auto {
+ margin: auto !important;
+ }
+ .mx-xxl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xxl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xxl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xxl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xxl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xxl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xxl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xxl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xxl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xxl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xxl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xxl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xxl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xxl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xxl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xxl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xxl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xxl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xxl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xxl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xxl-auto {
+ margin-top: auto !important;
+ }
+ .me-xxl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xxl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xxl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xxl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xxl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xxl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xxl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xxl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xxl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xxl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xxl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xxl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xxl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xxl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xxl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xxl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xxl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xxl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xxl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xxl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xxl-auto {
+ margin-left: auto !important;
+ }
+ .p-xxl-0 {
+ padding: 0 !important;
+ }
+ .p-xxl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xxl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xxl-3 {
+ padding: 1rem !important;
+ }
+ .p-xxl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xxl-5 {
+ padding: 3rem !important;
+ }
+ .px-xxl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xxl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xxl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xxl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xxl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xxl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xxl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xxl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xxl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xxl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xxl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xxl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xxl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xxl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xxl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xxl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xxl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xxl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xxl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xxl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xxl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xxl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xxl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xxl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xxl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xxl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xxl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xxl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xxl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xxl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xxl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xxl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xxl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xxl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xxl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xxl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xxl-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-xxl-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-xxl-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-xxl-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-xxl-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-xxl-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-xxl-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-xxl-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-xxl-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-xxl-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-xxl-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-xxl-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-xxl-5 {
+ -moz-column-gap: 3rem !important;
+ 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;
+ }
+}
+.ud-main-btn {
+ background-color: var(--primary-color);
+}
+
+/*cards target audience*/
+.card-title {
+ color: var(--text-gray);
+}
+
+.main-cards {
+ background-color: var(--white);
+ padding: 32px 40px 48px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ height: 100%;
+ max-width: 496px;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
+}
+.main-cards h5, .main-cards .h5 {
+ font-size: 1.75rem;
+ font-weight: 600;
+ color: var(--text-gray);
+}
+.main-cards p {
+ font-size: 1rem;
+ color: var(--text-muted);
+}
+
+.card-header-section {
+ min-height: 100px;
+ display: flex;
+ align-items: start;
+ justify-content: center;
+ margin-bottom: 42px;
+}
+@media only screen and (min-width: 1200px) and (max-width: 1399px) {
+ .card-header-section {
+ min-height: 136px;
+ margin-bottom: 28px;
+ }
+}
+
+.card-icon-section {
+ height: 256px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 60px;
+ aspect-ratio: 1/1;
+ border-radius: 50%;
+ background-color: var(--accent-color);
+}
+@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (max-width: 575px) {
+ .card-icon-section {
+ height: 224px;
+ margin-bottom: 32px;
+ }
+ .card-icon-section img {
+ transform: scale(0.875);
+ }
+}
+
+.card-description-section {
+ flex-grow: 1;
+ display: flex;
+ align-items: flex-start;
+ margin-bottom: 24px;
+}
+@media only screen and (min-width: 1200px) and (max-width: 1399px) {
+ .card-description-section {
+ margin-bottom: 0;
+ }
+}
+
+.card-button-section {
+ padding-top: 20px;
+ width: 100%;
+}
+.card-button-section .ud-hero-buttons li {
+ width: 100%;
+}
+.card-button-section .ud-hero-buttons li .ud-main-btn {
+ min-height: 56px;
+ text-wrap-mode: wrap;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 0 16px;
+}
+
+/*end cards target audience*/
+/*===========================
+ COMMON css
+===========================*/
+:root {
+ --font: "Inter", sans-serif;
+ --primary-color: #184c4e;
+ --primary-dark: #13c296;
+ --secondary-color: #00a3be;
+ --accent-color: #d97706;
+ --color-dark: #263238;
+ --heading-color: #212b36;
+ --body-color: #000000;
+ --white: #ffffff;
+ --text-light: #f5f5f5;
+ --text-gray: #2d3748;
+ --text-muted: #4a5568;
+ --text-light-gray: #969696;
+ --text-footer: #f3f4fe;
+ --bg-light: #f7fafc;
+ --bg-hover: rgba(0, 219, 255, 0.1);
+ --border-light: #d4deff;
+ --border-footer: rgba(136, 144, 164, 0.43);
+ --border-input: #f1f1f1;
+ --focus-color: #00dbff;
+ --success-color: #2ecc71;
+ --warning-color: #ffc107;
+ --star-color: #fbb040;
+ --error-color: #ff7d7d;
+ --color-gray: #afb2b5;
+ --color-light-muted: #cdced6;
+ --shadow-light: #ebeffd;
+}
+
+body {
+ font-family: var(--font);
+ font-weight: normal;
+ font-style: normal;
+ color: var(--body-color);
+ overflow-x: hidden;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+img {
+ max-width: 100%;
+}
+
+a,
+button,
+input,
+textarea {
+ transition: all 0.3s ease-out 0s;
+}
+
+a,
+a:focus,
+input:focus,
+textarea:focus,
+button:focus,
+.navbar-toggler:focus {
+ text-decoration: none;
+ outline: none;
+ box-shadow: none;
+}
+
+a:focus,
+a:hover {
+ text-decoration: none;
+}
+
+i,
+span,
+a {
+ display: inline-block;
+ color: inherit;
+ text-decoration: inherit;
+}
+
+audio,
+canvas,
+iframe,
+img,
+svg,
+video {
+ vertical-align: middle;
+}
+
+h1, .h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+ font-weight: 700;
+ margin: 0px;
+}
+
+h1, .h1 {
+ font-size: 48px;
+}
+
+h2, .h2 {
+ font-size: 36px;
+}
+
+h3, .h3 {
+ font-size: 28px;
+}
+
+h4, .h4 {
+ font-size: 22px;
+}
+
+h5, .h5 {
+ font-size: 18px;
+}
+
+h6, .h6 {
+ font-size: 16px;
+}
+
+ul,
+ol {
+ margin: 0px;
+ padding: 0px;
+ list-style-type: none;
+}
+
+p {
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 26px;
+ color: var(--body-color);
+}
+
+.bg_cover {
+ background-position: center center;
+ background-size: cover;
+ background-repeat: no-repeat;
+ width: 100%;
+ height: 100%;
+}
+
+/*===== Accessibility =====*/
+.visually-hidden {
+ 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;
+}
+
+.visually-hidden:not(caption) {
+ clip-path: inset(50%) !important;
+}
+
+/*===== All Button Style =====*/
+.ud-main-btn {
+ display: inline-block;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ font-weight: 500;
+ font-size: 16px;
+ border-radius: 5px;
+ padding: 15px 25px;
+ border: 1px solid transparent;
+ color: var(--white);
+ cursor: pointer;
+ z-index: 5;
+ transition: all 0.4s ease-out 0s;
+ background: var(--primary-color);
+}
+.ud-main-btn:hover {
+ color: var(--white);
+ background: var(--heading-color);
+}
+
+@media only screen and (max-width: 575px) {
+ .container {
+ padding-left: 40px;
+ padding-right: 40px;
+ }
+}
+@media only screen and (min-width: 576px) and (max-width: 767px) {
+ .container {
+ padding-left: 20px;
+ padding-right: 20px;
+ }
+}
+
+.back-to-top {
+ width: 40px;
+ height: 40px;
+ line-height: 40px;
+ background: var(--primary-color);
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
+ text-align: center;
+ justify-content: center;
+ align-items: center;
+ border-radius: 5px;
+ position: fixed;
+ right: 30px;
+ bottom: 160px;
+ z-index: 99;
+ color: var(--white);
+ opacity: 0;
+ visibility: hidden;
+ transform: translateY(20px);
+ transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, transform 0.3s ease-in-out, background 0.3s ease;
+}
+.back-to-top.visible {
+ opacity: 1;
+ visibility: visible;
+ transform: translateY(0);
+}
+.back-to-top:hover {
+ color: var(--white);
+ background: var(--heading-color);
+ transform: translateY(-2px);
+}
+.back-to-top:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+}
+.back-to-top:focus:not(:focus-visible) {
+ outline: none;
+}
+.back-to-top:focus-visible {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+}
+@media (max-width: 576px) {
+ .back-to-top {
+ right: 10px;
+ bottom: 100px;
+ width: 36px;
+ height: 36px;
+ line-height: 36px;
+ }
+}
+
+/* ===== Header CSS ===== */
+.skip-to-content {
+ position: absolute;
+ left: -9999px;
+ top: 0;
+ z-index: 999;
+ padding: 12px 24px;
+ background-color: var(--secondary-color);
+ color: var(--color-dark);
+ font-weight: 600;
+ text-decoration: none;
+ border-radius: 0 0 8px 0;
+}
+.skip-to-content:focus {
+ left: 0;
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+}
+
+.ud-header {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ z-index: 99;
+ transition: all 0.3s ease-out 0s;
+ background-color: var(--color-dark);
+}
+
+.navbar {
+ padding: 32px 0;
+}
+
+.navbar-brand {
+ padding: 0;
+}
+.navbar-brand:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+ border-radius: 4px;
+}
+.navbar-brand img {
+ max-height: 54px;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ .navbar-brand img {
+ max-height: 40px;
+ }
+}
+
+.navbar-nav {
+ display: flex;
+ gap: 24px;
+ align-items: center;
+}
+@media only screen and (min-width: 1200px) and (max-width: 1399px) {
+ .navbar-nav {
+ gap: 16px;
+ }
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ .navbar-nav {
+ gap: 12px;
+ }
+}
+@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), only screen and (max-width: 575px) {
+ .navbar-nav {
+ gap: 4px;
+ align-items: start;
+ }
+}
+.navbar-nav .nav-item {
+ position: relative;
+}
+.navbar-nav .nav-item > a {
+ font-size: 18px;
+ font-weight: 400;
+ color: var(--white);
+ transition: all 0.3s ease-out 0s;
+ padding: 12px 0;
+ position: relative;
+}
+.navbar-nav .nav-item > a:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+ border-radius: 4px;
+}
+.navbar-nav .nav-item > a:hover:not(.link-button), .navbar-nav .nav-item > a.active:not(.link-button) {
+ color: var(--white);
+ opacity: 0.5;
+}
+.navbar-nav .nav-item:hover > a:not(.link-button) {
+ color: var(--white);
+ opacity: 0.5;
+}
+.navbar-nav .nav-item.nav-item-has-children > a {
+ position: relative;
+ padding-right: 20px;
+}
+.navbar-nav .nav-item.nav-item-has-children > a::after {
+ content: "";
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-top: 7px solid white;
+ top: 50%;
+ right: 0;
+ transform: translateY(-50%);
+}
+.navbar-nav .nav-item .link-button {
+ background-color: var(--secondary-color);
+ color: var(--color-dark);
+ height: 44px;
+ border-radius: 32px;
+ font-weight: 600;
+ padding: 0 24px;
+ position: relative;
+ display: flex;
+ align-items: center;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 576px) and (max-width: 767px), only screen and (max-width: 575px) {
+ .navbar-nav .nav-item .link-button {
+ padding: 0 16px;
+ }
+}
+.navbar-nav .nav-item .link-button:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+}
+.navbar-nav .nav-item .link-button:hover {
+ color: var(--color-dark);
+ filter: brightness(1.25);
+}
+.navbar-nav .nav-item .link-button::after {
+ content: "";
+ position: absolute;
+ inset: 4px;
+ border: 1px solid var(--focus-color);
+ border-radius: 20px;
+}
+
+#customer-area-link {
+ margin-left: 24px;
+}
+@media only screen and (min-width: 1200px) and (max-width: 1399px) {
+ #customer-area-link {
+ margin-left: 12px;
+ }
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ #customer-area-link {
+ margin-left: 8px;
+ }
+}
+@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), only screen and (max-width: 575px) {
+ #customer-area-link {
+ margin-left: auto;
+ margin-right: auto;
+ }
+}
+#customer-area-link .button-icon {
+ display: none;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ #customer-area-link .button-text {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border-width: 0;
+ }
+ #customer-area-link .button-icon {
+ display: inline;
+ }
+}
+
+.navbar-collapse {
+ flex-grow: 0;
+}
+@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), only screen and (max-width: 575px) {
+ .navbar-collapse {
+ position: fixed;
+ top: 118px;
+ left: 0;
+ width: 100vw;
+ background-color: var(--color-dark);
+ z-index: 9;
+ box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.1);
+ padding: 0 8px 16px;
+ display: none;
+ color: var(--color-dark);
+ }
+ .navbar-collapse.show {
+ display: block;
+ }
+}
+
+.navbar-toggler {
+ padding: 0;
+ border: none;
+ background: transparent;
+}
+.navbar-toggler:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+ border-radius: 4px;
+}
+.navbar-toggler .toggler-icon {
+ width: 30px;
+ height: 2px;
+ background-color: var(--white);
+ display: block;
+ margin: 5px 0;
+ position: relative;
+ transition: all 0.3s ease-out 0s;
+}
+.navbar-toggler.active .toggler-icon:nth-of-type(1) {
+ transform: rotate(45deg);
+ top: 7px;
+}
+.navbar-toggler.active .toggler-icon:nth-of-type(2) {
+ opacity: 0;
+}
+.navbar-toggler.active .toggler-icon:nth-of-type(3) {
+ transform: rotate(135deg);
+ top: -7px;
+}
+
+.selector {
+ position: relative;
+ padding: 12px 0;
+ cursor: pointer;
+}
+.selector:hover > .ud-submenu {
+ opacity: 1;
+ visibility: visible;
+ top: 100%;
+}
+.selector button {
+ background: none;
+ border: none;
+ color: white;
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ padding-right: 16px;
+ cursor: pointer;
+}
+.selector button:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+ border-radius: 4px;
+}
+.selector button img {
+ width: 24px;
+ aspect-ratio: 1/1;
+ border-radius: 50%;
+}
+.selector button::after {
+ content: "";
+ width: 0;
+ height: 0;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-top: 7px solid white;
+ margin-top: 2px;
+}
+.selector .ud-submenu {
+ z-index: 100;
+ position: absolute;
+ width: 128px;
+ background: var(--white);
+ top: 100%;
+ margin-top: 16px;
+ padding: 8px 16px;
+ box-shadow: 0 15px 44px rgba(140, 140, 140, 0.18);
+ border-radius: 8px;
+ opacity: 0;
+ visibility: hidden;
+ left: 50%;
+ transform: translateX(-50%);
+ transition: all 0.3s ease-out 0s;
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+}
+.selector .ud-submenu::before {
+ content: "";
+ position: absolute;
+ top: -8px;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 0;
+ height: 0;
+ border-left: 16px solid transparent;
+ border-right: 16px solid transparent;
+ border-bottom: 8px solid var(--secondary-color);
+}
+.selector .ud-submenu::after {
+ content: "";
+ position: absolute;
+ top: -16px;
+ left: 0;
+ right: 0;
+ height: 16px;
+}
+.selector .ud-submenu.show {
+ opacity: 1;
+ visibility: visible;
+ top: 100%;
+}
+.selector .ud-submenu .ud-submenu-link {
+ color: var(--heading-color);
+ display: flex;
+ align-items: center;
+ gap: 8px;
+}
+.selector .ud-submenu .ud-submenu-link:focus {
+ outline: 2px solid var(--secondary-color);
+ outline-offset: 2px;
+ border-radius: 4px;
+}
+.selector .ud-submenu .ud-submenu-link img {
+ width: 24px;
+ aspect-ratio: 1/1;
+ border-radius: 50%;
+}
+.selector .ud-submenu .ud-submenu-link span {
+ text-transform: uppercase;
+}
+.selector .ud-submenu .ud-submenu-link:hover {
+ color: var(--primary-color);
+}
+
+/* ===== Hero CSS ===== */
+.ud-hero {
+ background: var(--primary-color);
+ padding-top: 150px;
+ padding-bottom: 150px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-hero {
+ padding-top: 120px;
+ padding-bottom: 80px;
+ }
+}
+
+.ud-hero-content {
+ max-width: 636px;
+}
+@media only screen and (max-width: 575px), only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-hero-content {
+ margin-bottom: 40px;
+ }
+}
+.ud-hero-content .ud-hero-title {
+ color: var(--text-light);
+ font-weight: bold;
+ font-size: 64px;
+ margin-bottom: 30px;
+}
+@media only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-hero-content .ud-hero-title {
+ font-size: 48px;
+ }
+}
+@media only screen and (max-width: 575px) {
+ .ud-hero-content .ud-hero-title {
+ font-size: 36px;
+ }
+}
+.ud-hero-content .ud-hero-desc {
+ font-weight: medium;
+ font-size: 22px;
+ color: var(--text-light);
+ max-width: 636px;
+ margin-bottom: 72px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-hero-content .ud-hero-desc {
+ font-size: 18px;
+ }
+}
+
+.clients {
+ margin-top: 84px;
+ margin-bottom: 36px;
+}
+@media only screen and (max-width: 575px) {
+ .clients {
+ margin-top: 60px;
+ }
+}
+.clients .headline p {
+ font-weight: bold;
+ font-size: 48px;
+ text-align: center;
+ color: var(--text-gray);
+ line-height: normal;
+}
+@media only screen and (max-width: 575px) {
+ .clients .headline p {
+ font-size: 36px;
+ }
+}
+.clients .secondary p {
+ font-size: 48px;
+ text-align: center;
+ color: var(--text-gray);
+ line-height: normal;
+ margin-top: 72px;
+}
+@media only screen and (max-width: 575px) {
+ .clients .secondary p {
+ font-size: 36px;
+ margin-top: 32px;
+ }
+}
+@media only screen and (min-width: 576px) and (max-width: 767px) {
+ .clients .secondary p {
+ margin-top: 36px;
+ }
+}
+.clients .logos {
+ margin-top: 72px;
+}
+@media only screen and (max-width: 575px), only screen and (min-width: 576px) and (max-width: 767px) {
+ .clients .logos {
+ margin-top: 0;
+ }
+}
+.clients .logos div {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.ud-hero-buttons .ud-main-btn {
+ background-color: var(--accent-color);
+ padding: 12px 16px;
+ border-radius: 32px;
+ font-size: 18px;
+ font-weight: bold;
+}
+.ud-hero-buttons .ud-main-btn:hover {
+ filter: brightness(1.25);
+}
+.ud-hero-buttons .ud-secondary-btn {
+ background: transparent;
+ border: 1px solid var(--white);
+ padding: 12px 16px;
+ border-radius: 32px;
+ font-size: 18px;
+ color: var(--white);
+ font-weight: bold;
+}
+.ud-hero-buttons .ud-secondary-btn:hover {
+ background: var(--white);
+ color: var(--primary-color);
+}
+.ud-hero-buttons .ud-link-btn:hover {
+ color: var(--white);
+ background: transparent;
+ opacity: 0.5;
+}
+
+.ud-hero-brands-wrapper {
+ text-align: center;
+ margin-bottom: 40px;
+}
+.ud-hero-brands-wrapper img {
+ transition: all 0.3s;
+ opacity: 0.5;
+ max-width: 250px;
+}
+.ud-hero-brands-wrapper img:hover {
+ opacity: 1;
+}
+
+.ud-hero-image {
+ max-width: 845px;
+ margin: auto;
+ text-align: center;
+ position: relative;
+ z-index: 1;
+}
+.ud-hero-image img {
+ max-width: 100%;
+ text-align: center;
+ border-radius: 10px;
+}
+@media only screen and (max-width: 575px), only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-hero-image {
+ margin-top: 40px;
+ }
+}
+.ud-hero-image .shape {
+ position: absolute;
+ z-index: -1;
+}
+.ud-hero-image .shape.shape-1 {
+ bottom: 0;
+ left: -30px;
+}
+.ud-hero-image .shape.shape-2 {
+ top: -20px;
+ right: -20px;
+}
+
+/* ===== Features CSS ===== */
+.ud-features {
+ background: var(--bg-white);
+ padding-top: 88px;
+ padding-bottom: 64px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-features .ud-main-btn {
+ font-size: 1rem;
+ }
+}
+
+.ud-section-title {
+ margin-bottom: 44px;
+}
+.ud-section-title span {
+ font-weight: 600;
+ font-size: 18px;
+ color: var(--primary-color);
+ margin-bottom: 10px;
+}
+.ud-section-title h2, .ud-section-title .h2 {
+ font-weight: 700;
+ font-size: 42px;
+ line-height: 55px;
+ color: var(--heading-color);
+ margin-bottom: 20px;
+}
+.ud-section-title p {
+ font-size: 20px;
+ line-height: 30px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-section-title p {
+ font-size: 16px;
+ line-height: 26px;
+ }
+}
+
+.card-subtitle {
+ font-size: 1rem;
+ color: var(--text-muted);
+ text-align: center;
+ margin-bottom: 44px;
+}
+
+.ud-single-feature {
+ margin-bottom: 40px;
+}
+.ud-single-feature:hover .ud-feature-icon::before {
+ transform: rotate(45deg);
+}
+.ud-single-feature .ud-feature-icon {
+ width: 70px;
+ height: 70px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 14px;
+ background: var(--primary-color);
+ font-size: 32px;
+ color: var(--white);
+ position: relative;
+ z-index: 1;
+ text-align: center;
+ margin-bottom: 40px;
+}
+.ud-single-feature .ud-feature-icon::before {
+ content: "";
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ border-radius: 14px;
+ background: var(--primary-color);
+ opacity: 0.2;
+ z-index: -1;
+ transform: rotate(23deg);
+ transition: all 0.3s ease-out 0s;
+}
+.ud-single-feature .ud-feature-title {
+ font-weight: 700;
+ font-size: 20px;
+ line-height: 28px;
+ margin-bottom: 12px;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ .ud-single-feature .ud-feature-title {
+ font-size: 18px;
+ line-height: 26px;
+ }
+}
+.ud-single-feature .ud-feature-desc {
+ font-size: 16px;
+ line-height: 24px;
+ margin-bottom: 40px;
+}
+.ud-single-feature .ud-feature-link {
+ font-weight: 500;
+ color: var(--body-color);
+}
+.ud-single-feature .ud-feature-link:hover {
+ color: var(--primary-color);
+}
+
+/* ===== About CSS ===== */
+.ud-about {
+ background: var(--bg-light);
+ padding-top: 88px;
+ padding-bottom: 64px;
+}
+
+.ud-about-wrapper {
+ background: var(--white);
+ border: 1px solid rgba(0, 0, 0, 0.08);
+ display: flex;
+ justify-content: space-between;
+}
+@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (max-width: 575px) {
+ .ud-about-wrapper {
+ display: block;
+ }
+}
+
+.ud-about-content-wrapper {
+ padding: 70px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-about-content-wrapper {
+ padding: 50px 30px;
+ }
+}
+@media only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-about-content-wrapper {
+ padding: 50px;
+ }
+}
+
+.ud-about-content {
+ max-width: 500px;
+}
+.ud-about-content .tag {
+ font-weight: 500;
+ font-size: 14px;
+ color: var(--white);
+ background: var(--primary-color);
+ padding: 5px 20px;
+ display: inline-block;
+ margin-bottom: 20px;
+}
+.ud-about-content h2, .ud-about-content .h2 {
+ font-weight: bold;
+ font-size: 36px;
+ line-height: 45px;
+ margin-bottom: 30px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-about-content h2, .ud-about-content .h2 {
+ font-size: 26px;
+ line-height: 38px;
+ }
+}
+.ud-about-content p {
+ font-size: 16px;
+ line-height: 28px;
+ margin-bottom: 40px;
+}
+.ud-about-content .ud-main-btn:hover {
+ background: #15967b;
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
+}
+
+@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (max-width: 575px) {
+ .ud-about-image {
+ text-align: center;
+ }
+}
+
+/* ===== Pricing CSS ===== */
+.ud-pricing {
+ padding-top: 120px;
+ padding-bottom: 90px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-pricing {
+ padding-top: 80px;
+ padding-bottom: 40px;
+ }
+}
+
+.ud-single-pricing {
+ margin-bottom: 40px;
+ background: var(--white);
+ border: 2px solid var(--border-light);
+ border-radius: 8px;
+ text-align: center;
+ padding: 45px 30px;
+ position: relative;
+}
+.ud-single-pricing.active {
+ background: linear-gradient(180deg, var(--primary-color) 0%, var(--primary-dark) 100%);
+ border: none;
+ padding: 55px 30px;
+}
+.ud-single-pricing.active .ud-pricing-header h3, .ud-single-pricing.active .ud-pricing-header .h3,
+.ud-single-pricing.active .ud-pricing-header h4,
+.ud-single-pricing.active .ud-pricing-header .h4 {
+ color: var(--white);
+}
+.ud-single-pricing.active .ud-pricing-body li {
+ color: var(--white);
+}
+.ud-single-pricing.first-item::after, .ud-single-pricing.last-item::after {
+ content: "";
+ position: absolute;
+ width: 55px;
+ height: 55px;
+ z-index: 1;
+}
+.ud-single-pricing.first-item::after {
+ background: var(--primary-color);
+ left: -2px;
+ bottom: -2px;
+ border-radius: 0px 55px 0px 8px;
+}
+.ud-single-pricing.last-item::after {
+ background: var(--primary-dark);
+ top: -2px;
+ right: -2px;
+ border-radius: 0px 8px 0px 55px;
+}
+.ud-single-pricing .ud-main-tag {
+ display: inline-block;
+ padding: 10px 25px;
+ color: var(--primary-color) !important;
+ background: var(--white);
+ border-radius: 30px;
+ margin-bottom: 20px;
+ font-weight: 600;
+}
+.ud-single-pricing .ud-pricing-header h3, .ud-single-pricing .ud-pricing-header .h3 {
+ font-weight: 500;
+ font-size: 15px;
+ margin-bottom: 8px;
+}
+.ud-single-pricing .ud-pricing-header h4, .ud-single-pricing .ud-pricing-header .h4 {
+ font-weight: 600;
+ font-size: 26px;
+ color: var(--primary-color);
+ margin-bottom: 40px;
+}
+.ud-single-pricing .ud-pricing-body {
+ margin-bottom: 40px;
+}
+.ud-single-pricing .ud-pricing-body li {
+ font-weight: 500;
+ font-size: 15px;
+ margin-bottom: 18px;
+}
+.ud-single-pricing .ud-main-btn {
+ border-radius: 30px;
+ padding: 15px 40px;
+}
+.ud-single-pricing .ud-border-btn {
+ border: 1px solid var(--border-light);
+ color: var(--primary-color);
+ background: var(--white);
+}
+.ud-single-pricing .ud-border-btn:hover {
+ color: var(--white);
+ border-color: var(--primary-color);
+ background: var(--primary-color);
+}
+.ud-single-pricing .ud-white-btn {
+ background: var(--white);
+ color: var(--heading-color);
+}
+.ud-single-pricing .ud-white-btn:hover {
+ color: var(--white);
+ background: var(--heading-color);
+}
+
+/* ===== FAQ CSS ===== */
+.ud-faq {
+ padding-top: 120px;
+ padding-bottom: 90px;
+ background: #f3f4fe;
+ position: relative;
+ z-index: 1;
+}
+@media only screen and (max-width: 575px) {
+ .ud-faq {
+ padding-top: 80px;
+ padding-bottom: 50px;
+ }
+}
+.ud-faq .shape {
+ position: absolute;
+ z-index: -1;
+ left: 0;
+ bottom: 0;
+}
+
+.ud-single-faq {
+ background: var(--white);
+ border: 1px solid #f3f4fe;
+ box-shadow: 0px 20px 95px rgba(201, 203, 204, 0.3);
+ border-radius: 10px;
+ margin-bottom: 30px;
+}
+.ud-single-faq .ud-faq-btn {
+ text-align: left;
+ display: flex;
+ width: 100%;
+ align-items: center;
+ border: none;
+ background: transparent;
+ font-weight: 600;
+ font-size: 18px;
+ color: var(--heading-color);
+ opacity: 0.88;
+ padding: 30px;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (max-width: 575px) {
+ .ud-single-faq .ud-faq-btn {
+ padding: 15px;
+ }
+}
+.ud-single-faq .ud-faq-btn.collapsed span.icon i {
+ transform: rotate(0deg);
+}
+.ud-single-faq .ud-faq-btn span.icon {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 42px;
+ height: 42px;
+ background: rgba(48, 86, 211, 0.06);
+ border-radius: 10px;
+ color: var(--primary-color);
+ margin-right: 24px;
+}
+.ud-single-faq .ud-faq-btn span.icon i {
+ transform: rotate(180deg);
+ transition: all 0.3s;
+ font-size: 14px;
+ font-weight: 700;
+}
+.ud-single-faq .ud-faq-body {
+ padding: 0px 30px 40px 95px;
+ visibility: visible;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (max-width: 575px) {
+ .ud-single-faq .ud-faq-body {
+ padding: 0px 16px 20px 82px;
+ visibility: visible;
+ }
+}
+
+/* ===== Testimonials CSS ===== */
+.ud-testimonials {
+ padding-top: 120px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-testimonials {
+ padding-top: 80px;
+ }
+}
+
+.ud-single-testimonial {
+ padding: 30px;
+ box-shadow: 0px 60px 120px -20px var(--shadow-light);
+ background: var(--white);
+ margin-bottom: 50px;
+}
+.ud-single-testimonial .ud-testimonial-ratings {
+ margin-bottom: 10px;
+}
+.ud-single-testimonial .ud-testimonial-ratings i {
+ color: var(--star-color);
+}
+.ud-single-testimonial .ud-testimonial-content {
+ margin-bottom: 25px;
+}
+.ud-single-testimonial .ud-testimonial-content p {
+ font-size: 16px;
+ line-height: 30px;
+ color: var(--text-muted);
+}
+.ud-single-testimonial .ud-testimonial-info {
+ display: flex;
+ align-items: center;
+}
+.ud-single-testimonial .ud-testimonial-info .ud-testimonial-image {
+ width: 50px;
+ height: 50px;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20px;
+}
+.ud-single-testimonial .ud-testimonial-info .ud-testimonial-meta h4, .ud-single-testimonial .ud-testimonial-info .ud-testimonial-meta .h4 {
+ font-weight: 600;
+ font-size: 14px;
+}
+.ud-single-testimonial .ud-testimonial-info .ud-testimonial-meta p {
+ font-size: 12px;
+ color: var(--text-light-gray);
+}
+
+.ud-brands .ud-title {
+ margin-bottom: 30px;
+}
+.ud-brands .ud-title h6, .ud-brands .ud-title .h6 {
+ font-weight: normal;
+ font-size: 12px;
+ color: var(--body-color);
+ display: inline-block;
+ position: relative;
+}
+.ud-brands .ud-title h6::after, .ud-brands .ud-title .h6::after {
+ content: "";
+ position: absolute;
+ width: 30px;
+ height: 1px;
+ background: var(--color-gray);
+ right: -40px;
+ top: 50%;
+}
+.ud-brands .ud-brands-logo {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ margin-right: -40px;
+}
+.ud-brands .ud-brands-logo .ud-single-logo {
+ margin-right: 40px;
+ margin-bottom: 20px;
+ max-width: 140px;
+}
+.ud-brands .ud-brands-logo .ud-single-logo:hover img {
+ filter: none;
+}
+.ud-brands .ud-brands-logo .ud-single-logo img {
+ filter: grayscale(1);
+ transition: all 0.3s ease-out 0s;
+}
+
+/* PRODUCTS */
+.section_testimonial {
+ position: relative;
+ overflow: hidden;
+ padding: 20px;
+}
+
+.testimonial-container {
+ padding: 0 10vw;
+ display: flex;
+ overflow-x: auto;
+ scroll-behavior: smooth;
+}
+
+.testimonial-container .testimonial_color_stars {
+ color: var(--star-color);
+}
+
+.title-testimonial {
+ color: var(--primary-color);
+ font-weight: bold;
+ font-size: 18px;
+}
+
+.testimonial-container::-webkit-scrollbar {
+ display: none;
+}
+
+.testimonial-card {
+ flex: 0 0 auto;
+ width: 250px;
+ height: 550px;
+ margin-right: 40px;
+}
+
+.discount-tag {
+ position: absolute;
+ background: var(--white);
+ padding: 5px;
+ border-radius: 5px;
+ color: var(--error-color);
+ right: 10px;
+ top: 10px;
+ text-transform: capitalize;
+}
+
+.card-btn {
+ position: absolute;
+ bottom: 10px;
+ left: 50%;
+ transform: translateX(-50%);
+ padding: 10px;
+ width: 90%;
+ text-transform: capitalize;
+ border: none;
+ outline: none;
+ background: var(--white);
+ border-radius: 5px;
+ transition: 0.5s;
+ cursor: pointer;
+ opacity: 0;
+}
+
+.testimonial-card:hover .card-btn {
+ opacity: 1;
+}
+
+.card-btn:hover {
+ background: var(--error-color);
+ color: var(--white);
+}
+
+.testimonial-info {
+ width: 100%;
+ height: 100px;
+ padding-top: 10px;
+}
+
+.testimonial-brand {
+ text-transform: uppercase;
+}
+
+.testimonial-short-description {
+ width: 100%;
+ height: 20px;
+ line-height: 20px;
+ overflow: hidden;
+ opacity: 0.5;
+ text-transform: capitalize;
+ margin: 5px 0;
+}
+
+.price {
+ font-weight: 900;
+ font-size: 20px;
+}
+
+.actual-price {
+ margin-left: 20px;
+ opacity: 0.5;
+ text-decoration: line-through;
+}
+
+.pre-btn,
+.nxt-btn {
+ border: none;
+ width: 10vw;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, var(--white) 100%);
+ cursor: pointer;
+ z-index: 8;
+}
+
+.pre-btn {
+ left: 0;
+ transform: rotate(180deg);
+}
+
+.nxt-btn {
+ right: 0;
+}
+
+.pre-btn img,
+.nxt-btn img {
+ opacity: 0.2;
+}
+
+.pre-btn:hover img,
+.nxt-btn:hover img {
+ opacity: 1;
+}
+
+.collection-container {
+ width: 100%;
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ grid-gap: 10px;
+}
+
+.collection {
+ position: relative;
+}
+
+.collection img {
+ width: 100%;
+ height: 100%;
+ -o-object-fit: cover;
+ object-fit: cover;
+}
+
+.collection p {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ text-align: center;
+ color: var(--white);
+ font-size: 50px;
+ text-transform: capitalize;
+}
+
+.collection:nth-child(3) {
+ grid-column: span 2;
+ margin-bottom: 10px;
+}
+
+/* ===== Team CSS ===== */
+.ud-team {
+ padding-top: 120px;
+ padding-bottom: 80px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-team {
+ padding-top: 80px;
+ padding-bottom: 40px;
+ }
+}
+
+.ud-single-team {
+ margin-bottom: 40px;
+}
+.ud-single-team .ud-team-image-wrapper {
+ width: 170px;
+ height: 170px;
+ position: relative;
+ margin: 0px auto 25px;
+}
+.ud-single-team .ud-team-image {
+ border-radius: 50%;
+}
+.ud-single-team .ud-team-image img {
+ width: 100%;
+ border-radius: 50%;
+}
+.ud-single-team .shape {
+ position: absolute;
+ z-index: -1;
+}
+.ud-single-team .shape.shape-1 {
+ top: 0;
+ left: 0;
+}
+.ud-single-team .shape.shape-2 {
+ bottom: 0;
+ right: 0;
+}
+.ud-single-team .ud-team-info {
+ text-align: center;
+ margin-bottom: 20px;
+}
+.ud-single-team .ud-team-info h5, .ud-single-team .ud-team-info .h5 {
+ font-weight: 500;
+ font-size: 18px;
+ text-transform: capitalize;
+ margin-bottom: 10px;
+}
+.ud-single-team .ud-team-info h6, .ud-single-team .ud-team-info .h6 {
+ font-weight: 500;
+ font-size: 12px;
+ color: var(--body-color);
+}
+.ud-single-team .ud-team-socials {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.ud-single-team .ud-team-socials a {
+ width: 32px;
+ height: 32px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 0px 10px;
+ color: var(--color-light-muted);
+}
+.ud-single-team .ud-team-socials a:hover {
+ color: var(--primary-color);
+}
+
+/* ===== Contact CSS ===== */
+.ud-contact {
+ padding: 120px 0px;
+ position: relative;
+}
+@media only screen and (max-width: 575px) {
+ .ud-contact {
+ padding: 80px 0;
+ }
+}
+.ud-contact::after {
+ content: "";
+ position: absolute;
+ z-index: -1;
+ width: 100%;
+ top: 0;
+ left: 0;
+ height: 50%;
+ background: var(--bg-light);
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ .ud-contact::after {
+ height: 45%;
+ }
+}
+
+.ud-contact-title {
+ margin-bottom: 150px;
+}
+@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (max-width: 575px) {
+ .ud-contact-title {
+ margin-bottom: 50px;
+ }
+}
+.ud-contact-title span {
+ color: var(--heading-color);
+ font-weight: 600;
+ font-size: 15px;
+ margin-bottom: 20px;
+}
+.ud-contact-title h2, .ud-contact-title .h2 {
+ font-weight: 600;
+ font-size: 35px;
+ line-height: 41px;
+}
+
+.ud-contact-info-wrapper {
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+}
+@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (max-width: 575px) {
+ .ud-contact-info-wrapper {
+ margin-bottom: 50px;
+ }
+}
+.ud-contact-info-wrapper .ud-single-info {
+ display: flex;
+ max-width: 100%;
+ width: 330px;
+ margin-bottom: 30px;
+}
+.ud-contact-info-wrapper .ud-info-icon {
+ font-size: 32px;
+ color: var(--primary-color);
+ margin-right: 24px;
+}
+.ud-contact-info-wrapper .ud-info-meta h5, .ud-contact-info-wrapper .ud-info-meta .h5 {
+ font-weight: 600;
+ font-size: 18px;
+ margin-bottom: 15px;
+}
+.ud-contact-info-wrapper .ud-info-meta p {
+ font-size: 15px;
+ line-height: 24px;
+}
+
+.ud-contact-form-wrapper {
+ box-shadow: 0px 4px 28px rgba(0, 0, 0, 0.05);
+ border-radius: 8px;
+ background: var(--white);
+ padding: 60px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-contact-form-wrapper {
+ padding: 40px 30px;
+ }
+}
+@media only screen and (min-width: 1200px) and (max-width: 1399px), only screen and (min-width: 992px) and (max-width: 1199px), only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-contact-form-wrapper {
+ padding: 50px 40px;
+ }
+}
+.ud-contact-form-wrapper .ud-contact-form-title {
+ font-style: normal;
+ font-weight: 600;
+ font-size: 28px;
+ margin-bottom: 30px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-contact-form-wrapper .ud-contact-form-title {
+ font-size: 24px;
+ }
+}
+.ud-contact-form-wrapper .ud-form-group {
+ margin-bottom: 25px;
+}
+.ud-contact-form-wrapper .ud-form-group label {
+ display: block;
+ font-weight: normal;
+ font-size: 12px;
+}
+.ud-contact-form-wrapper .ud-form-group input,
+.ud-contact-form-wrapper .ud-form-group textarea {
+ display: block;
+ width: 100%;
+ padding: 15px 0;
+ border: none;
+ outline: none;
+ border-bottom: 1px solid var(--border-input);
+ resize: none;
+}
+.ud-contact-form-wrapper .ud-form-group input:focus,
+.ud-contact-form-wrapper .ud-form-group textarea:focus {
+ border-color: var(--primary-color);
+}
+
+.size-box-pricing {
+ height: 310px;
+}
+
+.size-box-feature {
+ height: 315px;
+}
+
+@media (max-width: 1199px) {
+ .size-box-feature {
+ height: 350px;
+ }
+}
+@media (max-width: 991px) {
+ .size-box-feature {
+ height: 260px;
+ }
+}
+@media (min-width: 250px) and (max-width: 260px) {
+ .size-box-pricing {
+ height: 600px;
+ }
+}
+@media (min-width: 261px) and (max-width: 400px) {
+ .size-box-pricing {
+ height: 550px;
+ }
+}
+/* ===== Footer CSS ===== */
+.ud-footer {
+ background: var(--color-dark);
+ position: relative;
+ z-index: 1;
+ overflow: hidden;
+}
+.ud-footer > div {
+ margin-bottom: 200px;
+}
+
+#coop-logo {
+ margin-top: 36px;
+ border-radius: 4px;
+ display: inline-block;
+ transition: all 0.3s ease;
+}
+#coop-logo img {
+ max-width: 172px;
+}
+#coop-logo:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+}
+#coop-logo:focus:not(:focus-visible) {
+ outline: none;
+}
+#coop-logo:focus-visible {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+}
+
+#copyright {
+ color: var(--white);
+ font-size: 14px;
+ margin-top: 32px;
+}
+
+#address {
+ display: flex;
+ height: 100%;
+ flex-direction: column;
+ justify-content: flex-end;
+ color: var(--white);
+ font-size: 12px;
+ line-height: 22px;
+ margin-bottom: 0;
+ font-style: normal;
+}
+
+.show-on-scroll {
+ display: none;
+}
+
+#footer-contact {
+ min-height: 80px;
+ width: 476px;
+ border-radius: 16px;
+ background-color: var(--accent-color);
+ border: none;
+ display: flex;
+ align-items: center;
+ padding: 0;
+ position: fixed;
+ right: 4px;
+ bottom: 32px;
+ z-index: 98;
+ cursor: pointer;
+ opacity: 0;
+ visibility: hidden;
+ transform: translateY(0);
+ transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, bottom 0.3s ease-in-out, transform 0.3s ease-in-out, width 0.3s ease-in-out, height 0.3s ease-in-out, border-radius 0.3s ease-in-out;
+}
+#footer-contact.visible {
+ opacity: 1;
+ visibility: visible;
+ bottom: 48px;
+}
+#footer-contact:hover {
+ transform: translateY(-2px);
+}
+#footer-contact:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+}
+#footer-contact:focus:not(:focus-visible) {
+ outline: none;
+}
+#footer-contact:focus-visible {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+}
+#footer-contact .bubble {
+ height: 72px;
+ width: 356px;
+ background-color: var(--white);
+ border-radius: 16px;
+ padding: 12px 60px 12px 20px;
+ font-size: 18px;
+ position: relative;
+ top: 0;
+ left: 4px;
+ text-align: left;
+ transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, width 0.3s ease-in-out;
+}
+#footer-contact .bubble p {
+ margin: 0;
+ text-align: left;
+}
+#footer-contact .bubble::after {
+ content: "";
+ position: absolute;
+ right: -4px;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 0;
+ height: 0;
+ border-top: 4px solid transparent;
+ border-bottom: 4px solid transparent;
+ border-left: 4px solid var(--white);
+ transition: opacity 0.3s ease-in-out;
+}
+#footer-contact .image-wrapper {
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-left: auto;
+ padding-right: 24px;
+}
+#footer-contact .image {
+ width: 76px;
+ aspect-ratio: 1/1;
+ border-radius: 50%;
+ background-color: var(--warning-color);
+ position: relative;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ transition: all 0.3s ease-in-out;
+}
+#footer-contact .image img {
+ width: 100%;
+ height: 100%;
+ -o-object-fit: cover;
+ object-fit: cover;
+ border-radius: 50%;
+}
+#footer-contact .image .status {
+ width: 20px;
+ aspect-ratio: 1/1;
+ border-radius: 50%;
+ background-color: var(--success-color);
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ transition: opacity 0.3s ease-in-out;
+}
+@media (max-width: 992px) {
+ #footer-contact {
+ width: 80px;
+ min-height: 80px;
+ border-radius: 50%;
+ justify-content: center;
+ align-items: center;
+ padding: 0;
+ right: 11px;
+ }
+ #footer-contact.visible {
+ bottom: 40px;
+ }
+ #footer-contact .bubble {
+ opacity: 0;
+ visibility: hidden;
+ width: 0;
+ pointer-events: none;
+ display: none;
+ }
+ #footer-contact .bubble::after {
+ opacity: 0;
+ }
+ #footer-contact .image-wrapper {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ #footer-contact .image {
+ position: relative;
+ width: 64px;
+ margin: 0;
+ }
+ #footer-contact:hover .status {
+ opacity: 0.8;
+ }
+}
+@media (max-width: 576px) {
+ #footer-contact {
+ width: 64px;
+ min-height: 64px;
+ right: 10px;
+ }
+ #footer-contact.visible {
+ bottom: 12px;
+ }
+ #footer-contact .image {
+ width: 52px;
+ }
+ #footer-contact .status {
+ width: 16px;
+ }
+}
+
+.widgets > div {
+ margin-top: 32px;
+}
+
+.ud-widget-address {
+ display: flex;
+ height: 100%;
+ flex-direction: column;
+ justify-content: flex-end;
+}
+
+.ud-widget .ud-footer-logo {
+ display: block;
+ margin-bottom: 44px;
+}
+.ud-widget .ud-footer-logo img {
+ width: 100%;
+ max-width: 120px;
+}
+.ud-widget .ud-footer-logo:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+ border-radius: 4px;
+}
+.ud-widget .ud-footer-logo:focus:not(:focus-visible) {
+ outline: none;
+}
+.ud-widget .ud-footer-logo:focus-visible {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 4px;
+ border-radius: 4px;
+}
+.ud-widget .ud-widget-desc {
+ font-size: 14px;
+ line-height: 20px;
+ margin-bottom: 36px;
+ color: var(--white);
+}
+.ud-widget .ud-widget-socials {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+}
+.ud-widget .ud-widget-socials a {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 4px;
+ transition: all 0.3s ease;
+}
+.ud-widget .ud-widget-socials a .social-icon {
+ color: var(--white);
+ transition: color 0.3s ease;
+}
+.ud-widget .ud-widget-socials a:hover .social-icon {
+ color: var(--primary-color);
+}
+.ud-widget .ud-widget-socials a:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+ background-color: var(--bg-hover);
+}
+.ud-widget .ud-widget-socials a:focus:not(:focus-visible) {
+ outline: none;
+ background-color: transparent;
+}
+.ud-widget .ud-widget-socials a:focus-visible {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+ background-color: var(--bg-hover);
+}
+.ud-widget .ud-widget-links {
+ display: flex;
+ flex-direction: column;
+ gap: 28px;
+}
+.ud-widget .ud-widget-links a {
+ font-size: 14px;
+ color: var(--white);
+ transition: all 0.3s ease;
+ border-radius: 4px;
+ padding: 4px 0;
+}
+.ud-widget .ud-widget-links a:hover {
+ color: var(--primary-color);
+ padding-left: 10px;
+}
+.ud-widget .ud-widget-links a:focus {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+ color: var(--primary-color);
+ padding-left: 8px;
+}
+.ud-widget .ud-widget-links a:focus:not(:focus-visible) {
+ outline: none;
+ color: var(--white);
+ padding-left: 0;
+}
+.ud-widget .ud-widget-links a:focus-visible {
+ outline: 3px solid var(--focus-color);
+ outline-offset: 2px;
+ color: var(--primary-color);
+ padding-left: 8px;
+}
+.ud-widget .ud-widget-brands {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+}
+.ud-widget .ud-widget-brands a {
+ display: block;
+ max-width: 120px;
+ margin-bottom: 20px;
+ margin-right: 20px;
+}
+@media only screen and (min-width: 1200px) and (max-width: 1399px) {
+ .ud-widget .ud-widget-brands a {
+ max-width: 100px;
+ }
+}
+
+.ud-footer-bottom {
+ padding: 35px 0;
+ border-top: 1px solid var(--border-footer);
+}
+.ud-footer-bottom .ud-footer-bottom-left {
+ display: flex;
+ align-items: center;
+}
+@media only screen and (max-width: 575px) {
+ .ud-footer-bottom .ud-footer-bottom-left {
+ justify-content: center;
+ }
+}
+.ud-footer-bottom .ud-footer-bottom-left a {
+ font-weight: normal;
+ font-size: 15px;
+ color: var(--text-footer);
+ margin-right: 30px;
+ display: inline-block;
+}
+@media only screen and (max-width: 575px) {
+ .ud-footer-bottom .ud-footer-bottom-left a {
+ margin: 0px 8px 8px;
+ }
+}
+.ud-footer-bottom .ud-footer-bottom-left a:hover {
+ color: var(--primary-color);
+}
+.ud-footer-bottom .ud-footer-bottom-right {
+ text-align: right;
+ font-weight: normal;
+ font-size: 15px;
+ color: var(--text-footer);
+}
+.ud-footer-bottom .ud-footer-bottom-right a {
+ color: var(--primary-color);
+}
+.ud-footer-bottom .ud-footer-bottom-right a:hover {
+ text-decoration: underline;
+}
+@media only screen and (max-width: 575px) {
+ .ud-footer-bottom .ud-footer-bottom-right {
+ text-align: center;
+ margin-top: 10px;
+ }
+}
+
+/* ====== Banner CSS ======= */
+.ud-page-banner {
+ padding-top: 130px;
+ padding-bottom: 80px;
+ background: var(--primary-color);
+ background-image: url("/assets/images/banner/banner-bg.svg");
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: cover;
+}
+
+.ud-banner-content {
+ text-align: center;
+ max-width: 600px;
+ margin: auto;
+}
+.ud-banner-content h1, .ud-banner-content .h1 {
+ color: var(--white);
+ font-size: 38px;
+ font-weight: 600;
+}
+
+/* ====== Login CSS ====== */
+.ud-login {
+ padding-top: 80px;
+ padding-bottom: 80px;
+}
+
+.ud-login-wrapper {
+ max-width: 500px;
+ margin: auto;
+ background: var(--white);
+ text-align: center;
+ padding: 60px;
+ box-shadow: 0px 10px 35px rgba(0, 0, 0, 0.05);
+}
+.ud-login-wrapper .ud-login-logo {
+ margin-bottom: 30px;
+}
+
+.ud-login-form .ud-form-group {
+ margin-bottom: 25px;
+}
+.ud-login-form .ud-form-group input {
+ width: 100%;
+ border: 2px solid #dddddd;
+ border-radius: 4px;
+ padding: 12px 24px;
+ background: #fcfdfe;
+ color: var(--body-color);
+}
+.ud-login-form .ud-form-group input:focus {
+ border-color: var(--primary-color);
+}
+
+.ud-socials-connect {
+ padding-top: 10px;
+ padding-bottom: 30px;
+}
+.ud-socials-connect p {
+ font-size: 16px;
+ color: var(--body-color);
+ margin-bottom: 10px;
+}
+.ud-socials-connect ul {
+ display: flex;
+ align-items: center;
+ margin-left: -10px;
+ margin-right: -10px;
+}
+.ud-socials-connect ul li {
+ width: 100%;
+}
+.ud-socials-connect ul li a {
+ height: 45px;
+ background: var(--primary-color);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 10px;
+ border-radius: 6px;
+ color: var(--white);
+ font-size: 20px;
+}
+.ud-socials-connect ul li a.facebook {
+ background: #4064ac;
+}
+.ud-socials-connect ul li a.facebook:hover {
+ background: #315294;
+}
+.ud-socials-connect ul li a.twitter {
+ background: #1c9cea;
+}
+.ud-socials-connect ul li a.twitter:hover {
+ background: #0f8bd8;
+}
+.ud-socials-connect ul li a.google {
+ background: #d64937;
+}
+.ud-socials-connect ul li a.google:hover {
+ background: #c53b29;
+}
+
+.forget-pass {
+ font-size: 16px;
+ color: var(--body-color);
+ margin-bottom: 8px;
+}
+
+.signup-option {
+ color: var(--body-color);
+ font-size: 16px;
+}
+.signup-option a {
+ color: var(--primary-color);
+}
+
+/* ====== Blog CSS ====== */
+.ud-blog-grids {
+ padding-top: 120px;
+ padding-bottom: 80px;
+}
+.ud-blog-grids.ud-related-articles {
+ padding-top: 100px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-grids {
+ padding-top: 80px;
+ padding-bottom: 40px;
+ }
+}
+
+.ud-single-blog {
+ margin-bottom: 40px;
+}
+.ud-single-blog:hover .ud-blog-image img {
+ transform: scale(1.1) rotate(3deg);
+}
+.ud-single-blog .ud-blog-image {
+ border-radius: 4px;
+ overflow: hidden;
+ margin-bottom: 30px;
+}
+.ud-single-blog .ud-blog-image a {
+ display: block;
+}
+.ud-single-blog .ud-blog-image img {
+ width: 100%;
+ transition: all 0.3s ease-out 0s;
+}
+.ud-single-blog .ud-blog-date {
+ display: inline-flex;
+ font-size: 12px;
+ font-weight: 600;
+ padding: 8px 16px;
+ background: var(--primary-color);
+ color: var(--white);
+ border-radius: 5px;
+ margin-bottom: 20px;
+}
+.ud-single-blog .ud-blog-title {
+ font-weight: 600;
+ font-size: 24px;
+ line-height: 32px;
+ margin-bottom: 15px;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ .ud-single-blog .ud-blog-title {
+ font-size: 20px;
+ line-height: 28px;
+ }
+}
+.ud-single-blog .ud-blog-title a {
+ color: inherit;
+}
+.ud-single-blog .ud-blog-title a:hover {
+ color: var(--primary-color);
+}
+.ud-single-blog .ud-blog-desc {
+ font-size: 16px;
+ line-height: 28px;
+}
+
+.ud-related-articles-title {
+ font-weight: 800;
+ font-size: 28px;
+ padding-bottom: 25px;
+ position: relative;
+ margin-bottom: 50px;
+}
+.ud-related-articles-title::after {
+ content: "";
+ position: absolute;
+ width: 80px;
+ height: 2px;
+ background: var(--primary-color);
+ left: 0;
+ bottom: 0;
+}
+
+/* ====== Blog Details CSS ====== */
+.ud-blog-details {
+ padding-top: 120px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-details {
+ padding-top: 80px;
+ }
+}
+
+.ud-blog-details-image {
+ position: relative;
+ border-radius: 5px;
+ overflow: hidden;
+ height: 500px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-details-image {
+ height: 300px;
+ }
+}
+.ud-blog-details-image > img {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ -o-object-fit: cover;
+ object-fit: cover;
+ -o-object-position: center center;
+ object-position: center center;
+}
+
+.ud-blog-overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: flex-end;
+ background: linear-gradient(180deg, rgba(48, 86, 211, 0) 46.88%, rgba(13, 21, 49, 0.72) 93.23%);
+ border-radius: 5px;
+ padding: 30px;
+}
+
+.ud-blog-overlay-content {
+ display: flex;
+ align-items: center;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-overlay-content {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+}
+.ud-blog-overlay-content .ud-blog-author {
+ display: flex;
+ align-items: center;
+ margin-right: 40px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-overlay-content .ud-blog-author {
+ margin-right: 0px;
+ margin-bottom: 20px;
+ }
+}
+.ud-blog-overlay-content .ud-blog-author img {
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 15px;
+}
+.ud-blog-overlay-content .ud-blog-author span {
+ font-weight: 500;
+ font-size: 14px;
+ line-height: 28px;
+ color: #ffffff;
+}
+.ud-blog-overlay-content .ud-blog-author a {
+ color: inherit;
+}
+.ud-blog-overlay-content .ud-blog-author a:hover {
+ color: var(--primary-color);
+}
+.ud-blog-overlay-content .ud-blog-meta {
+ display: flex;
+ align-items: center;
+}
+.ud-blog-overlay-content .ud-blog-meta p {
+ display: flex;
+ align-items: center;
+ font-weight: 500;
+ font-size: 14px;
+ line-height: 28px;
+ color: #ffffff;
+ margin-right: 30px;
+}
+.ud-blog-overlay-content .ud-blog-meta p:last-child {
+ margin-right: 0px;
+}
+.ud-blog-overlay-content .ud-blog-meta p i {
+ font-size: 16px;
+ margin-right: 10px;
+}
+
+.ud-blog-details-content {
+ padding-top: 60px;
+}
+@media only screen and (min-width: 1400px) and (max-width: 1920px), only screen and (min-width: 1200px) and (max-width: 1399px) {
+ .ud-blog-details-content {
+ padding-right: 50px;
+ }
+}
+
+.ud-blog-details-title {
+ font-weight: 700;
+ font-size: 35px;
+ line-height: 50px;
+ margin-bottom: 35px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-details-title {
+ font-size: 26px;
+ line-height: 35px;
+ }
+}
+@media only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-blog-details-title {
+ font-size: 30px;
+ line-height: 40px;
+ }
+}
+
+.ud-blog-details-para {
+ font-size: 16px;
+ line-height: 28px;
+ margin-bottom: 30px;
+}
+
+.ud-blog-details-subtitle {
+ font-weight: 700;
+ font-size: 26px;
+ margin-bottom: 30px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-details-subtitle {
+ font-size: 22px;
+ margin-bottom: 25px;
+ }
+}
+
+.ud-blog-quote {
+ background-image: url("/assets/images/blog/quote-bg.svg");
+ background-repeat: no-repeat;
+ background-size: cover;
+ padding: 40px;
+ text-align: center;
+ margin-bottom: 40px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-quote {
+ padding: 30px;
+ }
+}
+.ud-blog-quote i {
+ font-size: 40px;
+ font-weight: 700;
+ color: var(--primary-color);
+ line-height: 1;
+ margin-bottom: 20px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-quote i {
+ margin-bottom: 15px;
+ }
+}
+.ud-blog-quote p {
+ font-style: italic;
+ font-weight: 600;
+ font-size: 16px;
+ line-height: 27px;
+ text-align: center;
+ color: var(--heading-color);
+ margin-bottom: 15px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-quote p {
+ font-size: 14px;
+ line-height: 24px;
+ }
+}
+.ud-blog-quote h6, .ud-blog-quote .h6 {
+ color: var(--body-color);
+ font-style: italic;
+ font-weight: 500;
+ font-size: 12px;
+ line-height: 20px;
+ text-align: center;
+}
+
+.ud-blog-details-action {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-details-action {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+}
+
+.ud-blog-tags {
+ display: flex;
+ align-items: center;
+}
+@media only screen and (max-width: 575px) {
+ .ud-blog-tags {
+ margin-bottom: 20px;
+ }
+}
+.ud-blog-tags li {
+ margin-right: 14px;
+}
+.ud-blog-tags li:last-child {
+ margin-right: 0px;
+}
+.ud-blog-tags a {
+ padding: 8px 16px;
+ font-size: 12px;
+ font-weight: 500;
+ color: var(--primary-color);
+ background: rgba(48, 86, 211, 0.06);
+ border-radius: 3px;
+}
+.ud-blog-tags a:hover {
+ background: var(--primary-color);
+ color: var(--white);
+}
+
+.ud-blog-share {
+ display: flex;
+ align-items: center;
+}
+.ud-blog-share h6, .ud-blog-share .h6 {
+ font-weight: 500;
+ font-size: 12px;
+ color: var(--body-color);
+ margin-right: 20px;
+}
+
+.ud-blog-share-links {
+ display: flex;
+ align-items: center;
+}
+.ud-blog-share-links li {
+ margin-right: 14px;
+}
+.ud-blog-share-links li:last-child {
+ margin-right: 0px;
+}
+.ud-blog-share-links a {
+ font-size: 18px;
+ width: 35px;
+ height: 35px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50%;
+ color: var(--white);
+}
+.ud-blog-share-links a.facebook {
+ background: #4064ac;
+}
+.ud-blog-share-links a.facebook:hover {
+ background: #315294;
+}
+.ud-blog-share-links a.twitter {
+ background: #1c9cea;
+}
+.ud-blog-share-links a.twitter:hover {
+ background: #0f8bd8;
+}
+.ud-blog-share-links a.linkedin {
+ background: #007ab9;
+}
+.ud-blog-share-links a.linkedin:hover {
+ background: #03689b;
+}
+
+.ud-blog-sidebar {
+ padding-top: 60px;
+}
+
+.ud-newsletter-box {
+ background: var(--primary-color);
+ padding: 60px 45px;
+ position: relative;
+ z-index: 1;
+ text-align: center;
+ border-radius: 5px;
+ margin-bottom: 50px;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (max-width: 575px) {
+ .ud-newsletter-box {
+ padding: 50px 30px;
+ }
+}
+@media only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-newsletter-box {
+ padding: 60px 45px;
+ }
+}
+.ud-newsletter-box .shape {
+ position: absolute;
+ z-index: -1;
+}
+.ud-newsletter-box .shape.shape-1 {
+ top: 0;
+ right: 0;
+}
+.ud-newsletter-box .shape.shape-2 {
+ left: 0;
+ bottom: 0;
+}
+.ud-newsletter-box .ud-newsletter-title {
+ font-weight: 600;
+ font-size: 25px;
+ color: var(--white);
+ margin-bottom: 5px;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ .ud-newsletter-box .ud-newsletter-title {
+ font-size: 23px;
+ }
+}
+.ud-newsletter-box p {
+ font-size: 16px;
+ line-height: 24px;
+ color: var(--white);
+}
+.ud-newsletter-box .ud-newsletter-form {
+ margin-top: 30px;
+}
+.ud-newsletter-box .ud-newsletter-form input {
+ width: 100%;
+ box-shadow: 0px 4px 42px rgba(0, 0, 0, 0.01);
+ border-radius: 5px;
+ background: rgba(255, 255, 255, 0.2);
+ color: var(--white);
+ text-align: center;
+ margin-bottom: 15px;
+ border: 2px solid transparent;
+ padding: 12px 20px;
+}
+.ud-newsletter-box .ud-newsletter-form input::-moz-placeholder {
+ color: var(--white);
+ opacity: 1;
+}
+.ud-newsletter-box .ud-newsletter-form input::placeholder {
+ color: var(--white);
+ opacity: 1;
+}
+.ud-newsletter-box .ud-newsletter-form input:focus {
+ border-color: var(--white);
+}
+.ud-newsletter-box .ud-newsletter-form .ud-main-btn {
+ background: #13c296;
+ box-shadow: 0px 4px 42px rgba(0, 0, 0, 0.01);
+ border-radius: 5px;
+ width: 100%;
+ margin-bottom: 24px;
+}
+.ud-newsletter-box .ud-newsletter-form .ud-main-btn:hover {
+ background: var(--heading-color);
+}
+.ud-newsletter-box .ud-newsletter-form .ud-newsletter-note {
+ font-weight: 500;
+ font-size: 14px;
+ line-height: 22px;
+}
+
+.ud-articles-box {
+ margin-bottom: 50px;
+}
+.ud-articles-box .ud-articles-box-title {
+ font-weight: 600;
+ font-size: 28px;
+ padding-bottom: 25px;
+ position: relative;
+ margin-bottom: 20px;
+}
+.ud-articles-box .ud-articles-box-title::after {
+ content: "";
+ position: absolute;
+ width: 80px;
+ height: 2px;
+ background: var(--primary-color);
+ left: 0;
+ bottom: 0;
+}
+.ud-articles-box .ud-articles-list li {
+ padding: 20px 0;
+ border-bottom: 1px solid #f2f3f8;
+ display: flex;
+ align-items: center;
+}
+.ud-articles-box .ud-articles-list li:last-child {
+ padding-bottom: 0px;
+ border-bottom: 0px;
+}
+.ud-articles-box .ud-articles-list .ud-article-image {
+ max-width: 80px;
+ width: 100%;
+ height: 80px;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20px;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px), only screen and (max-width: 575px) {
+ .ud-articles-box .ud-articles-list .ud-article-image {
+ max-width: 65px;
+ height: 65px;
+ }
+}
+@media only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-articles-box .ud-articles-list .ud-article-image {
+ max-width: 80px;
+ height: 80px;
+ }
+}
+.ud-articles-box .ud-articles-list .ud-article-image img {
+ width: 100%;
+}
+.ud-articles-box .ud-articles-list .ud-article-title {
+ font-weight: 500;
+ font-size: 18px;
+ line-height: 22px;
+ margin-bottom: 5px;
+}
+@media only screen and (min-width: 992px) and (max-width: 1199px) {
+ .ud-articles-box .ud-articles-list .ud-article-title {
+ font-size: 16px;
+ }
+}
+.ud-articles-box .ud-articles-list .ud-article-title a {
+ color: inherit;
+}
+.ud-articles-box .ud-articles-list .ud-article-title a:hover {
+ color: var(--primary-color);
+}
+.ud-articles-box .ud-articles-list .ud-article-author {
+ font-size: 14px;
+}
+
+.ud-banner-ad {
+ border-radius: 5px;
+ overflow: hidden;
+}
+.ud-banner-ad a {
+ display: block;
+}
+.ud-banner-ad img {
+ width: 100%;
+}
+
+/*Table post*/
+.article p {
+ margin-top: 3%;
+ margin-bottom: 3%;
+}
+
+.article h3, .article .h3 {
+ margin-top: 5%;
+ margin-bottom: 5%;
+}
+
+.article h4, .article .h4 {
+ margin-top: 3%;
+ margin-bottom: 3%;
+}
+
+.article h5, .article .h5 {
+ margin-top: 3%;
+ margin-bottom: 3%;
+}
+
+/* ====== Error 404 CSS ======= */
+.ud-404 {
+ padding-top: 120px;
+ padding-bottom: 120px;
+}
+@media only screen and (max-width: 575px) {
+ .ud-404 {
+ padding-top: 80px;
+ padding-bottom: 80px;
+ }
+}
+
+.ud-404-wrapper {
+ text-align: center;
+ max-width: 850px;
+ margin: 0px auto;
+ background: var(--white);
+ padding: 100px 60px;
+ box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.1);
+ border-radius: 10px;
+ position: relative;
+ overflow: hidden;
+ z-index: 1;
+}
+@media only screen and (max-width: 575px) {
+ .ud-404-wrapper {
+ padding: 50px 30px;
+ }
+}
+.ud-404-wrapper .shape {
+ position: absolute;
+ z-index: -1;
+}
+.ud-404-wrapper .shape.shape-1 {
+ top: 0;
+ left: 0;
+}
+.ud-404-wrapper .shape.shape-2 {
+ right: 0;
+ bottom: 0;
+}
+
+.ud-404-title {
+ font-size: 42px;
+ font-weight: 700;
+ margin-bottom: 30px;
+}
+@media only screen and (min-width: 768px) and (max-width: 991px) {
+ .ud-404-title {
+ font-size: 35px;
+ }
+}
+@media only screen and (max-width: 575px) {
+ .ud-404-title {
+ font-size: 30px;
+ }
+}
+
+.ud-404-subtitle {
+ font-size: 24px;
+ font-weight: 400;
+ margin-bottom: 30px;
+}
+@media only screen and (min-width: 768px) and (max-width: 991px) {
+ .ud-404-subtitle {
+ font-size: 22px;
+ }
+}
+@media only screen and (max-width: 575px) {
+ .ud-404-subtitle {
+ font-size: 18px;
+ }
+}
+
+.ud-404-links {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+.ud-404-links a {
+ font-size: 16px;
+ font-weight: 500;
+ padding: 12px 24px;
+ color: var(--heading-color);
+ background: rgba(48, 86, 211, 0.06);
+ border-radius: 5px;
+ margin: 5px 10px;
+}
+.ud-404-links a:hover {
+ background: var(--heading-color);
+ color: var(--white);
+}
+@media only screen and (max-width: 575px) {
+ .ud-404-links a {
+ margin: 5px 10px;
+ font-size: 14px;
+ padding: 10px 20px;
+ }
+}
+
+/* ===== Solutions Section ===== */
+.ud-solutions {
+ padding: 80px 0;
+ background: var(--bg-light);
+}
+@media only screen and (max-width: 575px), only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-solutions {
+ padding: 60px 0;
+ }
+}
+.ud-solutions .card-subtitle {
+ text-align: center;
+ color: var(--text-muted);
+ font-size: 18px;
+ margin-top: 20px;
+ margin-bottom: 40px;
+}
+.ud-solutions .solution-card {
+ background: var(--white);
+ padding: 40px 30px;
+ border-radius: 10px;
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.08);
+ transition: transform 0.3s, box-shadow 0.3s;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+.ud-solutions .solution-card:hover {
+ transform: translateY(-5px);
+ box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.12);
+}
+.ud-solutions .solution-card .solution-icon {
+ width: 120px;
+ height: 120px;
+ margin: 0 auto 30px;
+ background: var(--accent-color);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.ud-solutions .solution-card .solution-icon img {
+ max-width: 60px;
+ max-height: 60px;
+ filter: brightness(0) invert(1);
+}
+.ud-solutions .solution-card h4, .ud-solutions .solution-card .h4 {
+ font-size: 20px;
+ font-weight: bold;
+ margin-bottom: 15px;
+ color: var(--heading-color);
+ min-height: 60px;
+}
+.ud-solutions .solution-card p {
+ font-size: 16px;
+ color: var(--text-muted);
+ margin-bottom: 25px;
+ flex-grow: 1;
+}
+.ud-solutions .solution-card a {
+ font-size: 16px;
+ padding: 12px 24px;
+ background: var(--primary-color);
+ color: var(--white);
+ border-radius: 30px;
+ text-align: center;
+ display: inline-block;
+ transition: background 0.3s;
+}
+.ud-solutions .solution-card a:hover {
+ background: var(--accent-color);
+}
+
+/* ===== Video Demo Section ===== */
+.ud-video-demo {
+ padding: 100px 0;
+ background: var(--primary-color);
+}
+@media only screen and (max-width: 575px), only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-video-demo {
+ padding: 60px 0;
+ }
+}
+.ud-video-demo .card-subtitle {
+ text-align: center;
+ margin-top: 20px;
+ margin-bottom: 40px;
+ font-size: 18px;
+}
+.ud-video-demo .video-demo-image {
+ max-width: 500px;
+ margin: 0 auto;
+}
+.ud-video-demo .video-demo-image img {
+ width: 100%;
+ height: auto;
+}
+.ud-video-demo .ud-demo-btn {
+ background: var(--accent-color);
+ padding: 16px 40px;
+ border-radius: 30px;
+ font-size: 18px;
+ font-weight: bold;
+}
+.ud-video-demo .ud-demo-btn:hover {
+ filter: brightness(1.2);
+}
+
+/* ===== Blog Section ===== */
+.ud-blog-section {
+ padding: 80px 0;
+ background: var(--white);
+}
+@media only screen and (max-width: 575px), only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-blog-section {
+ padding: 60px 0;
+ }
+}
+.ud-blog-section .card-subtitle {
+ text-align: center;
+ color: var(--text-muted);
+ font-size: 18px;
+ margin-top: 20px;
+ margin-bottom: 40px;
+}
+.ud-blog-section .blog-card {
+ background: var(--white);
+ border-radius: 10px;
+ overflow: hidden;
+ box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.08);
+ transition: transform 0.3s, box-shadow 0.3s;
+ height: 100%;
+}
+.ud-blog-section .blog-card:hover {
+ transform: translateY(-5px);
+ box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.12);
+}
+.ud-blog-section .blog-card .blog-image {
+ position: relative;
+ width: 100%;
+ height: 250px;
+ overflow: hidden;
+}
+.ud-blog-section .blog-card .blog-image img {
+ width: 100%;
+ height: 100%;
+ -o-object-fit: cover;
+ object-fit: cover;
+}
+.ud-blog-section .blog-card .blog-image .blog-tag {
+ position: absolute;
+ top: 15px;
+ left: 15px;
+ background: var(--accent-color);
+ color: var(--white);
+ padding: 6px 16px;
+ border-radius: 20px;
+ font-size: 14px;
+ font-weight: bold;
+}
+.ud-blog-section .blog-card .blog-content {
+ padding: 25px;
+}
+.ud-blog-section .blog-card .blog-content h4, .ud-blog-section .blog-card .blog-content .h4 {
+ font-size: 18px;
+ font-weight: bold;
+ margin-bottom: 15px;
+ color: var(--heading-color);
+ line-height: 1.4;
+}
+.ud-blog-section .blog-card .blog-content p {
+ font-size: 14px;
+ color: var(--text-muted);
+ line-height: 1.6;
+}
+
+/* ===== Contact/Sales Page ===== */
+.ud-contact-sales {
+ padding: 100px 0;
+ background: var(--bg-light);
+}
+@media only screen and (max-width: 575px), only screen and (min-width: 576px) and (max-width: 767px) {
+ .ud-contact-sales {
+ padding: 60px 0;
+ }
+}
+.ud-contact-sales .contact-info-wrapper {
+ padding-right: 40px;
+}
+@media only screen and (min-width: 768px) and (max-width: 991px), only screen and (min-width: 576px) and (max-width: 767px), only screen and (max-width: 575px) {
+ .ud-contact-sales .contact-info-wrapper {
+ padding-right: 0;
+ margin-bottom: 40px;
+ }
+}
+.ud-contact-sales .contact-info-wrapper .contact-title {
+ font-size: 42px;
+ font-weight: bold;
+ color: var(--heading-color);
+ margin-bottom: 20px;
+}
+@media only screen and (min-width: 576px) and (max-width: 767px), only screen and (max-width: 575px) {
+ .ud-contact-sales .contact-info-wrapper .contact-title {
+ font-size: 32px;
+ }
+}
+.ud-contact-sales .contact-info-wrapper .contact-subtitle {
+ font-size: 18px;
+ color: var(--text-muted);
+ margin-bottom: 30px;
+}
+.ud-contact-sales .contact-info-wrapper h3, .ud-contact-sales .contact-info-wrapper .h3 {
+ font-size: 24px;
+ font-weight: bold;
+ color: var(--heading-color);
+}
+.ud-contact-sales .contact-info-wrapper .contact-benefits {
+ list-style: none;
+ padding: 0;
+}
+.ud-contact-sales .contact-info-wrapper .contact-benefits li {
+ padding: 12px 0;
+ padding-left: 30px;
+ position: relative;
+ font-size: 16px;
+ line-height: 1.6;
+ color: var(--text-gray);
+}
+.ud-contact-sales .contact-info-wrapper .contact-benefits li:before {
+ content: "●";
+ position: absolute;
+ left: 0;
+ color: var(--accent-color);
+ font-size: 20px;
+}
+.ud-contact-sales .contact-info-wrapper .contact-benefits li strong {
+ color: var(--heading-color);
+}
+.ud-contact-sales .contact-form-wrapper {
+ background: var(--white);
+ padding: 40px;
+ border-radius: 10px;
+ box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
+}
+@media only screen and (max-width: 575px) {
+ .ud-contact-sales .contact-form-wrapper {
+ padding: 30px 20px;
+ }
+}
+.ud-contact-sales .contact-form-wrapper .ud-contact-form-wrapper {
+ padding: 0;
+ background: transparent;
+ box-shadow: none;
+}
+.ud-contact-sales .contact-form-wrapper .ud-form-group {
+ margin-bottom: 20px;
+}
+.ud-contact-sales .contact-form-wrapper .ud-form-group label {
+ font-weight: 600;
+ color: var(--heading-color);
+ margin-bottom: 8px;
+ display: block;
+}
+.ud-contact-sales .contact-form-wrapper .ud-form-group input,
+.ud-contact-sales .contact-form-wrapper .ud-form-group textarea {
+ width: 100%;
+ padding: 12px 16px;
+ border: 1px solid var(--border-input);
+ border-radius: 5px;
+ font-size: 16px;
+ transition: border-color 0.3s;
+}
+.ud-contact-sales .contact-form-wrapper .ud-form-group input:focus,
+.ud-contact-sales .contact-form-wrapper .ud-form-group textarea:focus {
+ border-color: var(--primary-color);
+ outline: none;
+}
+.ud-contact-sales .contact-form-wrapper .ud-form-group textarea {
+ resize: vertical;
+ min-height: 100px;
+}
+.ud-contact-sales .contact-form-wrapper .ud-main-btn {
+ background: var(--accent-color);
+}
+.ud-contact-sales .contact-form-wrapper .ud-main-btn:hover {
+ background: var(--primary-color);
+}
diff --git a/source/assets/compiled/js/main.js b/source/assets/compiled/js/main.js
new file mode 100644
index 00000000..f5640ff4
--- /dev/null
+++ b/source/assets/compiled/js/main.js
@@ -0,0 +1,831 @@
+/******/ (() => { // webpackBootstrap
+/******/ var __webpack_modules__ = ({
+
+/***/ "./node_modules/aos/dist/aos.css":
+/*!***************************************!*\
+ !*** ./node_modules/aos/dist/aos.css ***!
+ \***************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
+/* harmony export */ });
+/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
+/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _css_loader_dist_cjs_js_ruleSet_1_rules_6_oneOf_1_use_1_postcss_loader_dist_cjs_js_ruleSet_1_rules_6_oneOf_1_use_2_aos_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../css-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[1]!../../postcss-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[2]!./aos.css */ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[2]!./node_modules/aos/dist/aos.css");
+
+
+
+var options = {};
+
+options.insert = "head";
+options.singleton = false;
+
+var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_css_loader_dist_cjs_js_ruleSet_1_rules_6_oneOf_1_use_1_postcss_loader_dist_cjs_js_ruleSet_1_rules_6_oneOf_1_use_2_aos_css__WEBPACK_IMPORTED_MODULE_1__["default"], options);
+
+
+
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_css_loader_dist_cjs_js_ruleSet_1_rules_6_oneOf_1_use_1_postcss_loader_dist_cjs_js_ruleSet_1_rules_6_oneOf_1_use_2_aos_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+
+/***/ }),
+
+/***/ "./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js":
+/*!****************************************************************!*\
+ !*** ./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js ***!
+ \****************************************************************/
+/***/ (function(module) {
+
+/*!
+ * Bootstrap v5.3.3 (https://getbootstrap.com/)
+ * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+!function(t,e){ true?module.exports=e():0}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function M(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${M(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${M(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=j(t.dataset[n])}return e},getDataAttribute:(t,e)=>j(t.getAttribute(`data-bs-${M(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>n(t))).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",jt="collapsing",Mt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(jt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(jt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Mt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function je(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Me={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:je(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:je(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,jn=`hide${xn}`,Mn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,jn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Mn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Mn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:""},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",js="Home",Ms="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([js,Ms].includes(t.key))i=e[t.key===js?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}}));
+//# sourceMappingURL=bootstrap.bundle.min.js.map
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[2]!./node_modules/aos/dist/aos.css":
+/*!*************************************************************************************************************************************************************************************************!*\
+ !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].oneOf[1].use[2]!./node_modules/aos/dist/aos.css ***!
+ \*************************************************************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
+/* harmony export */ });
+/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
+/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
+// Imports
+
+var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, "[data-aos][data-aos][data-aos-duration=\"50\"],body[data-aos-duration=\"50\"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay=\"50\"],body[data-aos-delay=\"50\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"50\"].aos-animate,body[data-aos-delay=\"50\"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration=\"100\"],body[data-aos-duration=\"100\"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay=\"100\"],body[data-aos-delay=\"100\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"100\"].aos-animate,body[data-aos-delay=\"100\"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration=\"150\"],body[data-aos-duration=\"150\"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay=\"150\"],body[data-aos-delay=\"150\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"150\"].aos-animate,body[data-aos-delay=\"150\"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration=\"200\"],body[data-aos-duration=\"200\"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay=\"200\"],body[data-aos-delay=\"200\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"200\"].aos-animate,body[data-aos-delay=\"200\"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration=\"250\"],body[data-aos-duration=\"250\"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay=\"250\"],body[data-aos-delay=\"250\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"250\"].aos-animate,body[data-aos-delay=\"250\"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration=\"300\"],body[data-aos-duration=\"300\"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay=\"300\"],body[data-aos-delay=\"300\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"300\"].aos-animate,body[data-aos-delay=\"300\"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration=\"350\"],body[data-aos-duration=\"350\"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay=\"350\"],body[data-aos-delay=\"350\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"350\"].aos-animate,body[data-aos-delay=\"350\"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration=\"400\"],body[data-aos-duration=\"400\"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay=\"400\"],body[data-aos-delay=\"400\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"400\"].aos-animate,body[data-aos-delay=\"400\"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration=\"450\"],body[data-aos-duration=\"450\"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay=\"450\"],body[data-aos-delay=\"450\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"450\"].aos-animate,body[data-aos-delay=\"450\"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration=\"500\"],body[data-aos-duration=\"500\"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay=\"500\"],body[data-aos-delay=\"500\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"500\"].aos-animate,body[data-aos-delay=\"500\"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration=\"550\"],body[data-aos-duration=\"550\"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay=\"550\"],body[data-aos-delay=\"550\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"550\"].aos-animate,body[data-aos-delay=\"550\"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration=\"600\"],body[data-aos-duration=\"600\"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay=\"600\"],body[data-aos-delay=\"600\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"600\"].aos-animate,body[data-aos-delay=\"600\"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration=\"650\"],body[data-aos-duration=\"650\"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay=\"650\"],body[data-aos-delay=\"650\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"650\"].aos-animate,body[data-aos-delay=\"650\"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration=\"700\"],body[data-aos-duration=\"700\"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay=\"700\"],body[data-aos-delay=\"700\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"700\"].aos-animate,body[data-aos-delay=\"700\"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration=\"750\"],body[data-aos-duration=\"750\"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay=\"750\"],body[data-aos-delay=\"750\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"750\"].aos-animate,body[data-aos-delay=\"750\"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration=\"800\"],body[data-aos-duration=\"800\"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay=\"800\"],body[data-aos-delay=\"800\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"800\"].aos-animate,body[data-aos-delay=\"800\"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration=\"850\"],body[data-aos-duration=\"850\"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay=\"850\"],body[data-aos-delay=\"850\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"850\"].aos-animate,body[data-aos-delay=\"850\"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration=\"900\"],body[data-aos-duration=\"900\"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay=\"900\"],body[data-aos-delay=\"900\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"900\"].aos-animate,body[data-aos-delay=\"900\"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration=\"950\"],body[data-aos-duration=\"950\"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay=\"950\"],body[data-aos-delay=\"950\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"950\"].aos-animate,body[data-aos-delay=\"950\"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration=\"1000\"],body[data-aos-duration=\"1000\"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay=\"1000\"],body[data-aos-delay=\"1000\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1000\"].aos-animate,body[data-aos-delay=\"1000\"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration=\"1050\"],body[data-aos-duration=\"1050\"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay=\"1050\"],body[data-aos-delay=\"1050\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1050\"].aos-animate,body[data-aos-delay=\"1050\"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration=\"1100\"],body[data-aos-duration=\"1100\"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay=\"1100\"],body[data-aos-delay=\"1100\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1100\"].aos-animate,body[data-aos-delay=\"1100\"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration=\"1150\"],body[data-aos-duration=\"1150\"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay=\"1150\"],body[data-aos-delay=\"1150\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1150\"].aos-animate,body[data-aos-delay=\"1150\"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration=\"1200\"],body[data-aos-duration=\"1200\"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay=\"1200\"],body[data-aos-delay=\"1200\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1200\"].aos-animate,body[data-aos-delay=\"1200\"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration=\"1250\"],body[data-aos-duration=\"1250\"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay=\"1250\"],body[data-aos-delay=\"1250\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1250\"].aos-animate,body[data-aos-delay=\"1250\"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration=\"1300\"],body[data-aos-duration=\"1300\"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay=\"1300\"],body[data-aos-delay=\"1300\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1300\"].aos-animate,body[data-aos-delay=\"1300\"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration=\"1350\"],body[data-aos-duration=\"1350\"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay=\"1350\"],body[data-aos-delay=\"1350\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1350\"].aos-animate,body[data-aos-delay=\"1350\"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration=\"1400\"],body[data-aos-duration=\"1400\"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay=\"1400\"],body[data-aos-delay=\"1400\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1400\"].aos-animate,body[data-aos-delay=\"1400\"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration=\"1450\"],body[data-aos-duration=\"1450\"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay=\"1450\"],body[data-aos-delay=\"1450\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1450\"].aos-animate,body[data-aos-delay=\"1450\"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration=\"1500\"],body[data-aos-duration=\"1500\"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay=\"1500\"],body[data-aos-delay=\"1500\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1500\"].aos-animate,body[data-aos-delay=\"1500\"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration=\"1550\"],body[data-aos-duration=\"1550\"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay=\"1550\"],body[data-aos-delay=\"1550\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1550\"].aos-animate,body[data-aos-delay=\"1550\"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration=\"1600\"],body[data-aos-duration=\"1600\"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay=\"1600\"],body[data-aos-delay=\"1600\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1600\"].aos-animate,body[data-aos-delay=\"1600\"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration=\"1650\"],body[data-aos-duration=\"1650\"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay=\"1650\"],body[data-aos-delay=\"1650\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1650\"].aos-animate,body[data-aos-delay=\"1650\"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration=\"1700\"],body[data-aos-duration=\"1700\"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay=\"1700\"],body[data-aos-delay=\"1700\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1700\"].aos-animate,body[data-aos-delay=\"1700\"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration=\"1750\"],body[data-aos-duration=\"1750\"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay=\"1750\"],body[data-aos-delay=\"1750\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1750\"].aos-animate,body[data-aos-delay=\"1750\"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration=\"1800\"],body[data-aos-duration=\"1800\"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay=\"1800\"],body[data-aos-delay=\"1800\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1800\"].aos-animate,body[data-aos-delay=\"1800\"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration=\"1850\"],body[data-aos-duration=\"1850\"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay=\"1850\"],body[data-aos-delay=\"1850\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1850\"].aos-animate,body[data-aos-delay=\"1850\"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration=\"1900\"],body[data-aos-duration=\"1900\"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay=\"1900\"],body[data-aos-delay=\"1900\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1900\"].aos-animate,body[data-aos-delay=\"1900\"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration=\"1950\"],body[data-aos-duration=\"1950\"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay=\"1950\"],body[data-aos-delay=\"1950\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"1950\"].aos-animate,body[data-aos-delay=\"1950\"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration=\"2000\"],body[data-aos-duration=\"2000\"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay=\"2000\"],body[data-aos-delay=\"2000\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2000\"].aos-animate,body[data-aos-delay=\"2000\"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration=\"2050\"],body[data-aos-duration=\"2050\"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay=\"2050\"],body[data-aos-delay=\"2050\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2050\"].aos-animate,body[data-aos-delay=\"2050\"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration=\"2100\"],body[data-aos-duration=\"2100\"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay=\"2100\"],body[data-aos-delay=\"2100\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2100\"].aos-animate,body[data-aos-delay=\"2100\"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration=\"2150\"],body[data-aos-duration=\"2150\"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay=\"2150\"],body[data-aos-delay=\"2150\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2150\"].aos-animate,body[data-aos-delay=\"2150\"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration=\"2200\"],body[data-aos-duration=\"2200\"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay=\"2200\"],body[data-aos-delay=\"2200\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2200\"].aos-animate,body[data-aos-delay=\"2200\"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration=\"2250\"],body[data-aos-duration=\"2250\"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay=\"2250\"],body[data-aos-delay=\"2250\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2250\"].aos-animate,body[data-aos-delay=\"2250\"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration=\"2300\"],body[data-aos-duration=\"2300\"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay=\"2300\"],body[data-aos-delay=\"2300\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2300\"].aos-animate,body[data-aos-delay=\"2300\"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration=\"2350\"],body[data-aos-duration=\"2350\"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay=\"2350\"],body[data-aos-delay=\"2350\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2350\"].aos-animate,body[data-aos-delay=\"2350\"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration=\"2400\"],body[data-aos-duration=\"2400\"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay=\"2400\"],body[data-aos-delay=\"2400\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2400\"].aos-animate,body[data-aos-delay=\"2400\"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration=\"2450\"],body[data-aos-duration=\"2450\"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay=\"2450\"],body[data-aos-delay=\"2450\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2450\"].aos-animate,body[data-aos-delay=\"2450\"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration=\"2500\"],body[data-aos-duration=\"2500\"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay=\"2500\"],body[data-aos-delay=\"2500\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2500\"].aos-animate,body[data-aos-delay=\"2500\"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration=\"2550\"],body[data-aos-duration=\"2550\"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay=\"2550\"],body[data-aos-delay=\"2550\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2550\"].aos-animate,body[data-aos-delay=\"2550\"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration=\"2600\"],body[data-aos-duration=\"2600\"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay=\"2600\"],body[data-aos-delay=\"2600\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2600\"].aos-animate,body[data-aos-delay=\"2600\"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration=\"2650\"],body[data-aos-duration=\"2650\"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay=\"2650\"],body[data-aos-delay=\"2650\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2650\"].aos-animate,body[data-aos-delay=\"2650\"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration=\"2700\"],body[data-aos-duration=\"2700\"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay=\"2700\"],body[data-aos-delay=\"2700\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2700\"].aos-animate,body[data-aos-delay=\"2700\"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration=\"2750\"],body[data-aos-duration=\"2750\"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay=\"2750\"],body[data-aos-delay=\"2750\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2750\"].aos-animate,body[data-aos-delay=\"2750\"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration=\"2800\"],body[data-aos-duration=\"2800\"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay=\"2800\"],body[data-aos-delay=\"2800\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2800\"].aos-animate,body[data-aos-delay=\"2800\"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration=\"2850\"],body[data-aos-duration=\"2850\"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay=\"2850\"],body[data-aos-delay=\"2850\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2850\"].aos-animate,body[data-aos-delay=\"2850\"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration=\"2900\"],body[data-aos-duration=\"2900\"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay=\"2900\"],body[data-aos-delay=\"2900\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2900\"].aos-animate,body[data-aos-delay=\"2900\"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration=\"2950\"],body[data-aos-duration=\"2950\"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay=\"2950\"],body[data-aos-delay=\"2950\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"2950\"].aos-animate,body[data-aos-delay=\"2950\"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration=\"3000\"],body[data-aos-duration=\"3000\"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay=\"3000\"],body[data-aos-delay=\"3000\"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay=\"3000\"].aos-animate,body[data-aos-delay=\"3000\"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos^=slide][data-aos^=slide]{transition-property:transform}[data-aos^=slide][data-aos^=slide].aos-animate{transform:translateZ(0)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}[data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}", ""]);
+// Exports
+/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
+
+
+/***/ }),
+
+/***/ "./node_modules/css-loader/dist/runtime/api.js":
+/*!*****************************************************!*\
+ !*** ./node_modules/css-loader/dist/runtime/api.js ***!
+ \*****************************************************/
+/***/ ((module) => {
+
+"use strict";
+
+
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+// css base code, injected by the css-loader
+// eslint-disable-next-line func-names
+module.exports = function (cssWithMappingToString) {
+ var list = []; // return the list of modules as css string
+
+ list.toString = function toString() {
+ return this.map(function (item) {
+ var content = cssWithMappingToString(item);
+
+ if (item[2]) {
+ return "@media ".concat(item[2], " {").concat(content, "}");
+ }
+
+ return content;
+ }).join("");
+ }; // import a list of modules into the list
+ // eslint-disable-next-line func-names
+
+
+ list.i = function (modules, mediaQuery, dedupe) {
+ if (typeof modules === "string") {
+ // eslint-disable-next-line no-param-reassign
+ modules = [[null, modules, ""]];
+ }
+
+ var alreadyImportedModules = {};
+
+ if (dedupe) {
+ for (var i = 0; i < this.length; i++) {
+ // eslint-disable-next-line prefer-destructuring
+ var id = this[i][0];
+
+ if (id != null) {
+ alreadyImportedModules[id] = true;
+ }
+ }
+ }
+
+ for (var _i = 0; _i < modules.length; _i++) {
+ var item = [].concat(modules[_i]);
+
+ if (dedupe && alreadyImportedModules[item[0]]) {
+ // eslint-disable-next-line no-continue
+ continue;
+ }
+
+ if (mediaQuery) {
+ if (!item[2]) {
+ item[2] = mediaQuery;
+ } else {
+ item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
+ }
+ }
+
+ list.push(item);
+ }
+ };
+
+ return list;
+};
+
+/***/ }),
+
+/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
+ \****************************************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+
+
+var isOldIE = function isOldIE() {
+ var memo;
+ return function memorize() {
+ if (typeof memo === 'undefined') {
+ // Test for IE <= 9 as proposed by Browserhacks
+ // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
+ // Tests for existence of standard globals is to allow style-loader
+ // to operate correctly into non-standard environments
+ // @see https://github.com/webpack-contrib/style-loader/issues/177
+ memo = Boolean(window && document && document.all && !window.atob);
+ }
+
+ return memo;
+ };
+}();
+
+var getTarget = function getTarget() {
+ var memo = {};
+ return function memorize(target) {
+ if (typeof memo[target] === 'undefined') {
+ var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
+
+ if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
+ try {
+ // This will throw an exception if access to iframe is blocked
+ // due to cross-origin restrictions
+ styleTarget = styleTarget.contentDocument.head;
+ } catch (e) {
+ // istanbul ignore next
+ styleTarget = null;
+ }
+ }
+
+ memo[target] = styleTarget;
+ }
+
+ return memo[target];
+ };
+}();
+
+var stylesInDom = [];
+
+function getIndexByIdentifier(identifier) {
+ var result = -1;
+
+ for (var i = 0; i < stylesInDom.length; i++) {
+ if (stylesInDom[i].identifier === identifier) {
+ result = i;
+ break;
+ }
+ }
+
+ return result;
+}
+
+function modulesToDom(list, options) {
+ var idCountMap = {};
+ var identifiers = [];
+
+ for (var i = 0; i < list.length; i++) {
+ var item = list[i];
+ var id = options.base ? item[0] + options.base : item[0];
+ var count = idCountMap[id] || 0;
+ var identifier = "".concat(id, " ").concat(count);
+ idCountMap[id] = count + 1;
+ var index = getIndexByIdentifier(identifier);
+ var obj = {
+ css: item[1],
+ media: item[2],
+ sourceMap: item[3]
+ };
+
+ if (index !== -1) {
+ stylesInDom[index].references++;
+ stylesInDom[index].updater(obj);
+ } else {
+ stylesInDom.push({
+ identifier: identifier,
+ updater: addStyle(obj, options),
+ references: 1
+ });
+ }
+
+ identifiers.push(identifier);
+ }
+
+ return identifiers;
+}
+
+function insertStyleElement(options) {
+ var style = document.createElement('style');
+ var attributes = options.attributes || {};
+
+ if (typeof attributes.nonce === 'undefined') {
+ var nonce = true ? __webpack_require__.nc : 0;
+
+ if (nonce) {
+ attributes.nonce = nonce;
+ }
+ }
+
+ Object.keys(attributes).forEach(function (key) {
+ style.setAttribute(key, attributes[key]);
+ });
+
+ if (typeof options.insert === 'function') {
+ options.insert(style);
+ } else {
+ var target = getTarget(options.insert || 'head');
+
+ if (!target) {
+ throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
+ }
+
+ target.appendChild(style);
+ }
+
+ return style;
+}
+
+function removeStyleElement(style) {
+ // istanbul ignore if
+ if (style.parentNode === null) {
+ return false;
+ }
+
+ style.parentNode.removeChild(style);
+}
+/* istanbul ignore next */
+
+
+var replaceText = function replaceText() {
+ var textStore = [];
+ return function replace(index, replacement) {
+ textStore[index] = replacement;
+ return textStore.filter(Boolean).join('\n');
+ };
+}();
+
+function applyToSingletonTag(style, index, remove, obj) {
+ var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE
+
+ /* istanbul ignore if */
+
+ if (style.styleSheet) {
+ style.styleSheet.cssText = replaceText(index, css);
+ } else {
+ var cssNode = document.createTextNode(css);
+ var childNodes = style.childNodes;
+
+ if (childNodes[index]) {
+ style.removeChild(childNodes[index]);
+ }
+
+ if (childNodes.length) {
+ style.insertBefore(cssNode, childNodes[index]);
+ } else {
+ style.appendChild(cssNode);
+ }
+ }
+}
+
+function applyToTag(style, options, obj) {
+ var css = obj.css;
+ var media = obj.media;
+ var sourceMap = obj.sourceMap;
+
+ if (media) {
+ style.setAttribute('media', media);
+ } else {
+ style.removeAttribute('media');
+ }
+
+ if (sourceMap && typeof btoa !== 'undefined') {
+ css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
+ } // For old IE
+
+ /* istanbul ignore if */
+
+
+ if (style.styleSheet) {
+ style.styleSheet.cssText = css;
+ } else {
+ while (style.firstChild) {
+ style.removeChild(style.firstChild);
+ }
+
+ style.appendChild(document.createTextNode(css));
+ }
+}
+
+var singleton = null;
+var singletonCounter = 0;
+
+function addStyle(obj, options) {
+ var style;
+ var update;
+ var remove;
+
+ if (options.singleton) {
+ var styleIndex = singletonCounter++;
+ style = singleton || (singleton = insertStyleElement(options));
+ update = applyToSingletonTag.bind(null, style, styleIndex, false);
+ remove = applyToSingletonTag.bind(null, style, styleIndex, true);
+ } else {
+ style = insertStyleElement(options);
+ update = applyToTag.bind(null, style, options);
+
+ remove = function remove() {
+ removeStyleElement(style);
+ };
+ }
+
+ update(obj);
+ return function updateStyle(newObj) {
+ if (newObj) {
+ if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
+ return;
+ }
+
+ update(obj = newObj);
+ } else {
+ remove();
+ }
+ };
+}
+
+module.exports = function (list, options) {
+ options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of