diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/Administration/Images/configure.png b/Administration/Images/configure.png new file mode 100644 index 0000000..212a81a Binary files /dev/null and b/Administration/Images/configure.png differ diff --git a/Administration/Index.html b/Administration/Index.html new file mode 100644 index 0000000..b1cc550 --- /dev/null +++ b/Administration/Index.html @@ -0,0 +1,321 @@ + + + + Administration documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Administration

+ +

Installation for both TYPO3 CMS installation types (manual/composer) +are supported. For both a compatible installation is provided.

+ +
+

Manual installations

+ +

Download the extension recaptcha either with the browser from typo3.org_ +or github and upload it into the installation in the admin tools extensions, +or directly in the admin tools extensions with the integrated search.

+ +
+
+

Composer installations

+ +

On the console in the folder where the project composer.json resides +just type:

+ +
+ Installation via composer +
+ +
composer require evoweb/recaptcha ^8.2
+composer update
+
+ + Copied! +
+
+
+
+

Activation

+ +

After the extension is installed by either way you always need to activate +it. Normally this is done in the admin tools extensions. But its also possible +to activate it via console:

+ +
+ Activate extension on shell +
+ +
$ ./bin/typo3 extensionmanager:extension:install recaptcha
+
+ + Copied! +
+
+
+
+

Configuration

+ +

If, the captcha should be usable in backend context or you like to have +a default configuration without touching TypoScript, the extensions +need to be configured in the admin tools extensions. Via the cog as shown +on the screenshot.

+ +
+ Configure extension settings + + + +
+
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/BreakingChanges/Index.html b/BreakingChanges/Index.html new file mode 100644 index 0000000..d8dd14b --- /dev/null +++ b/BreakingChanges/Index.html @@ -0,0 +1,286 @@ + + + + Breaking Changes documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Breaking Changes

+
+

13. August 2023

+
+

Partials

+ +

Frontend partials have be changed. If modified check if your partials on changed +made to hidden fields.

+ +
+
+

Configuration removed

+
+
TypoScript setup
+ +
+ +
    +
  • invisibleCallback
  • +
  • captchaCssClass
  • +
+
+
TypoScript constants
+ +
+ +
    +
  • invisible_recaptcha_formname
  • +
  • include_invisible_recaptcha_callback
  • +
+
+
+ +

Remove support for EXT:formhandler

+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Configuration/Index.html b/Configuration/Index.html new file mode 100644 index 0000000..2e91e90 --- /dev/null +++ b/Configuration/Index.html @@ -0,0 +1,472 @@ + + + + Configuration documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Configuration

+ + +
+

Reference

+ +

Following parameter are available as constants. And with the same +name also as setup parameter.

+ + +

plugin.tx_recaptcha:

+ +
+
+
Property
+ +
api_server
+
Data type
+ +
string
+
Default
+ +
https://www.google.com/recaptcha/api.js
+
Description
+ +
This url is used to include the basic frontend functionality. +In general it's not necessary to modify this url. In case +that the api changes and the extension is not updated quick +enough changing this parameter keeps the frontend working.
+
+
+ +
+
+
Property
+ +
verify_server
+
Data type
+ +
string
+
Default
+ +
https://www.google.com/recaptcha/api/siteverify
+
Description
+ +
Every verification uses this url to check if the captcha was +solved. +In general it's not necessary to modify this url. In case +that the api changes and the extension is not updated quick +enough changing this parameter keeps the validation working.
+
+
+ +
+
+
Property
+ +
public_key
+
Data type
+ +
string
+
Default
+ +
6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
+
Description
+ +
+

The public key is needed for the frontend rendering.

+ +

Google provides a key for automatic testing purpose and this +is used as default. +To remove the warning that is caused by using the default key +please go to the recaptcha admin and register an own key for +use in your site.

+
+
+
+ +
+
+
Property
+ +
private_key
+
Data type
+ +
string
+
Default
+ +
6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
+
Description
+ +
+

The public key is needed for the validation of submits.

+ +

Google provides a key for automatic testing purpose and this +is used as default. +To remove the warning that is caused by using the default key +please go to the recaptcha admin and register an own key for +use in your site.

+
+
+
+ +
+
+
Property
+ +
lang
+
Data type
+ +
string
+
Default
+ +
empty
+
Description
+ +
Recaptcha is very good in automatic detecting which language +to use based on the users browser settings and with which IP +the page get's visited. +Only in case if it is really necessary set this parameter to +take influence on the rendered language.
+
+
+ +
+
+
Property
+ +
enforceCaptcha
+
Data type
+ +
bool
+
Default
+ +
0
+
Description
+ +
This configuration parameter will enforce the captcha to test +the functionality on development systems. +EXT:recaptcha uses the application context to detect if an +installation is running in Development mode. If so the captcha +is not rendered or validated. +This is a to reduce external calls and b to not bother the +integrator every time he has to test forms. Because after a +limited amount of tests the captcha testing games must always +be solved instead only clicking a checkbox.
+
+
+ +
+
+
Property
+ +
invisibleCallback
+
Data type
+ +
string
+
Default
+ +
onRecaptchaSubmit
+
Description
+ +
[Only TypoScript] +For invisible reCAPTCHA its necessary to have a callback +function in JavaScript. It is possible to have own code +that derives from the included. If in this case the name +of the callback is changed please adjust this parameter +to match the new name.
+
+
+ +
+
+
Property
+ +
theme
+
Data type
+ +
string
+
Default
+ +
light
+
Description
+ +
[Only TypoScript] +For change the theme for recaptcha (light or dark).
+
+
+ +
+
+
Property
+ +
robotMode
+
Data type
+ +
bool
+
Default
+ +
0
+
Description
+ +
[Only TypoScript] +Add the possibility to set the recaptcha into robot mode in production environment. +The recaptcha will not be displayed like in development mode.
+
+
+ +
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/ContentSecurityPolicy/Index.html b/ContentSecurityPolicy/Index.html new file mode 100644 index 0000000..e077e41 --- /dev/null +++ b/ContentSecurityPolicy/Index.html @@ -0,0 +1,302 @@ + + + + Content Security Policy documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Content Security Policy

+
+

Reason

+ +

Since TYPO3 12 handling of content security policies are introduced. If this +feature is active, the recaptcha javascript can not be loaded without additional +configuration.

+ +
+
+

CSP Configuration

+ +

To get the recaptcha working with csp feature active, it's necessary to add an +extending mutation to the site configuration in a csp.yaml named file.

+ +
+ project_root/config/sites/main/csp.yaml +
+ +
inheritDefault: true
+mutations:
+  - mode: extend
+    directive: 'frame-src'
+    sources:
+      - 'https://www.google.com/recaptcha/'
+      - 'https://recaptcha.google.com/recaptcha/'
+
+  - mode: extend
+    directive: 'script-src'
+    sources:
+      - 'https://www.google.com/recaptcha/'
+      - 'https://www.gstatic.com/recaptcha/'
+
+ + Copied! +
+
+
+
+

Template modifications

+ +

In previous releases some onclick javascript was used. While the CSP rules are +in place, this should be omitted. Some code was moved to the Frontend/form.js. +Other was replaced with hidden inputs.

+ + +

If you override the Frontend/Partials/Form/Navigation.html please check if it's +in line with the provided file.

+ +
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Index.html b/Index.html new file mode 100644 index 0000000..fb4f3bd --- /dev/null +++ b/Index.html @@ -0,0 +1,357 @@ + + + + reCAPTCHA: Easy on Humans, Hard on Bots documentation + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+

reCAPTCHA: Easy on Humans, Hard on Bots

+
+
Extension Key
+ +
+ +

recaptcha

+
+
Package name
+ +
+ +

evoweb/recaptcha

+
+
Version
+ +
+ +
+
Language
+ +
+ +

en

+
+
Description
+ +
+ +

Extension to provide reCAPTCHA and invisible reCAPTCHA to form related actions.

+
+
Copyright
+ +
+ +

2015-2024

+
+
Author
+ +
+ +

Sebastian Fischer

+
+
License
+ +
+ +

This document is published under the +Open Publication. +license.

+
+
Rendered
+ +
+ +

Sun, 19 May 2024 17:39:08 +0000

+
+
+
+ +

The content of this document is related to TYPO3, +a GNU/GPL CMS/Framework available from http://typo3.org

+ +
+ +

Table of Contents:

+ +
+ +
+ +
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Integration/Index.html b/Integration/Index.html new file mode 100644 index 0000000..b1ab798 --- /dev/null +++ b/Integration/Index.html @@ -0,0 +1,404 @@ + + + + Integration documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Integration

+
+

Use in your extension

+ +

To make use of this extension is quite easy as there is only one +service needed. By instantiating the +EvowebRecaptchaServicesCaptchaService it's possible to render +and validate the captcha. +Beside the service there are a ViewHelper and a Validator for use in +extbase extensions.

+ +
+
+

Integration in your own code

+
+

Rendering hole captcha

+ +

To render you are able to let the service take care of the output +by calling getReCaptcha.

+ +
+ Get rendered captcha from service +
+ +
$captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class);
+$output = $captchaService->getReCaptcha();
+
+ + Copied! +
+
+ +

Please keep in mind that it only renders the captcha. If you need +something to trigger the validation in your controller it's up to +you to add the code.

+ +
+
+

Render on your own

+ +

If you prefer to render on your own its possible to let the service +prepare the settings for you.

+ +
+ Get settings to render individually +
+ +
$captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class);
+$configuration = $captchaService->getConfiguration();
+$showCaptcha = $captchaService->getShowCaptcha();
+
+ + Copied! +
+
+ +

By using this you need to render the html completely on your own.

+ +
+
+

Validate submitted form

+ +

To validate just call the validateReCaptcha method and you get the +result of the validation to check against.

+ +
+ Validate captcha in extension +
+ +
$validCaptcha = false;
+
+$captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class);
+$captchaServiceValidation = $captchaService->validateReCaptcha();
+if (isset($captchaServiceValidation['verified'])) {
+	if ($captchaServiceValidation['verified'] === true) {
+		$validCaptcha = true;
+	}
+}
+
+ + Copied! +
+
+
+
+
+

Integration in extbase extension

+
+

Rendering the captcha

+ +

For rendering the captcha in a fluid template there is a ViewHelper +that prepares the configuration and then renders the captcha.

+ +
+ ViewHelper example integration +
+ +
<r:form.recaptcha>
+   <f:if condition="{showCaptcha}">
+      <f:then>
+         <f:form.hidden property="{name}" value="1" />
+         <div class="g-recaptcha" data-sitekey="{configuration.public_key}"></div>
+      </f:then>
+      <f:else>
+         <div class="recaptcha-development-mode">
+            Development mode active. Do not expect the captcha to appear.
+         </div>
+      </f:else>
+   </f:if>
+</r:form.recaptcha>
+
+ + Copied! +
+
+
+
+

Validation in model

+ +

After the form was submitted the validation of the form model is quite +easy. Just annotate as usual.

+ +
+ Add captcha validator to model property +
+ +
/**
+ * virtual not stored in database
+ *
+ * @var string
+ * @validate \Evoweb\Recaptcha\Validation\RecaptchaValidator
+ */
+protected $captcha;
+
+ + Copied! +
+
+
+
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Introduction/Images/recaptcha.png b/Introduction/Images/recaptcha.png new file mode 100644 index 0000000..702facf Binary files /dev/null and b/Introduction/Images/recaptcha.png differ diff --git a/Introduction/Index.html b/Introduction/Index.html new file mode 100644 index 0000000..31301d4 --- /dev/null +++ b/Introduction/Index.html @@ -0,0 +1,291 @@ + + + + Introduction documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Introduction

+ +

This Documentation was written for version 8.2.0 of the extension.

+ +
+

Functionality

+ +

Only purpose is to render the reCAPTCHA and validate the response. +But provide these to other extensions which consumes the service.

+ + +

Also there are limited integrations into other extensions implemented. +These act more as an living example and integrate only in extensions +used by the author self.

+ +
+ Show example of captcha output + + + +
+
+
+

Features

+ +

As a very focused extension only the following features are integrated

+ +
+ +
    +
  • service for display and validation
  • +
  • integration in form rendering of EXT:form
  • +
  • integration of invisible captcha in EXT:form
  • +
  • viewHelper for display in fluid templates
  • +
  • validator for usage in extbase domain model validation
  • +
  • adapter for in-/visible captcha in sf_register
  • +
  • adapter for in-/visible captcha in typoscript
  • +
+
+
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Sitemap.html b/Sitemap.html new file mode 100644 index 0000000..7f36369 --- /dev/null +++ b/Sitemap.html @@ -0,0 +1,294 @@ + + + + Sitemap documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+ +
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Templating/Index.html b/Templating/Index.html new file mode 100644 index 0000000..e20dba6 --- /dev/null +++ b/Templating/Index.html @@ -0,0 +1,349 @@ + + + + Templating documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Templating

+ +

For templating there are only two interesting parts to consider. How +to use the ViewHelper and direct inclusion in custom extension are +the only parts to modify.

+ +
+

ViewHelper integration

+ +

Using the ViewHelper has the benefit that it covers the hole configuration +discovery with fallback. Inside the ViewHelper three variables are set.

+ +
+
+
Property
+ +
name
+
Data type
+ +
string
+
Default
+ +
formName[formObject][captcha]
+
Description
+ +
This value depends heavily on fluids field name generation +and will vary through out the templates where it gets used.
+
+
+ +
+
+
Property
+ +
showCaptcha
+
Data type
+ +
bool
+
Default
+ +
true on Development and false on Production
+
Description
+ +
Contains whether the catpcha should be rendered at all and +depends on the application mode.
+
+
+ +
+
+
Property
+ +
configuration
+
Data type
+ +
array
+
Default
+ +
settings from TypoScript
+
Description
+ +
Provides the configuration set in TypoScript with fallback +to extension configuration set in admin tools extensions.
+
+
+ +
+ ViewHelper example integration +
+ +
<r:form.recaptcha>
+   <f:if condition="{showCaptcha}">
+      <f:then>
+         <f:form.hidden property="{name}" value="1" />
+         <div class="g-recaptcha" data-sitekey="{configuration.public_key}"></div>
+      </f:then>
+      <f:else>
+         <div class="recaptcha-development-mode">
+            Development mode active. Do not expect the captcha to appear.
+         </div>
+      </f:else>
+   </f:if>
+</r:form.recaptcha>
+
+ + Copied! +
+
+
+
+

Integration in extension

+ +

Here the extension delivers only limited settings. In TypoScript there +is the public_key defined which can be rendered as stdWrap to resolve +an div container with all needed information to output the captcha.

+ +
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Tutorial/Index.html b/Tutorial/Index.html new file mode 100644 index 0000000..e1f7772 --- /dev/null +++ b/Tutorial/Index.html @@ -0,0 +1,278 @@ + + + + Tutorial documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Tutorial

+
+

Use invisible recaptcha in EXT:form forms

+ +

To use the invisible captcha in the form you need to add the advanced +element "reCAPTCHA". This field has the validation automatically added. +Next step is to open the "Settings" of the form and need to check the +"Use invisible recaptcha".

+ + +

At last you need to add the TypoScript constants. One is to enable to +the inclusion of the invisible recaptcha callback and the other is to +tell the callback which id the form to handle has.

+ +
+ +
plugin.tx\_recaptcha {
+    include\_invisible\_recaptcha\_callback = 1
+    invisible\_recaptcha\_formname = captchaForm-4
+}
+
+ + Copied! +
+
+
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/UsersManual/Images/add_recaptcha.png b/UsersManual/Images/add_recaptcha.png new file mode 100644 index 0000000..ace14cf Binary files /dev/null and b/UsersManual/Images/add_recaptcha.png differ diff --git a/UsersManual/Images/added_recaptcha.png b/UsersManual/Images/added_recaptcha.png new file mode 100644 index 0000000..936f891 Binary files /dev/null and b/UsersManual/Images/added_recaptcha.png differ diff --git a/UsersManual/Images/invisible_recaptcha.png b/UsersManual/Images/invisible_recaptcha.png new file mode 100644 index 0000000..38b18f4 Binary files /dev/null and b/UsersManual/Images/invisible_recaptcha.png differ diff --git a/UsersManual/Index.html b/UsersManual/Index.html new file mode 100644 index 0000000..764a214 --- /dev/null +++ b/UsersManual/Index.html @@ -0,0 +1,340 @@ + + + + Users manual documentation + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ +

Users manual

+
+

Usage in ext:form manager

+ +

This extension doesn't come with a content element of any sort. As +it is only a service the captcha can't be used on its own. But there +is one part where editors are able to have the possibility to configure +captcha related settings.

+ +
+

Add captcha to form

+ +

In the form manager it's possible to add the captcha to a form by +choosing it in the new field wizard.

+ +
+ Recaptcha on the form element wizard + + + +
+
+
+

Configure label

+ +

After the selection the user is able to choose if the label should be +rendered in frontend and if so what label text should be used.

+ +
+ Add recaptcha element in form + + + +
+
+
+

Use invisible captcha

+ +

To use the invisible reCAPTCHA it's necessary to add an captcha field. +Once this is done the form needs to be configured via the settings +button on top of the form editor. There the checkbox for +"Use invisible recaptcha" needs to be checked.

+ +
+ Configuration of invisible recaptcha + + + +
+
+
+
+

Usage in ext:formhandler

+ +

The invisible mode is only supported at the moment.

+ + +

Marker for the hidden field:

+ +
+ +
###recaptcha_invisible###
+
+ + Copied! +
+
+ +

Marker for the submit button:

+ +
+ +
###recaptcha_button_invisible###
+
+ + Copied! +
+
+
+
+ +
+
+ + +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/_resources/css/theme.css b/_resources/css/theme.css new file mode 100644 index 0000000..cdfc851 --- /dev/null +++ b/_resources/css/theme.css @@ -0,0 +1,25603 @@ +@charset "UTF-8"; +/*! + * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +.fa { + font-family: var(--fa-style-family, "Font Awesome 6 Free"); + font-weight: var(--fa-style, 900); +} + +.fa, +.fa-classic, +.fa-sharp, +.fas, +.fa-solid, +.far, +.fa-regular, +.fab, +.fa-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: var(--fa-display, inline-block); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; +} + +.fas, +.fa-classic, +.fa-solid, +.far, +.fa-regular { + font-family: "Font Awesome 6 Free"; +} + +.fab, +.fa-brands { + font-family: "Font Awesome 6 Brands"; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; +} + +.fa-xs { + font-size: 0.75em; + line-height: 0.0833333337em; + vertical-align: 0.125em; +} + +.fa-sm { + font-size: 0.875em; + line-height: 0.0714285718em; + vertical-align: 0.0535714295em; +} + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; +} + +.fa-xl { + font-size: 1.5em; + line-height: 0.0416666682em; + vertical-align: -0.125em; +} + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; +} +.fa-ul > li { + position: relative; +} + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; +} + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); +} + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); +} + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); +} + +.fa-beat { + animation-name: fa-beat; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-bounce { + animation-name: fa-bounce; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); +} + +.fa-fade { + animation-name: fa-fade; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-beat-fade { + animation-name: fa-beat-fade; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-flip { + animation-name: fa-flip; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-shake { + animation-name: fa-shake; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin { + animation-name: fa-spin; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 2s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-reverse { + --fa-animation-direction: reverse; +} + +.fa-pulse, +.fa-spin-pulse { + animation-name: fa-spin; + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, steps(8)); +} + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse { + animation-delay: -1ms; + animation-duration: 1ms; + animation-iteration-count: 1; + transition-delay: 0s; + transition-duration: 0s; + } +} +@keyframes fa-beat { + 0%, 90% { + transform: scale(1); + } + 45% { + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@keyframes fa-bounce { + 0% { + transform: scale(1, 1) translateY(0); + } + 10% { + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + transform: scale(1, 1) translateY(0); + } + 100% { + transform: scale(1, 1) translateY(0); + } +} +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + transform: scale(1); + } + 50% { + opacity: 1; + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@keyframes fa-flip { + 50% { + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@keyframes fa-shake { + 0% { + transform: rotate(-15deg); + } + 4% { + transform: rotate(15deg); + } + 8%, 24% { + transform: rotate(-18deg); + } + 12%, 28% { + transform: rotate(18deg); + } + 16% { + transform: rotate(-22deg); + } + 20% { + transform: rotate(22deg); + } + 32% { + transform: rotate(-12deg); + } + 36% { + transform: rotate(12deg); + } + 40%, 100% { + transform: rotate(0deg); + } +} +@keyframes fa-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +.fa-rotate-90 { + transform: rotate(90deg); +} + +.fa-rotate-180 { + transform: rotate(180deg); +} + +.fa-rotate-270 { + transform: rotate(270deg); +} + +.fa-flip-horizontal { + transform: scale(-1, 1); +} + +.fa-flip-vertical { + transform: scale(1, -1); +} + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + transform: scale(-1, -1); +} + +.fa-rotate-by { + transform: rotate(var(--fa-rotate-angle, none)); +} + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: var(--fa-stack-z-index, auto); +} + +.fa-stack-1x { + line-height: inherit; +} + +.fa-stack-2x { + font-size: 2em; +} + +.fa-inverse { + color: var(--fa-inverse, #fff); +} + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-0::before { + content: "\30 "; +} + +.fa-1::before { + content: "\31 "; +} + +.fa-2::before { + content: "\32 "; +} + +.fa-3::before { + content: "\33 "; +} + +.fa-4::before { + content: "\34 "; +} + +.fa-5::before { + content: "\35 "; +} + +.fa-6::before { + content: "\36 "; +} + +.fa-7::before { + content: "\37 "; +} + +.fa-8::before { + content: "\38 "; +} + +.fa-9::before { + content: "\39 "; +} + +.fa-fill-drip::before { + content: "\f576"; +} + +.fa-arrows-to-circle::before { + content: "\e4bd"; +} + +.fa-circle-chevron-right::before { + content: "\f138"; +} + +.fa-chevron-circle-right::before { + content: "\f138"; +} + +.fa-at::before { + content: "\@"; +} + +.fa-trash-can::before { + content: "\f2ed"; +} + +.fa-trash-alt::before { + content: "\f2ed"; +} + +.fa-text-height::before { + content: "\f034"; +} + +.fa-user-xmark::before { + content: "\f235"; +} + +.fa-user-times::before { + content: "\f235"; +} + +.fa-stethoscope::before { + content: "\f0f1"; +} + +.fa-message::before { + content: "\f27a"; +} + +.fa-comment-alt::before { + content: "\f27a"; +} + +.fa-info::before { + content: "\f129"; +} + +.fa-down-left-and-up-right-to-center::before { + content: "\f422"; +} + +.fa-compress-alt::before { + content: "\f422"; +} + +.fa-explosion::before { + content: "\e4e9"; +} + +.fa-file-lines::before { + content: "\f15c"; +} + +.fa-file-alt::before { + content: "\f15c"; +} + +.fa-file-text::before { + content: "\f15c"; +} + +.fa-wave-square::before { + content: "\f83e"; +} + +.fa-ring::before { + content: "\f70b"; +} + +.fa-building-un::before { + content: "\e4d9"; +} + +.fa-dice-three::before { + content: "\f527"; +} + +.fa-calendar-days::before { + content: "\f073"; +} + +.fa-calendar-alt::before { + content: "\f073"; +} + +.fa-anchor-circle-check::before { + content: "\e4aa"; +} + +.fa-building-circle-arrow-right::before { + content: "\e4d1"; +} + +.fa-volleyball::before { + content: "\f45f"; +} + +.fa-volleyball-ball::before { + content: "\f45f"; +} + +.fa-arrows-up-to-line::before { + content: "\e4c2"; +} + +.fa-sort-down::before { + content: "\f0dd"; +} + +.fa-sort-desc::before { + content: "\f0dd"; +} + +.fa-circle-minus::before { + content: "\f056"; +} + +.fa-minus-circle::before { + content: "\f056"; +} + +.fa-door-open::before { + content: "\f52b"; +} + +.fa-right-from-bracket::before { + content: "\f2f5"; +} + +.fa-sign-out-alt::before { + content: "\f2f5"; +} + +.fa-atom::before { + content: "\f5d2"; +} + +.fa-soap::before { + content: "\e06e"; +} + +.fa-icons::before { + content: "\f86d"; +} + +.fa-heart-music-camera-bolt::before { + content: "\f86d"; +} + +.fa-microphone-lines-slash::before { + content: "\f539"; +} + +.fa-microphone-alt-slash::before { + content: "\f539"; +} + +.fa-bridge-circle-check::before { + content: "\e4c9"; +} + +.fa-pump-medical::before { + content: "\e06a"; +} + +.fa-fingerprint::before { + content: "\f577"; +} + +.fa-hand-point-right::before { + content: "\f0a4"; +} + +.fa-magnifying-glass-location::before { + content: "\f689"; +} + +.fa-search-location::before { + content: "\f689"; +} + +.fa-forward-step::before { + content: "\f051"; +} + +.fa-step-forward::before { + content: "\f051"; +} + +.fa-face-smile-beam::before { + content: "\f5b8"; +} + +.fa-smile-beam::before { + content: "\f5b8"; +} + +.fa-flag-checkered::before { + content: "\f11e"; +} + +.fa-football::before { + content: "\f44e"; +} + +.fa-football-ball::before { + content: "\f44e"; +} + +.fa-school-circle-exclamation::before { + content: "\e56c"; +} + +.fa-crop::before { + content: "\f125"; +} + +.fa-angles-down::before { + content: "\f103"; +} + +.fa-angle-double-down::before { + content: "\f103"; +} + +.fa-users-rectangle::before { + content: "\e594"; +} + +.fa-people-roof::before { + content: "\e537"; +} + +.fa-people-line::before { + content: "\e534"; +} + +.fa-beer-mug-empty::before { + content: "\f0fc"; +} + +.fa-beer::before { + content: "\f0fc"; +} + +.fa-diagram-predecessor::before { + content: "\e477"; +} + +.fa-arrow-up-long::before { + content: "\f176"; +} + +.fa-long-arrow-up::before { + content: "\f176"; +} + +.fa-fire-flame-simple::before { + content: "\f46a"; +} + +.fa-burn::before { + content: "\f46a"; +} + +.fa-person::before { + content: "\f183"; +} + +.fa-male::before { + content: "\f183"; +} + +.fa-laptop::before { + content: "\f109"; +} + +.fa-file-csv::before { + content: "\f6dd"; +} + +.fa-menorah::before { + content: "\f676"; +} + +.fa-truck-plane::before { + content: "\e58f"; +} + +.fa-record-vinyl::before { + content: "\f8d9"; +} + +.fa-face-grin-stars::before { + content: "\f587"; +} + +.fa-grin-stars::before { + content: "\f587"; +} + +.fa-bong::before { + content: "\f55c"; +} + +.fa-spaghetti-monster-flying::before { + content: "\f67b"; +} + +.fa-pastafarianism::before { + content: "\f67b"; +} + +.fa-arrow-down-up-across-line::before { + content: "\e4af"; +} + +.fa-spoon::before { + content: "\f2e5"; +} + +.fa-utensil-spoon::before { + content: "\f2e5"; +} + +.fa-jar-wheat::before { + content: "\e517"; +} + +.fa-envelopes-bulk::before { + content: "\f674"; +} + +.fa-mail-bulk::before { + content: "\f674"; +} + +.fa-file-circle-exclamation::before { + content: "\e4eb"; +} + +.fa-circle-h::before { + content: "\f47e"; +} + +.fa-hospital-symbol::before { + content: "\f47e"; +} + +.fa-pager::before { + content: "\f815"; +} + +.fa-address-book::before { + content: "\f2b9"; +} + +.fa-contact-book::before { + content: "\f2b9"; +} + +.fa-strikethrough::before { + content: "\f0cc"; +} + +.fa-k::before { + content: "K"; +} + +.fa-landmark-flag::before { + content: "\e51c"; +} + +.fa-pencil::before { + content: "\f303"; +} + +.fa-pencil-alt::before { + content: "\f303"; +} + +.fa-backward::before { + content: "\f04a"; +} + +.fa-caret-right::before { + content: "\f0da"; +} + +.fa-comments::before { + content: "\f086"; +} + +.fa-paste::before { + content: "\f0ea"; +} + +.fa-file-clipboard::before { + content: "\f0ea"; +} + +.fa-code-pull-request::before { + content: "\e13c"; +} + +.fa-clipboard-list::before { + content: "\f46d"; +} + +.fa-truck-ramp-box::before { + content: "\f4de"; +} + +.fa-truck-loading::before { + content: "\f4de"; +} + +.fa-user-check::before { + content: "\f4fc"; +} + +.fa-vial-virus::before { + content: "\e597"; +} + +.fa-sheet-plastic::before { + content: "\e571"; +} + +.fa-blog::before { + content: "\f781"; +} + +.fa-user-ninja::before { + content: "\f504"; +} + +.fa-person-arrow-up-from-line::before { + content: "\e539"; +} + +.fa-scroll-torah::before { + content: "\f6a0"; +} + +.fa-torah::before { + content: "\f6a0"; +} + +.fa-broom-ball::before { + content: "\f458"; +} + +.fa-quidditch::before { + content: "\f458"; +} + +.fa-quidditch-broom-ball::before { + content: "\f458"; +} + +.fa-toggle-off::before { + content: "\f204"; +} + +.fa-box-archive::before { + content: "\f187"; +} + +.fa-archive::before { + content: "\f187"; +} + +.fa-person-drowning::before { + content: "\e545"; +} + +.fa-arrow-down-9-1::before { + content: "\f886"; +} + +.fa-sort-numeric-desc::before { + content: "\f886"; +} + +.fa-sort-numeric-down-alt::before { + content: "\f886"; +} + +.fa-face-grin-tongue-squint::before { + content: "\f58a"; +} + +.fa-grin-tongue-squint::before { + content: "\f58a"; +} + +.fa-spray-can::before { + content: "\f5bd"; +} + +.fa-truck-monster::before { + content: "\f63b"; +} + +.fa-w::before { + content: "W"; +} + +.fa-earth-africa::before { + content: "\f57c"; +} + +.fa-globe-africa::before { + content: "\f57c"; +} + +.fa-rainbow::before { + content: "\f75b"; +} + +.fa-circle-notch::before { + content: "\f1ce"; +} + +.fa-tablet-screen-button::before { + content: "\f3fa"; +} + +.fa-tablet-alt::before { + content: "\f3fa"; +} + +.fa-paw::before { + content: "\f1b0"; +} + +.fa-cloud::before { + content: "\f0c2"; +} + +.fa-trowel-bricks::before { + content: "\e58a"; +} + +.fa-face-flushed::before { + content: "\f579"; +} + +.fa-flushed::before { + content: "\f579"; +} + +.fa-hospital-user::before { + content: "\f80d"; +} + +.fa-tent-arrow-left-right::before { + content: "\e57f"; +} + +.fa-gavel::before { + content: "\f0e3"; +} + +.fa-legal::before { + content: "\f0e3"; +} + +.fa-binoculars::before { + content: "\f1e5"; +} + +.fa-microphone-slash::before { + content: "\f131"; +} + +.fa-box-tissue::before { + content: "\e05b"; +} + +.fa-motorcycle::before { + content: "\f21c"; +} + +.fa-bell-concierge::before { + content: "\f562"; +} + +.fa-concierge-bell::before { + content: "\f562"; +} + +.fa-pen-ruler::before { + content: "\f5ae"; +} + +.fa-pencil-ruler::before { + content: "\f5ae"; +} + +.fa-people-arrows::before { + content: "\e068"; +} + +.fa-people-arrows-left-right::before { + content: "\e068"; +} + +.fa-mars-and-venus-burst::before { + content: "\e523"; +} + +.fa-square-caret-right::before { + content: "\f152"; +} + +.fa-caret-square-right::before { + content: "\f152"; +} + +.fa-scissors::before { + content: "\f0c4"; +} + +.fa-cut::before { + content: "\f0c4"; +} + +.fa-sun-plant-wilt::before { + content: "\e57a"; +} + +.fa-toilets-portable::before { + content: "\e584"; +} + +.fa-hockey-puck::before { + content: "\f453"; +} + +.fa-table::before { + content: "\f0ce"; +} + +.fa-magnifying-glass-arrow-right::before { + content: "\e521"; +} + +.fa-tachograph-digital::before { + content: "\f566"; +} + +.fa-digital-tachograph::before { + content: "\f566"; +} + +.fa-users-slash::before { + content: "\e073"; +} + +.fa-clover::before { + content: "\e139"; +} + +.fa-reply::before { + content: "\f3e5"; +} + +.fa-mail-reply::before { + content: "\f3e5"; +} + +.fa-star-and-crescent::before { + content: "\f699"; +} + +.fa-house-fire::before { + content: "\e50c"; +} + +.fa-square-minus::before { + content: "\f146"; +} + +.fa-minus-square::before { + content: "\f146"; +} + +.fa-helicopter::before { + content: "\f533"; +} + +.fa-compass::before { + content: "\f14e"; +} + +.fa-square-caret-down::before { + content: "\f150"; +} + +.fa-caret-square-down::before { + content: "\f150"; +} + +.fa-file-circle-question::before { + content: "\e4ef"; +} + +.fa-laptop-code::before { + content: "\f5fc"; +} + +.fa-swatchbook::before { + content: "\f5c3"; +} + +.fa-prescription-bottle::before { + content: "\f485"; +} + +.fa-bars::before { + content: "\f0c9"; +} + +.fa-navicon::before { + content: "\f0c9"; +} + +.fa-people-group::before { + content: "\e533"; +} + +.fa-hourglass-end::before { + content: "\f253"; +} + +.fa-hourglass-3::before { + content: "\f253"; +} + +.fa-heart-crack::before { + content: "\f7a9"; +} + +.fa-heart-broken::before { + content: "\f7a9"; +} + +.fa-square-up-right::before { + content: "\f360"; +} + +.fa-external-link-square-alt::before { + content: "\f360"; +} + +.fa-face-kiss-beam::before { + content: "\f597"; +} + +.fa-kiss-beam::before { + content: "\f597"; +} + +.fa-film::before { + content: "\f008"; +} + +.fa-ruler-horizontal::before { + content: "\f547"; +} + +.fa-people-robbery::before { + content: "\e536"; +} + +.fa-lightbulb::before { + content: "\f0eb"; +} + +.fa-caret-left::before { + content: "\f0d9"; +} + +.fa-circle-exclamation::before { + content: "\f06a"; +} + +.fa-exclamation-circle::before { + content: "\f06a"; +} + +.fa-school-circle-xmark::before { + content: "\e56d"; +} + +.fa-arrow-right-from-bracket::before { + content: "\f08b"; +} + +.fa-sign-out::before { + content: "\f08b"; +} + +.fa-circle-chevron-down::before { + content: "\f13a"; +} + +.fa-chevron-circle-down::before { + content: "\f13a"; +} + +.fa-unlock-keyhole::before { + content: "\f13e"; +} + +.fa-unlock-alt::before { + content: "\f13e"; +} + +.fa-cloud-showers-heavy::before { + content: "\f740"; +} + +.fa-headphones-simple::before { + content: "\f58f"; +} + +.fa-headphones-alt::before { + content: "\f58f"; +} + +.fa-sitemap::before { + content: "\f0e8"; +} + +.fa-circle-dollar-to-slot::before { + content: "\f4b9"; +} + +.fa-donate::before { + content: "\f4b9"; +} + +.fa-memory::before { + content: "\f538"; +} + +.fa-road-spikes::before { + content: "\e568"; +} + +.fa-fire-burner::before { + content: "\e4f1"; +} + +.fa-flag::before { + content: "\f024"; +} + +.fa-hanukiah::before { + content: "\f6e6"; +} + +.fa-feather::before { + content: "\f52d"; +} + +.fa-volume-low::before { + content: "\f027"; +} + +.fa-volume-down::before { + content: "\f027"; +} + +.fa-comment-slash::before { + content: "\f4b3"; +} + +.fa-cloud-sun-rain::before { + content: "\f743"; +} + +.fa-compress::before { + content: "\f066"; +} + +.fa-wheat-awn::before { + content: "\e2cd"; +} + +.fa-wheat-alt::before { + content: "\e2cd"; +} + +.fa-ankh::before { + content: "\f644"; +} + +.fa-hands-holding-child::before { + content: "\e4fa"; +} + +.fa-asterisk::before { + content: "\*"; +} + +.fa-square-check::before { + content: "\f14a"; +} + +.fa-check-square::before { + content: "\f14a"; +} + +.fa-peseta-sign::before { + content: "\e221"; +} + +.fa-heading::before { + content: "\f1dc"; +} + +.fa-header::before { + content: "\f1dc"; +} + +.fa-ghost::before { + content: "\f6e2"; +} + +.fa-list::before { + content: "\f03a"; +} + +.fa-list-squares::before { + content: "\f03a"; +} + +.fa-square-phone-flip::before { + content: "\f87b"; +} + +.fa-phone-square-alt::before { + content: "\f87b"; +} + +.fa-cart-plus::before { + content: "\f217"; +} + +.fa-gamepad::before { + content: "\f11b"; +} + +.fa-circle-dot::before { + content: "\f192"; +} + +.fa-dot-circle::before { + content: "\f192"; +} + +.fa-face-dizzy::before { + content: "\f567"; +} + +.fa-dizzy::before { + content: "\f567"; +} + +.fa-egg::before { + content: "\f7fb"; +} + +.fa-house-medical-circle-xmark::before { + content: "\e513"; +} + +.fa-campground::before { + content: "\f6bb"; +} + +.fa-folder-plus::before { + content: "\f65e"; +} + +.fa-futbol::before { + content: "\f1e3"; +} + +.fa-futbol-ball::before { + content: "\f1e3"; +} + +.fa-soccer-ball::before { + content: "\f1e3"; +} + +.fa-paintbrush::before { + content: "\f1fc"; +} + +.fa-paint-brush::before { + content: "\f1fc"; +} + +.fa-lock::before { + content: "\f023"; +} + +.fa-gas-pump::before { + content: "\f52f"; +} + +.fa-hot-tub-person::before { + content: "\f593"; +} + +.fa-hot-tub::before { + content: "\f593"; +} + +.fa-map-location::before { + content: "\f59f"; +} + +.fa-map-marked::before { + content: "\f59f"; +} + +.fa-house-flood-water::before { + content: "\e50e"; +} + +.fa-tree::before { + content: "\f1bb"; +} + +.fa-bridge-lock::before { + content: "\e4cc"; +} + +.fa-sack-dollar::before { + content: "\f81d"; +} + +.fa-pen-to-square::before { + content: "\f044"; +} + +.fa-edit::before { + content: "\f044"; +} + +.fa-car-side::before { + content: "\f5e4"; +} + +.fa-share-nodes::before { + content: "\f1e0"; +} + +.fa-share-alt::before { + content: "\f1e0"; +} + +.fa-heart-circle-minus::before { + content: "\e4ff"; +} + +.fa-hourglass-half::before { + content: "\f252"; +} + +.fa-hourglass-2::before { + content: "\f252"; +} + +.fa-microscope::before { + content: "\f610"; +} + +.fa-sink::before { + content: "\e06d"; +} + +.fa-bag-shopping::before { + content: "\f290"; +} + +.fa-shopping-bag::before { + content: "\f290"; +} + +.fa-arrow-down-z-a::before { + content: "\f881"; +} + +.fa-sort-alpha-desc::before { + content: "\f881"; +} + +.fa-sort-alpha-down-alt::before { + content: "\f881"; +} + +.fa-mitten::before { + content: "\f7b5"; +} + +.fa-person-rays::before { + content: "\e54d"; +} + +.fa-users::before { + content: "\f0c0"; +} + +.fa-eye-slash::before { + content: "\f070"; +} + +.fa-flask-vial::before { + content: "\e4f3"; +} + +.fa-hand::before { + content: "\f256"; +} + +.fa-hand-paper::before { + content: "\f256"; +} + +.fa-om::before { + content: "\f679"; +} + +.fa-worm::before { + content: "\e599"; +} + +.fa-house-circle-xmark::before { + content: "\e50b"; +} + +.fa-plug::before { + content: "\f1e6"; +} + +.fa-chevron-up::before { + content: "\f077"; +} + +.fa-hand-spock::before { + content: "\f259"; +} + +.fa-stopwatch::before { + content: "\f2f2"; +} + +.fa-face-kiss::before { + content: "\f596"; +} + +.fa-kiss::before { + content: "\f596"; +} + +.fa-bridge-circle-xmark::before { + content: "\e4cb"; +} + +.fa-face-grin-tongue::before { + content: "\f589"; +} + +.fa-grin-tongue::before { + content: "\f589"; +} + +.fa-chess-bishop::before { + content: "\f43a"; +} + +.fa-face-grin-wink::before { + content: "\f58c"; +} + +.fa-grin-wink::before { + content: "\f58c"; +} + +.fa-ear-deaf::before { + content: "\f2a4"; +} + +.fa-deaf::before { + content: "\f2a4"; +} + +.fa-deafness::before { + content: "\f2a4"; +} + +.fa-hard-of-hearing::before { + content: "\f2a4"; +} + +.fa-road-circle-check::before { + content: "\e564"; +} + +.fa-dice-five::before { + content: "\f523"; +} + +.fa-square-rss::before { + content: "\f143"; +} + +.fa-rss-square::before { + content: "\f143"; +} + +.fa-land-mine-on::before { + content: "\e51b"; +} + +.fa-i-cursor::before { + content: "\f246"; +} + +.fa-stamp::before { + content: "\f5bf"; +} + +.fa-stairs::before { + content: "\e289"; +} + +.fa-i::before { + content: "I"; +} + +.fa-hryvnia-sign::before { + content: "\f6f2"; +} + +.fa-hryvnia::before { + content: "\f6f2"; +} + +.fa-pills::before { + content: "\f484"; +} + +.fa-face-grin-wide::before { + content: "\f581"; +} + +.fa-grin-alt::before { + content: "\f581"; +} + +.fa-tooth::before { + content: "\f5c9"; +} + +.fa-v::before { + content: "V"; +} + +.fa-bangladeshi-taka-sign::before { + content: "\e2e6"; +} + +.fa-bicycle::before { + content: "\f206"; +} + +.fa-staff-snake::before { + content: "\e579"; +} + +.fa-rod-asclepius::before { + content: "\e579"; +} + +.fa-rod-snake::before { + content: "\e579"; +} + +.fa-staff-aesculapius::before { + content: "\e579"; +} + +.fa-head-side-cough-slash::before { + content: "\e062"; +} + +.fa-truck-medical::before { + content: "\f0f9"; +} + +.fa-ambulance::before { + content: "\f0f9"; +} + +.fa-wheat-awn-circle-exclamation::before { + content: "\e598"; +} + +.fa-snowman::before { + content: "\f7d0"; +} + +.fa-mortar-pestle::before { + content: "\f5a7"; +} + +.fa-road-barrier::before { + content: "\e562"; +} + +.fa-school::before { + content: "\f549"; +} + +.fa-igloo::before { + content: "\f7ae"; +} + +.fa-joint::before { + content: "\f595"; +} + +.fa-angle-right::before { + content: "\f105"; +} + +.fa-horse::before { + content: "\f6f0"; +} + +.fa-q::before { + content: "Q"; +} + +.fa-g::before { + content: "G"; +} + +.fa-notes-medical::before { + content: "\f481"; +} + +.fa-temperature-half::before { + content: "\f2c9"; +} + +.fa-temperature-2::before { + content: "\f2c9"; +} + +.fa-thermometer-2::before { + content: "\f2c9"; +} + +.fa-thermometer-half::before { + content: "\f2c9"; +} + +.fa-dong-sign::before { + content: "\e169"; +} + +.fa-capsules::before { + content: "\f46b"; +} + +.fa-poo-storm::before { + content: "\f75a"; +} + +.fa-poo-bolt::before { + content: "\f75a"; +} + +.fa-face-frown-open::before { + content: "\f57a"; +} + +.fa-frown-open::before { + content: "\f57a"; +} + +.fa-hand-point-up::before { + content: "\f0a6"; +} + +.fa-money-bill::before { + content: "\f0d6"; +} + +.fa-bookmark::before { + content: "\f02e"; +} + +.fa-align-justify::before { + content: "\f039"; +} + +.fa-umbrella-beach::before { + content: "\f5ca"; +} + +.fa-helmet-un::before { + content: "\e503"; +} + +.fa-bullseye::before { + content: "\f140"; +} + +.fa-bacon::before { + content: "\f7e5"; +} + +.fa-hand-point-down::before { + content: "\f0a7"; +} + +.fa-arrow-up-from-bracket::before { + content: "\e09a"; +} + +.fa-folder::before { + content: "\f07b"; +} + +.fa-folder-blank::before { + content: "\f07b"; +} + +.fa-file-waveform::before { + content: "\f478"; +} + +.fa-file-medical-alt::before { + content: "\f478"; +} + +.fa-radiation::before { + content: "\f7b9"; +} + +.fa-chart-simple::before { + content: "\e473"; +} + +.fa-mars-stroke::before { + content: "\f229"; +} + +.fa-vial::before { + content: "\f492"; +} + +.fa-gauge::before { + content: "\f624"; +} + +.fa-dashboard::before { + content: "\f624"; +} + +.fa-gauge-med::before { + content: "\f624"; +} + +.fa-tachometer-alt-average::before { + content: "\f624"; +} + +.fa-wand-magic-sparkles::before { + content: "\e2ca"; +} + +.fa-magic-wand-sparkles::before { + content: "\e2ca"; +} + +.fa-e::before { + content: "E"; +} + +.fa-pen-clip::before { + content: "\f305"; +} + +.fa-pen-alt::before { + content: "\f305"; +} + +.fa-bridge-circle-exclamation::before { + content: "\e4ca"; +} + +.fa-user::before { + content: "\f007"; +} + +.fa-school-circle-check::before { + content: "\e56b"; +} + +.fa-dumpster::before { + content: "\f793"; +} + +.fa-van-shuttle::before { + content: "\f5b6"; +} + +.fa-shuttle-van::before { + content: "\f5b6"; +} + +.fa-building-user::before { + content: "\e4da"; +} + +.fa-square-caret-left::before { + content: "\f191"; +} + +.fa-caret-square-left::before { + content: "\f191"; +} + +.fa-highlighter::before { + content: "\f591"; +} + +.fa-key::before { + content: "\f084"; +} + +.fa-bullhorn::before { + content: "\f0a1"; +} + +.fa-globe::before { + content: "\f0ac"; +} + +.fa-synagogue::before { + content: "\f69b"; +} + +.fa-person-half-dress::before { + content: "\e548"; +} + +.fa-road-bridge::before { + content: "\e563"; +} + +.fa-location-arrow::before { + content: "\f124"; +} + +.fa-c::before { + content: "C"; +} + +.fa-tablet-button::before { + content: "\f10a"; +} + +.fa-building-lock::before { + content: "\e4d6"; +} + +.fa-pizza-slice::before { + content: "\f818"; +} + +.fa-money-bill-wave::before { + content: "\f53a"; +} + +.fa-chart-area::before { + content: "\f1fe"; +} + +.fa-area-chart::before { + content: "\f1fe"; +} + +.fa-house-flag::before { + content: "\e50d"; +} + +.fa-person-circle-minus::before { + content: "\e540"; +} + +.fa-ban::before { + content: "\f05e"; +} + +.fa-cancel::before { + content: "\f05e"; +} + +.fa-camera-rotate::before { + content: "\e0d8"; +} + +.fa-spray-can-sparkles::before { + content: "\f5d0"; +} + +.fa-air-freshener::before { + content: "\f5d0"; +} + +.fa-star::before { + content: "\f005"; +} + +.fa-repeat::before { + content: "\f363"; +} + +.fa-cross::before { + content: "\f654"; +} + +.fa-box::before { + content: "\f466"; +} + +.fa-venus-mars::before { + content: "\f228"; +} + +.fa-arrow-pointer::before { + content: "\f245"; +} + +.fa-mouse-pointer::before { + content: "\f245"; +} + +.fa-maximize::before { + content: "\f31e"; +} + +.fa-expand-arrows-alt::before { + content: "\f31e"; +} + +.fa-charging-station::before { + content: "\f5e7"; +} + +.fa-shapes::before { + content: "\f61f"; +} + +.fa-triangle-circle-square::before { + content: "\f61f"; +} + +.fa-shuffle::before { + content: "\f074"; +} + +.fa-random::before { + content: "\f074"; +} + +.fa-person-running::before { + content: "\f70c"; +} + +.fa-running::before { + content: "\f70c"; +} + +.fa-mobile-retro::before { + content: "\e527"; +} + +.fa-grip-lines-vertical::before { + content: "\f7a5"; +} + +.fa-spider::before { + content: "\f717"; +} + +.fa-hands-bound::before { + content: "\e4f9"; +} + +.fa-file-invoice-dollar::before { + content: "\f571"; +} + +.fa-plane-circle-exclamation::before { + content: "\e556"; +} + +.fa-x-ray::before { + content: "\f497"; +} + +.fa-spell-check::before { + content: "\f891"; +} + +.fa-slash::before { + content: "\f715"; +} + +.fa-computer-mouse::before { + content: "\f8cc"; +} + +.fa-mouse::before { + content: "\f8cc"; +} + +.fa-arrow-right-to-bracket::before { + content: "\f090"; +} + +.fa-sign-in::before { + content: "\f090"; +} + +.fa-shop-slash::before { + content: "\e070"; +} + +.fa-store-alt-slash::before { + content: "\e070"; +} + +.fa-server::before { + content: "\f233"; +} + +.fa-virus-covid-slash::before { + content: "\e4a9"; +} + +.fa-shop-lock::before { + content: "\e4a5"; +} + +.fa-hourglass-start::before { + content: "\f251"; +} + +.fa-hourglass-1::before { + content: "\f251"; +} + +.fa-blender-phone::before { + content: "\f6b6"; +} + +.fa-building-wheat::before { + content: "\e4db"; +} + +.fa-person-breastfeeding::before { + content: "\e53a"; +} + +.fa-right-to-bracket::before { + content: "\f2f6"; +} + +.fa-sign-in-alt::before { + content: "\f2f6"; +} + +.fa-venus::before { + content: "\f221"; +} + +.fa-passport::before { + content: "\f5ab"; +} + +.fa-heart-pulse::before { + content: "\f21e"; +} + +.fa-heartbeat::before { + content: "\f21e"; +} + +.fa-people-carry-box::before { + content: "\f4ce"; +} + +.fa-people-carry::before { + content: "\f4ce"; +} + +.fa-temperature-high::before { + content: "\f769"; +} + +.fa-microchip::before { + content: "\f2db"; +} + +.fa-crown::before { + content: "\f521"; +} + +.fa-weight-hanging::before { + content: "\f5cd"; +} + +.fa-xmarks-lines::before { + content: "\e59a"; +} + +.fa-file-prescription::before { + content: "\f572"; +} + +.fa-weight-scale::before { + content: "\f496"; +} + +.fa-weight::before { + content: "\f496"; +} + +.fa-user-group::before { + content: "\f500"; +} + +.fa-user-friends::before { + content: "\f500"; +} + +.fa-arrow-up-a-z::before { + content: "\f15e"; +} + +.fa-sort-alpha-up::before { + content: "\f15e"; +} + +.fa-chess-knight::before { + content: "\f441"; +} + +.fa-face-laugh-squint::before { + content: "\f59b"; +} + +.fa-laugh-squint::before { + content: "\f59b"; +} + +.fa-wheelchair::before { + content: "\f193"; +} + +.fa-circle-arrow-up::before { + content: "\f0aa"; +} + +.fa-arrow-circle-up::before { + content: "\f0aa"; +} + +.fa-toggle-on::before { + content: "\f205"; +} + +.fa-person-walking::before { + content: "\f554"; +} + +.fa-walking::before { + content: "\f554"; +} + +.fa-l::before { + content: "L"; +} + +.fa-fire::before { + content: "\f06d"; +} + +.fa-bed-pulse::before { + content: "\f487"; +} + +.fa-procedures::before { + content: "\f487"; +} + +.fa-shuttle-space::before { + content: "\f197"; +} + +.fa-space-shuttle::before { + content: "\f197"; +} + +.fa-face-laugh::before { + content: "\f599"; +} + +.fa-laugh::before { + content: "\f599"; +} + +.fa-folder-open::before { + content: "\f07c"; +} + +.fa-heart-circle-plus::before { + content: "\e500"; +} + +.fa-code-fork::before { + content: "\e13b"; +} + +.fa-city::before { + content: "\f64f"; +} + +.fa-microphone-lines::before { + content: "\f3c9"; +} + +.fa-microphone-alt::before { + content: "\f3c9"; +} + +.fa-pepper-hot::before { + content: "\f816"; +} + +.fa-unlock::before { + content: "\f09c"; +} + +.fa-colon-sign::before { + content: "\e140"; +} + +.fa-headset::before { + content: "\f590"; +} + +.fa-store-slash::before { + content: "\e071"; +} + +.fa-road-circle-xmark::before { + content: "\e566"; +} + +.fa-user-minus::before { + content: "\f503"; +} + +.fa-mars-stroke-up::before { + content: "\f22a"; +} + +.fa-mars-stroke-v::before { + content: "\f22a"; +} + +.fa-champagne-glasses::before { + content: "\f79f"; +} + +.fa-glass-cheers::before { + content: "\f79f"; +} + +.fa-clipboard::before { + content: "\f328"; +} + +.fa-house-circle-exclamation::before { + content: "\e50a"; +} + +.fa-file-arrow-up::before { + content: "\f574"; +} + +.fa-file-upload::before { + content: "\f574"; +} + +.fa-wifi::before { + content: "\f1eb"; +} + +.fa-wifi-3::before { + content: "\f1eb"; +} + +.fa-wifi-strong::before { + content: "\f1eb"; +} + +.fa-bath::before { + content: "\f2cd"; +} + +.fa-bathtub::before { + content: "\f2cd"; +} + +.fa-underline::before { + content: "\f0cd"; +} + +.fa-user-pen::before { + content: "\f4ff"; +} + +.fa-user-edit::before { + content: "\f4ff"; +} + +.fa-signature::before { + content: "\f5b7"; +} + +.fa-stroopwafel::before { + content: "\f551"; +} + +.fa-bold::before { + content: "\f032"; +} + +.fa-anchor-lock::before { + content: "\e4ad"; +} + +.fa-building-ngo::before { + content: "\e4d7"; +} + +.fa-manat-sign::before { + content: "\e1d5"; +} + +.fa-not-equal::before { + content: "\f53e"; +} + +.fa-border-top-left::before { + content: "\f853"; +} + +.fa-border-style::before { + content: "\f853"; +} + +.fa-map-location-dot::before { + content: "\f5a0"; +} + +.fa-map-marked-alt::before { + content: "\f5a0"; +} + +.fa-jedi::before { + content: "\f669"; +} + +.fa-square-poll-vertical::before { + content: "\f681"; +} + +.fa-poll::before { + content: "\f681"; +} + +.fa-mug-hot::before { + content: "\f7b6"; +} + +.fa-car-battery::before { + content: "\f5df"; +} + +.fa-battery-car::before { + content: "\f5df"; +} + +.fa-gift::before { + content: "\f06b"; +} + +.fa-dice-two::before { + content: "\f528"; +} + +.fa-chess-queen::before { + content: "\f445"; +} + +.fa-glasses::before { + content: "\f530"; +} + +.fa-chess-board::before { + content: "\f43c"; +} + +.fa-building-circle-check::before { + content: "\e4d2"; +} + +.fa-person-chalkboard::before { + content: "\e53d"; +} + +.fa-mars-stroke-right::before { + content: "\f22b"; +} + +.fa-mars-stroke-h::before { + content: "\f22b"; +} + +.fa-hand-back-fist::before { + content: "\f255"; +} + +.fa-hand-rock::before { + content: "\f255"; +} + +.fa-square-caret-up::before { + content: "\f151"; +} + +.fa-caret-square-up::before { + content: "\f151"; +} + +.fa-cloud-showers-water::before { + content: "\e4e4"; +} + +.fa-chart-bar::before { + content: "\f080"; +} + +.fa-bar-chart::before { + content: "\f080"; +} + +.fa-hands-bubbles::before { + content: "\e05e"; +} + +.fa-hands-wash::before { + content: "\e05e"; +} + +.fa-less-than-equal::before { + content: "\f537"; +} + +.fa-train::before { + content: "\f238"; +} + +.fa-eye-low-vision::before { + content: "\f2a8"; +} + +.fa-low-vision::before { + content: "\f2a8"; +} + +.fa-crow::before { + content: "\f520"; +} + +.fa-sailboat::before { + content: "\e445"; +} + +.fa-window-restore::before { + content: "\f2d2"; +} + +.fa-square-plus::before { + content: "\f0fe"; +} + +.fa-plus-square::before { + content: "\f0fe"; +} + +.fa-torii-gate::before { + content: "\f6a1"; +} + +.fa-frog::before { + content: "\f52e"; +} + +.fa-bucket::before { + content: "\e4cf"; +} + +.fa-image::before { + content: "\f03e"; +} + +.fa-microphone::before { + content: "\f130"; +} + +.fa-cow::before { + content: "\f6c8"; +} + +.fa-caret-up::before { + content: "\f0d8"; +} + +.fa-screwdriver::before { + content: "\f54a"; +} + +.fa-folder-closed::before { + content: "\e185"; +} + +.fa-house-tsunami::before { + content: "\e515"; +} + +.fa-square-nfi::before { + content: "\e576"; +} + +.fa-arrow-up-from-ground-water::before { + content: "\e4b5"; +} + +.fa-martini-glass::before { + content: "\f57b"; +} + +.fa-glass-martini-alt::before { + content: "\f57b"; +} + +.fa-rotate-left::before { + content: "\f2ea"; +} + +.fa-rotate-back::before { + content: "\f2ea"; +} + +.fa-rotate-backward::before { + content: "\f2ea"; +} + +.fa-undo-alt::before { + content: "\f2ea"; +} + +.fa-table-columns::before { + content: "\f0db"; +} + +.fa-columns::before { + content: "\f0db"; +} + +.fa-lemon::before { + content: "\f094"; +} + +.fa-head-side-mask::before { + content: "\e063"; +} + +.fa-handshake::before { + content: "\f2b5"; +} + +.fa-gem::before { + content: "\f3a5"; +} + +.fa-dolly::before { + content: "\f472"; +} + +.fa-dolly-box::before { + content: "\f472"; +} + +.fa-smoking::before { + content: "\f48d"; +} + +.fa-minimize::before { + content: "\f78c"; +} + +.fa-compress-arrows-alt::before { + content: "\f78c"; +} + +.fa-monument::before { + content: "\f5a6"; +} + +.fa-snowplow::before { + content: "\f7d2"; +} + +.fa-angles-right::before { + content: "\f101"; +} + +.fa-angle-double-right::before { + content: "\f101"; +} + +.fa-cannabis::before { + content: "\f55f"; +} + +.fa-circle-play::before { + content: "\f144"; +} + +.fa-play-circle::before { + content: "\f144"; +} + +.fa-tablets::before { + content: "\f490"; +} + +.fa-ethernet::before { + content: "\f796"; +} + +.fa-euro-sign::before { + content: "\f153"; +} + +.fa-eur::before { + content: "\f153"; +} + +.fa-euro::before { + content: "\f153"; +} + +.fa-chair::before { + content: "\f6c0"; +} + +.fa-circle-check::before { + content: "\f058"; +} + +.fa-check-circle::before { + content: "\f058"; +} + +.fa-circle-stop::before { + content: "\f28d"; +} + +.fa-stop-circle::before { + content: "\f28d"; +} + +.fa-compass-drafting::before { + content: "\f568"; +} + +.fa-drafting-compass::before { + content: "\f568"; +} + +.fa-plate-wheat::before { + content: "\e55a"; +} + +.fa-icicles::before { + content: "\f7ad"; +} + +.fa-person-shelter::before { + content: "\e54f"; +} + +.fa-neuter::before { + content: "\f22c"; +} + +.fa-id-badge::before { + content: "\f2c1"; +} + +.fa-marker::before { + content: "\f5a1"; +} + +.fa-face-laugh-beam::before { + content: "\f59a"; +} + +.fa-laugh-beam::before { + content: "\f59a"; +} + +.fa-helicopter-symbol::before { + content: "\e502"; +} + +.fa-universal-access::before { + content: "\f29a"; +} + +.fa-circle-chevron-up::before { + content: "\f139"; +} + +.fa-chevron-circle-up::before { + content: "\f139"; +} + +.fa-lari-sign::before { + content: "\e1c8"; +} + +.fa-volcano::before { + content: "\f770"; +} + +.fa-person-walking-dashed-line-arrow-right::before { + content: "\e553"; +} + +.fa-sterling-sign::before { + content: "\f154"; +} + +.fa-gbp::before { + content: "\f154"; +} + +.fa-pound-sign::before { + content: "\f154"; +} + +.fa-viruses::before { + content: "\e076"; +} + +.fa-square-person-confined::before { + content: "\e577"; +} + +.fa-user-tie::before { + content: "\f508"; +} + +.fa-arrow-down-long::before { + content: "\f175"; +} + +.fa-long-arrow-down::before { + content: "\f175"; +} + +.fa-tent-arrow-down-to-line::before { + content: "\e57e"; +} + +.fa-certificate::before { + content: "\f0a3"; +} + +.fa-reply-all::before { + content: "\f122"; +} + +.fa-mail-reply-all::before { + content: "\f122"; +} + +.fa-suitcase::before { + content: "\f0f2"; +} + +.fa-person-skating::before { + content: "\f7c5"; +} + +.fa-skating::before { + content: "\f7c5"; +} + +.fa-filter-circle-dollar::before { + content: "\f662"; +} + +.fa-funnel-dollar::before { + content: "\f662"; +} + +.fa-camera-retro::before { + content: "\f083"; +} + +.fa-circle-arrow-down::before { + content: "\f0ab"; +} + +.fa-arrow-circle-down::before { + content: "\f0ab"; +} + +.fa-file-import::before { + content: "\f56f"; +} + +.fa-arrow-right-to-file::before { + content: "\f56f"; +} + +.fa-square-arrow-up-right::before { + content: "\f14c"; +} + +.fa-external-link-square::before { + content: "\f14c"; +} + +.fa-box-open::before { + content: "\f49e"; +} + +.fa-scroll::before { + content: "\f70e"; +} + +.fa-spa::before { + content: "\f5bb"; +} + +.fa-location-pin-lock::before { + content: "\e51f"; +} + +.fa-pause::before { + content: "\f04c"; +} + +.fa-hill-avalanche::before { + content: "\e507"; +} + +.fa-temperature-empty::before { + content: "\f2cb"; +} + +.fa-temperature-0::before { + content: "\f2cb"; +} + +.fa-thermometer-0::before { + content: "\f2cb"; +} + +.fa-thermometer-empty::before { + content: "\f2cb"; +} + +.fa-bomb::before { + content: "\f1e2"; +} + +.fa-registered::before { + content: "\f25d"; +} + +.fa-address-card::before { + content: "\f2bb"; +} + +.fa-contact-card::before { + content: "\f2bb"; +} + +.fa-vcard::before { + content: "\f2bb"; +} + +.fa-scale-unbalanced-flip::before { + content: "\f516"; +} + +.fa-balance-scale-right::before { + content: "\f516"; +} + +.fa-subscript::before { + content: "\f12c"; +} + +.fa-diamond-turn-right::before { + content: "\f5eb"; +} + +.fa-directions::before { + content: "\f5eb"; +} + +.fa-burst::before { + content: "\e4dc"; +} + +.fa-house-laptop::before { + content: "\e066"; +} + +.fa-laptop-house::before { + content: "\e066"; +} + +.fa-face-tired::before { + content: "\f5c8"; +} + +.fa-tired::before { + content: "\f5c8"; +} + +.fa-money-bills::before { + content: "\e1f3"; +} + +.fa-smog::before { + content: "\f75f"; +} + +.fa-crutch::before { + content: "\f7f7"; +} + +.fa-cloud-arrow-up::before { + content: "\f0ee"; +} + +.fa-cloud-upload::before { + content: "\f0ee"; +} + +.fa-cloud-upload-alt::before { + content: "\f0ee"; +} + +.fa-palette::before { + content: "\f53f"; +} + +.fa-arrows-turn-right::before { + content: "\e4c0"; +} + +.fa-vest::before { + content: "\e085"; +} + +.fa-ferry::before { + content: "\e4ea"; +} + +.fa-arrows-down-to-people::before { + content: "\e4b9"; +} + +.fa-seedling::before { + content: "\f4d8"; +} + +.fa-sprout::before { + content: "\f4d8"; +} + +.fa-left-right::before { + content: "\f337"; +} + +.fa-arrows-alt-h::before { + content: "\f337"; +} + +.fa-boxes-packing::before { + content: "\e4c7"; +} + +.fa-circle-arrow-left::before { + content: "\f0a8"; +} + +.fa-arrow-circle-left::before { + content: "\f0a8"; +} + +.fa-group-arrows-rotate::before { + content: "\e4f6"; +} + +.fa-bowl-food::before { + content: "\e4c6"; +} + +.fa-candy-cane::before { + content: "\f786"; +} + +.fa-arrow-down-wide-short::before { + content: "\f160"; +} + +.fa-sort-amount-asc::before { + content: "\f160"; +} + +.fa-sort-amount-down::before { + content: "\f160"; +} + +.fa-cloud-bolt::before { + content: "\f76c"; +} + +.fa-thunderstorm::before { + content: "\f76c"; +} + +.fa-text-slash::before { + content: "\f87d"; +} + +.fa-remove-format::before { + content: "\f87d"; +} + +.fa-face-smile-wink::before { + content: "\f4da"; +} + +.fa-smile-wink::before { + content: "\f4da"; +} + +.fa-file-word::before { + content: "\f1c2"; +} + +.fa-file-powerpoint::before { + content: "\f1c4"; +} + +.fa-arrows-left-right::before { + content: "\f07e"; +} + +.fa-arrows-h::before { + content: "\f07e"; +} + +.fa-house-lock::before { + content: "\e510"; +} + +.fa-cloud-arrow-down::before { + content: "\f0ed"; +} + +.fa-cloud-download::before { + content: "\f0ed"; +} + +.fa-cloud-download-alt::before { + content: "\f0ed"; +} + +.fa-children::before { + content: "\e4e1"; +} + +.fa-chalkboard::before { + content: "\f51b"; +} + +.fa-blackboard::before { + content: "\f51b"; +} + +.fa-user-large-slash::before { + content: "\f4fa"; +} + +.fa-user-alt-slash::before { + content: "\f4fa"; +} + +.fa-envelope-open::before { + content: "\f2b6"; +} + +.fa-handshake-simple-slash::before { + content: "\e05f"; +} + +.fa-handshake-alt-slash::before { + content: "\e05f"; +} + +.fa-mattress-pillow::before { + content: "\e525"; +} + +.fa-guarani-sign::before { + content: "\e19a"; +} + +.fa-arrows-rotate::before { + content: "\f021"; +} + +.fa-refresh::before { + content: "\f021"; +} + +.fa-sync::before { + content: "\f021"; +} + +.fa-fire-extinguisher::before { + content: "\f134"; +} + +.fa-cruzeiro-sign::before { + content: "\e152"; +} + +.fa-greater-than-equal::before { + content: "\f532"; +} + +.fa-shield-halved::before { + content: "\f3ed"; +} + +.fa-shield-alt::before { + content: "\f3ed"; +} + +.fa-book-atlas::before { + content: "\f558"; +} + +.fa-atlas::before { + content: "\f558"; +} + +.fa-virus::before { + content: "\e074"; +} + +.fa-envelope-circle-check::before { + content: "\e4e8"; +} + +.fa-layer-group::before { + content: "\f5fd"; +} + +.fa-arrows-to-dot::before { + content: "\e4be"; +} + +.fa-archway::before { + content: "\f557"; +} + +.fa-heart-circle-check::before { + content: "\e4fd"; +} + +.fa-house-chimney-crack::before { + content: "\f6f1"; +} + +.fa-house-damage::before { + content: "\f6f1"; +} + +.fa-file-zipper::before { + content: "\f1c6"; +} + +.fa-file-archive::before { + content: "\f1c6"; +} + +.fa-square::before { + content: "\f0c8"; +} + +.fa-martini-glass-empty::before { + content: "\f000"; +} + +.fa-glass-martini::before { + content: "\f000"; +} + +.fa-couch::before { + content: "\f4b8"; +} + +.fa-cedi-sign::before { + content: "\e0df"; +} + +.fa-italic::before { + content: "\f033"; +} + +.fa-church::before { + content: "\f51d"; +} + +.fa-comments-dollar::before { + content: "\f653"; +} + +.fa-democrat::before { + content: "\f747"; +} + +.fa-z::before { + content: "Z"; +} + +.fa-person-skiing::before { + content: "\f7c9"; +} + +.fa-skiing::before { + content: "\f7c9"; +} + +.fa-road-lock::before { + content: "\e567"; +} + +.fa-a::before { + content: "A"; +} + +.fa-temperature-arrow-down::before { + content: "\e03f"; +} + +.fa-temperature-down::before { + content: "\e03f"; +} + +.fa-feather-pointed::before { + content: "\f56b"; +} + +.fa-feather-alt::before { + content: "\f56b"; +} + +.fa-p::before { + content: "P"; +} + +.fa-snowflake::before { + content: "\f2dc"; +} + +.fa-newspaper::before { + content: "\f1ea"; +} + +.fa-rectangle-ad::before { + content: "\f641"; +} + +.fa-ad::before { + content: "\f641"; +} + +.fa-circle-arrow-right::before { + content: "\f0a9"; +} + +.fa-arrow-circle-right::before { + content: "\f0a9"; +} + +.fa-filter-circle-xmark::before { + content: "\e17b"; +} + +.fa-locust::before { + content: "\e520"; +} + +.fa-sort::before { + content: "\f0dc"; +} + +.fa-unsorted::before { + content: "\f0dc"; +} + +.fa-list-ol::before { + content: "\f0cb"; +} + +.fa-list-1-2::before { + content: "\f0cb"; +} + +.fa-list-numeric::before { + content: "\f0cb"; +} + +.fa-person-dress-burst::before { + content: "\e544"; +} + +.fa-money-check-dollar::before { + content: "\f53d"; +} + +.fa-money-check-alt::before { + content: "\f53d"; +} + +.fa-vector-square::before { + content: "\f5cb"; +} + +.fa-bread-slice::before { + content: "\f7ec"; +} + +.fa-language::before { + content: "\f1ab"; +} + +.fa-face-kiss-wink-heart::before { + content: "\f598"; +} + +.fa-kiss-wink-heart::before { + content: "\f598"; +} + +.fa-filter::before { + content: "\f0b0"; +} + +.fa-question::before { + content: "\?"; +} + +.fa-file-signature::before { + content: "\f573"; +} + +.fa-up-down-left-right::before { + content: "\f0b2"; +} + +.fa-arrows-alt::before { + content: "\f0b2"; +} + +.fa-house-chimney-user::before { + content: "\e065"; +} + +.fa-hand-holding-heart::before { + content: "\f4be"; +} + +.fa-puzzle-piece::before { + content: "\f12e"; +} + +.fa-money-check::before { + content: "\f53c"; +} + +.fa-star-half-stroke::before { + content: "\f5c0"; +} + +.fa-star-half-alt::before { + content: "\f5c0"; +} + +.fa-code::before { + content: "\f121"; +} + +.fa-whiskey-glass::before { + content: "\f7a0"; +} + +.fa-glass-whiskey::before { + content: "\f7a0"; +} + +.fa-building-circle-exclamation::before { + content: "\e4d3"; +} + +.fa-magnifying-glass-chart::before { + content: "\e522"; +} + +.fa-arrow-up-right-from-square::before { + content: "\f08e"; +} + +.fa-external-link::before { + content: "\f08e"; +} + +.fa-cubes-stacked::before { + content: "\e4e6"; +} + +.fa-won-sign::before { + content: "\f159"; +} + +.fa-krw::before { + content: "\f159"; +} + +.fa-won::before { + content: "\f159"; +} + +.fa-virus-covid::before { + content: "\e4a8"; +} + +.fa-austral-sign::before { + content: "\e0a9"; +} + +.fa-f::before { + content: "F"; +} + +.fa-leaf::before { + content: "\f06c"; +} + +.fa-road::before { + content: "\f018"; +} + +.fa-taxi::before { + content: "\f1ba"; +} + +.fa-cab::before { + content: "\f1ba"; +} + +.fa-person-circle-plus::before { + content: "\e541"; +} + +.fa-chart-pie::before { + content: "\f200"; +} + +.fa-pie-chart::before { + content: "\f200"; +} + +.fa-bolt-lightning::before { + content: "\e0b7"; +} + +.fa-sack-xmark::before { + content: "\e56a"; +} + +.fa-file-excel::before { + content: "\f1c3"; +} + +.fa-file-contract::before { + content: "\f56c"; +} + +.fa-fish-fins::before { + content: "\e4f2"; +} + +.fa-building-flag::before { + content: "\e4d5"; +} + +.fa-face-grin-beam::before { + content: "\f582"; +} + +.fa-grin-beam::before { + content: "\f582"; +} + +.fa-object-ungroup::before { + content: "\f248"; +} + +.fa-poop::before { + content: "\f619"; +} + +.fa-location-pin::before { + content: "\f041"; +} + +.fa-map-marker::before { + content: "\f041"; +} + +.fa-kaaba::before { + content: "\f66b"; +} + +.fa-toilet-paper::before { + content: "\f71e"; +} + +.fa-helmet-safety::before { + content: "\f807"; +} + +.fa-hard-hat::before { + content: "\f807"; +} + +.fa-hat-hard::before { + content: "\f807"; +} + +.fa-eject::before { + content: "\f052"; +} + +.fa-circle-right::before { + content: "\f35a"; +} + +.fa-arrow-alt-circle-right::before { + content: "\f35a"; +} + +.fa-plane-circle-check::before { + content: "\e555"; +} + +.fa-face-rolling-eyes::before { + content: "\f5a5"; +} + +.fa-meh-rolling-eyes::before { + content: "\f5a5"; +} + +.fa-object-group::before { + content: "\f247"; +} + +.fa-chart-line::before { + content: "\f201"; +} + +.fa-line-chart::before { + content: "\f201"; +} + +.fa-mask-ventilator::before { + content: "\e524"; +} + +.fa-arrow-right::before { + content: "\f061"; +} + +.fa-signs-post::before { + content: "\f277"; +} + +.fa-map-signs::before { + content: "\f277"; +} + +.fa-cash-register::before { + content: "\f788"; +} + +.fa-person-circle-question::before { + content: "\e542"; +} + +.fa-h::before { + content: "H"; +} + +.fa-tarp::before { + content: "\e57b"; +} + +.fa-screwdriver-wrench::before { + content: "\f7d9"; +} + +.fa-tools::before { + content: "\f7d9"; +} + +.fa-arrows-to-eye::before { + content: "\e4bf"; +} + +.fa-plug-circle-bolt::before { + content: "\e55b"; +} + +.fa-heart::before { + content: "\f004"; +} + +.fa-mars-and-venus::before { + content: "\f224"; +} + +.fa-house-user::before { + content: "\e1b0"; +} + +.fa-home-user::before { + content: "\e1b0"; +} + +.fa-dumpster-fire::before { + content: "\f794"; +} + +.fa-house-crack::before { + content: "\e3b1"; +} + +.fa-martini-glass-citrus::before { + content: "\f561"; +} + +.fa-cocktail::before { + content: "\f561"; +} + +.fa-face-surprise::before { + content: "\f5c2"; +} + +.fa-surprise::before { + content: "\f5c2"; +} + +.fa-bottle-water::before { + content: "\e4c5"; +} + +.fa-circle-pause::before { + content: "\f28b"; +} + +.fa-pause-circle::before { + content: "\f28b"; +} + +.fa-toilet-paper-slash::before { + content: "\e072"; +} + +.fa-apple-whole::before { + content: "\f5d1"; +} + +.fa-apple-alt::before { + content: "\f5d1"; +} + +.fa-kitchen-set::before { + content: "\e51a"; +} + +.fa-r::before { + content: "R"; +} + +.fa-temperature-quarter::before { + content: "\f2ca"; +} + +.fa-temperature-1::before { + content: "\f2ca"; +} + +.fa-thermometer-1::before { + content: "\f2ca"; +} + +.fa-thermometer-quarter::before { + content: "\f2ca"; +} + +.fa-cube::before { + content: "\f1b2"; +} + +.fa-bitcoin-sign::before { + content: "\e0b4"; +} + +.fa-shield-dog::before { + content: "\e573"; +} + +.fa-solar-panel::before { + content: "\f5ba"; +} + +.fa-lock-open::before { + content: "\f3c1"; +} + +.fa-elevator::before { + content: "\e16d"; +} + +.fa-money-bill-transfer::before { + content: "\e528"; +} + +.fa-money-bill-trend-up::before { + content: "\e529"; +} + +.fa-house-flood-water-circle-arrow-right::before { + content: "\e50f"; +} + +.fa-square-poll-horizontal::before { + content: "\f682"; +} + +.fa-poll-h::before { + content: "\f682"; +} + +.fa-circle::before { + content: "\f111"; +} + +.fa-backward-fast::before { + content: "\f049"; +} + +.fa-fast-backward::before { + content: "\f049"; +} + +.fa-recycle::before { + content: "\f1b8"; +} + +.fa-user-astronaut::before { + content: "\f4fb"; +} + +.fa-plane-slash::before { + content: "\e069"; +} + +.fa-trademark::before { + content: "\f25c"; +} + +.fa-basketball::before { + content: "\f434"; +} + +.fa-basketball-ball::before { + content: "\f434"; +} + +.fa-satellite-dish::before { + content: "\f7c0"; +} + +.fa-circle-up::before { + content: "\f35b"; +} + +.fa-arrow-alt-circle-up::before { + content: "\f35b"; +} + +.fa-mobile-screen-button::before { + content: "\f3cd"; +} + +.fa-mobile-alt::before { + content: "\f3cd"; +} + +.fa-volume-high::before { + content: "\f028"; +} + +.fa-volume-up::before { + content: "\f028"; +} + +.fa-users-rays::before { + content: "\e593"; +} + +.fa-wallet::before { + content: "\f555"; +} + +.fa-clipboard-check::before { + content: "\f46c"; +} + +.fa-file-audio::before { + content: "\f1c7"; +} + +.fa-burger::before { + content: "\f805"; +} + +.fa-hamburger::before { + content: "\f805"; +} + +.fa-wrench::before { + content: "\f0ad"; +} + +.fa-bugs::before { + content: "\e4d0"; +} + +.fa-rupee-sign::before { + content: "\f156"; +} + +.fa-rupee::before { + content: "\f156"; +} + +.fa-file-image::before { + content: "\f1c5"; +} + +.fa-circle-question::before { + content: "\f059"; +} + +.fa-question-circle::before { + content: "\f059"; +} + +.fa-plane-departure::before { + content: "\f5b0"; +} + +.fa-handshake-slash::before { + content: "\e060"; +} + +.fa-book-bookmark::before { + content: "\e0bb"; +} + +.fa-code-branch::before { + content: "\f126"; +} + +.fa-hat-cowboy::before { + content: "\f8c0"; +} + +.fa-bridge::before { + content: "\e4c8"; +} + +.fa-phone-flip::before { + content: "\f879"; +} + +.fa-phone-alt::before { + content: "\f879"; +} + +.fa-truck-front::before { + content: "\e2b7"; +} + +.fa-cat::before { + content: "\f6be"; +} + +.fa-anchor-circle-exclamation::before { + content: "\e4ab"; +} + +.fa-truck-field::before { + content: "\e58d"; +} + +.fa-route::before { + content: "\f4d7"; +} + +.fa-clipboard-question::before { + content: "\e4e3"; +} + +.fa-panorama::before { + content: "\e209"; +} + +.fa-comment-medical::before { + content: "\f7f5"; +} + +.fa-teeth-open::before { + content: "\f62f"; +} + +.fa-file-circle-minus::before { + content: "\e4ed"; +} + +.fa-tags::before { + content: "\f02c"; +} + +.fa-wine-glass::before { + content: "\f4e3"; +} + +.fa-forward-fast::before { + content: "\f050"; +} + +.fa-fast-forward::before { + content: "\f050"; +} + +.fa-face-meh-blank::before { + content: "\f5a4"; +} + +.fa-meh-blank::before { + content: "\f5a4"; +} + +.fa-square-parking::before { + content: "\f540"; +} + +.fa-parking::before { + content: "\f540"; +} + +.fa-house-signal::before { + content: "\e012"; +} + +.fa-bars-progress::before { + content: "\f828"; +} + +.fa-tasks-alt::before { + content: "\f828"; +} + +.fa-faucet-drip::before { + content: "\e006"; +} + +.fa-cart-flatbed::before { + content: "\f474"; +} + +.fa-dolly-flatbed::before { + content: "\f474"; +} + +.fa-ban-smoking::before { + content: "\f54d"; +} + +.fa-smoking-ban::before { + content: "\f54d"; +} + +.fa-terminal::before { + content: "\f120"; +} + +.fa-mobile-button::before { + content: "\f10b"; +} + +.fa-house-medical-flag::before { + content: "\e514"; +} + +.fa-basket-shopping::before { + content: "\f291"; +} + +.fa-shopping-basket::before { + content: "\f291"; +} + +.fa-tape::before { + content: "\f4db"; +} + +.fa-bus-simple::before { + content: "\f55e"; +} + +.fa-bus-alt::before { + content: "\f55e"; +} + +.fa-eye::before { + content: "\f06e"; +} + +.fa-face-sad-cry::before { + content: "\f5b3"; +} + +.fa-sad-cry::before { + content: "\f5b3"; +} + +.fa-audio-description::before { + content: "\f29e"; +} + +.fa-person-military-to-person::before { + content: "\e54c"; +} + +.fa-file-shield::before { + content: "\e4f0"; +} + +.fa-user-slash::before { + content: "\f506"; +} + +.fa-pen::before { + content: "\f304"; +} + +.fa-tower-observation::before { + content: "\e586"; +} + +.fa-file-code::before { + content: "\f1c9"; +} + +.fa-signal::before { + content: "\f012"; +} + +.fa-signal-5::before { + content: "\f012"; +} + +.fa-signal-perfect::before { + content: "\f012"; +} + +.fa-bus::before { + content: "\f207"; +} + +.fa-heart-circle-xmark::before { + content: "\e501"; +} + +.fa-house-chimney::before { + content: "\e3af"; +} + +.fa-home-lg::before { + content: "\e3af"; +} + +.fa-window-maximize::before { + content: "\f2d0"; +} + +.fa-face-frown::before { + content: "\f119"; +} + +.fa-frown::before { + content: "\f119"; +} + +.fa-prescription::before { + content: "\f5b1"; +} + +.fa-shop::before { + content: "\f54f"; +} + +.fa-store-alt::before { + content: "\f54f"; +} + +.fa-floppy-disk::before { + content: "\f0c7"; +} + +.fa-save::before { + content: "\f0c7"; +} + +.fa-vihara::before { + content: "\f6a7"; +} + +.fa-scale-unbalanced::before { + content: "\f515"; +} + +.fa-balance-scale-left::before { + content: "\f515"; +} + +.fa-sort-up::before { + content: "\f0de"; +} + +.fa-sort-asc::before { + content: "\f0de"; +} + +.fa-comment-dots::before { + content: "\f4ad"; +} + +.fa-commenting::before { + content: "\f4ad"; +} + +.fa-plant-wilt::before { + content: "\e5aa"; +} + +.fa-diamond::before { + content: "\f219"; +} + +.fa-face-grin-squint::before { + content: "\f585"; +} + +.fa-grin-squint::before { + content: "\f585"; +} + +.fa-hand-holding-dollar::before { + content: "\f4c0"; +} + +.fa-hand-holding-usd::before { + content: "\f4c0"; +} + +.fa-bacterium::before { + content: "\e05a"; +} + +.fa-hand-pointer::before { + content: "\f25a"; +} + +.fa-drum-steelpan::before { + content: "\f56a"; +} + +.fa-hand-scissors::before { + content: "\f257"; +} + +.fa-hands-praying::before { + content: "\f684"; +} + +.fa-praying-hands::before { + content: "\f684"; +} + +.fa-arrow-rotate-right::before { + content: "\f01e"; +} + +.fa-arrow-right-rotate::before { + content: "\f01e"; +} + +.fa-arrow-rotate-forward::before { + content: "\f01e"; +} + +.fa-redo::before { + content: "\f01e"; +} + +.fa-biohazard::before { + content: "\f780"; +} + +.fa-location-crosshairs::before { + content: "\f601"; +} + +.fa-location::before { + content: "\f601"; +} + +.fa-mars-double::before { + content: "\f227"; +} + +.fa-child-dress::before { + content: "\e59c"; +} + +.fa-users-between-lines::before { + content: "\e591"; +} + +.fa-lungs-virus::before { + content: "\e067"; +} + +.fa-face-grin-tears::before { + content: "\f588"; +} + +.fa-grin-tears::before { + content: "\f588"; +} + +.fa-phone::before { + content: "\f095"; +} + +.fa-calendar-xmark::before { + content: "\f273"; +} + +.fa-calendar-times::before { + content: "\f273"; +} + +.fa-child-reaching::before { + content: "\e59d"; +} + +.fa-head-side-virus::before { + content: "\e064"; +} + +.fa-user-gear::before { + content: "\f4fe"; +} + +.fa-user-cog::before { + content: "\f4fe"; +} + +.fa-arrow-up-1-9::before { + content: "\f163"; +} + +.fa-sort-numeric-up::before { + content: "\f163"; +} + +.fa-door-closed::before { + content: "\f52a"; +} + +.fa-shield-virus::before { + content: "\e06c"; +} + +.fa-dice-six::before { + content: "\f526"; +} + +.fa-mosquito-net::before { + content: "\e52c"; +} + +.fa-bridge-water::before { + content: "\e4ce"; +} + +.fa-person-booth::before { + content: "\f756"; +} + +.fa-text-width::before { + content: "\f035"; +} + +.fa-hat-wizard::before { + content: "\f6e8"; +} + +.fa-pen-fancy::before { + content: "\f5ac"; +} + +.fa-person-digging::before { + content: "\f85e"; +} + +.fa-digging::before { + content: "\f85e"; +} + +.fa-trash::before { + content: "\f1f8"; +} + +.fa-gauge-simple::before { + content: "\f629"; +} + +.fa-gauge-simple-med::before { + content: "\f629"; +} + +.fa-tachometer-average::before { + content: "\f629"; +} + +.fa-book-medical::before { + content: "\f7e6"; +} + +.fa-poo::before { + content: "\f2fe"; +} + +.fa-quote-right::before { + content: "\f10e"; +} + +.fa-quote-right-alt::before { + content: "\f10e"; +} + +.fa-shirt::before { + content: "\f553"; +} + +.fa-t-shirt::before { + content: "\f553"; +} + +.fa-tshirt::before { + content: "\f553"; +} + +.fa-cubes::before { + content: "\f1b3"; +} + +.fa-divide::before { + content: "\f529"; +} + +.fa-tenge-sign::before { + content: "\f7d7"; +} + +.fa-tenge::before { + content: "\f7d7"; +} + +.fa-headphones::before { + content: "\f025"; +} + +.fa-hands-holding::before { + content: "\f4c2"; +} + +.fa-hands-clapping::before { + content: "\e1a8"; +} + +.fa-republican::before { + content: "\f75e"; +} + +.fa-arrow-left::before { + content: "\f060"; +} + +.fa-person-circle-xmark::before { + content: "\e543"; +} + +.fa-ruler::before { + content: "\f545"; +} + +.fa-align-left::before { + content: "\f036"; +} + +.fa-dice-d6::before { + content: "\f6d1"; +} + +.fa-restroom::before { + content: "\f7bd"; +} + +.fa-j::before { + content: "J"; +} + +.fa-users-viewfinder::before { + content: "\e595"; +} + +.fa-file-video::before { + content: "\f1c8"; +} + +.fa-up-right-from-square::before { + content: "\f35d"; +} + +.fa-external-link-alt::before { + content: "\f35d"; +} + +.fa-table-cells::before { + content: "\f00a"; +} + +.fa-th::before { + content: "\f00a"; +} + +.fa-file-pdf::before { + content: "\f1c1"; +} + +.fa-book-bible::before { + content: "\f647"; +} + +.fa-bible::before { + content: "\f647"; +} + +.fa-o::before { + content: "O"; +} + +.fa-suitcase-medical::before { + content: "\f0fa"; +} + +.fa-medkit::before { + content: "\f0fa"; +} + +.fa-user-secret::before { + content: "\f21b"; +} + +.fa-otter::before { + content: "\f700"; +} + +.fa-person-dress::before { + content: "\f182"; +} + +.fa-female::before { + content: "\f182"; +} + +.fa-comment-dollar::before { + content: "\f651"; +} + +.fa-business-time::before { + content: "\f64a"; +} + +.fa-briefcase-clock::before { + content: "\f64a"; +} + +.fa-table-cells-large::before { + content: "\f009"; +} + +.fa-th-large::before { + content: "\f009"; +} + +.fa-book-tanakh::before { + content: "\f827"; +} + +.fa-tanakh::before { + content: "\f827"; +} + +.fa-phone-volume::before { + content: "\f2a0"; +} + +.fa-volume-control-phone::before { + content: "\f2a0"; +} + +.fa-hat-cowboy-side::before { + content: "\f8c1"; +} + +.fa-clipboard-user::before { + content: "\f7f3"; +} + +.fa-child::before { + content: "\f1ae"; +} + +.fa-lira-sign::before { + content: "\f195"; +} + +.fa-satellite::before { + content: "\f7bf"; +} + +.fa-plane-lock::before { + content: "\e558"; +} + +.fa-tag::before { + content: "\f02b"; +} + +.fa-comment::before { + content: "\f075"; +} + +.fa-cake-candles::before { + content: "\f1fd"; +} + +.fa-birthday-cake::before { + content: "\f1fd"; +} + +.fa-cake::before { + content: "\f1fd"; +} + +.fa-envelope::before { + content: "\f0e0"; +} + +.fa-angles-up::before { + content: "\f102"; +} + +.fa-angle-double-up::before { + content: "\f102"; +} + +.fa-paperclip::before { + content: "\f0c6"; +} + +.fa-arrow-right-to-city::before { + content: "\e4b3"; +} + +.fa-ribbon::before { + content: "\f4d6"; +} + +.fa-lungs::before { + content: "\f604"; +} + +.fa-arrow-up-9-1::before { + content: "\f887"; +} + +.fa-sort-numeric-up-alt::before { + content: "\f887"; +} + +.fa-litecoin-sign::before { + content: "\e1d3"; +} + +.fa-border-none::before { + content: "\f850"; +} + +.fa-circle-nodes::before { + content: "\e4e2"; +} + +.fa-parachute-box::before { + content: "\f4cd"; +} + +.fa-indent::before { + content: "\f03c"; +} + +.fa-truck-field-un::before { + content: "\e58e"; +} + +.fa-hourglass::before { + content: "\f254"; +} + +.fa-hourglass-empty::before { + content: "\f254"; +} + +.fa-mountain::before { + content: "\f6fc"; +} + +.fa-user-doctor::before { + content: "\f0f0"; +} + +.fa-user-md::before { + content: "\f0f0"; +} + +.fa-circle-info::before { + content: "\f05a"; +} + +.fa-info-circle::before { + content: "\f05a"; +} + +.fa-cloud-meatball::before { + content: "\f73b"; +} + +.fa-camera::before { + content: "\f030"; +} + +.fa-camera-alt::before { + content: "\f030"; +} + +.fa-square-virus::before { + content: "\e578"; +} + +.fa-meteor::before { + content: "\f753"; +} + +.fa-car-on::before { + content: "\e4dd"; +} + +.fa-sleigh::before { + content: "\f7cc"; +} + +.fa-arrow-down-1-9::before { + content: "\f162"; +} + +.fa-sort-numeric-asc::before { + content: "\f162"; +} + +.fa-sort-numeric-down::before { + content: "\f162"; +} + +.fa-hand-holding-droplet::before { + content: "\f4c1"; +} + +.fa-hand-holding-water::before { + content: "\f4c1"; +} + +.fa-water::before { + content: "\f773"; +} + +.fa-calendar-check::before { + content: "\f274"; +} + +.fa-braille::before { + content: "\f2a1"; +} + +.fa-prescription-bottle-medical::before { + content: "\f486"; +} + +.fa-prescription-bottle-alt::before { + content: "\f486"; +} + +.fa-landmark::before { + content: "\f66f"; +} + +.fa-truck::before { + content: "\f0d1"; +} + +.fa-crosshairs::before { + content: "\f05b"; +} + +.fa-person-cane::before { + content: "\e53c"; +} + +.fa-tent::before { + content: "\e57d"; +} + +.fa-vest-patches::before { + content: "\e086"; +} + +.fa-check-double::before { + content: "\f560"; +} + +.fa-arrow-down-a-z::before { + content: "\f15d"; +} + +.fa-sort-alpha-asc::before { + content: "\f15d"; +} + +.fa-sort-alpha-down::before { + content: "\f15d"; +} + +.fa-money-bill-wheat::before { + content: "\e52a"; +} + +.fa-cookie::before { + content: "\f563"; +} + +.fa-arrow-rotate-left::before { + content: "\f0e2"; +} + +.fa-arrow-left-rotate::before { + content: "\f0e2"; +} + +.fa-arrow-rotate-back::before { + content: "\f0e2"; +} + +.fa-arrow-rotate-backward::before { + content: "\f0e2"; +} + +.fa-undo::before { + content: "\f0e2"; +} + +.fa-hard-drive::before { + content: "\f0a0"; +} + +.fa-hdd::before { + content: "\f0a0"; +} + +.fa-face-grin-squint-tears::before { + content: "\f586"; +} + +.fa-grin-squint-tears::before { + content: "\f586"; +} + +.fa-dumbbell::before { + content: "\f44b"; +} + +.fa-rectangle-list::before { + content: "\f022"; +} + +.fa-list-alt::before { + content: "\f022"; +} + +.fa-tarp-droplet::before { + content: "\e57c"; +} + +.fa-house-medical-circle-check::before { + content: "\e511"; +} + +.fa-person-skiing-nordic::before { + content: "\f7ca"; +} + +.fa-skiing-nordic::before { + content: "\f7ca"; +} + +.fa-calendar-plus::before { + content: "\f271"; +} + +.fa-plane-arrival::before { + content: "\f5af"; +} + +.fa-circle-left::before { + content: "\f359"; +} + +.fa-arrow-alt-circle-left::before { + content: "\f359"; +} + +.fa-train-subway::before { + content: "\f239"; +} + +.fa-subway::before { + content: "\f239"; +} + +.fa-chart-gantt::before { + content: "\e0e4"; +} + +.fa-indian-rupee-sign::before { + content: "\e1bc"; +} + +.fa-indian-rupee::before { + content: "\e1bc"; +} + +.fa-inr::before { + content: "\e1bc"; +} + +.fa-crop-simple::before { + content: "\f565"; +} + +.fa-crop-alt::before { + content: "\f565"; +} + +.fa-money-bill-1::before { + content: "\f3d1"; +} + +.fa-money-bill-alt::before { + content: "\f3d1"; +} + +.fa-left-long::before { + content: "\f30a"; +} + +.fa-long-arrow-alt-left::before { + content: "\f30a"; +} + +.fa-dna::before { + content: "\f471"; +} + +.fa-virus-slash::before { + content: "\e075"; +} + +.fa-minus::before { + content: "\f068"; +} + +.fa-subtract::before { + content: "\f068"; +} + +.fa-chess::before { + content: "\f439"; +} + +.fa-arrow-left-long::before { + content: "\f177"; +} + +.fa-long-arrow-left::before { + content: "\f177"; +} + +.fa-plug-circle-check::before { + content: "\e55c"; +} + +.fa-street-view::before { + content: "\f21d"; +} + +.fa-franc-sign::before { + content: "\e18f"; +} + +.fa-volume-off::before { + content: "\f026"; +} + +.fa-hands-asl-interpreting::before { + content: "\f2a3"; +} + +.fa-american-sign-language-interpreting::before { + content: "\f2a3"; +} + +.fa-asl-interpreting::before { + content: "\f2a3"; +} + +.fa-hands-american-sign-language-interpreting::before { + content: "\f2a3"; +} + +.fa-gear::before { + content: "\f013"; +} + +.fa-cog::before { + content: "\f013"; +} + +.fa-droplet-slash::before { + content: "\f5c7"; +} + +.fa-tint-slash::before { + content: "\f5c7"; +} + +.fa-mosque::before { + content: "\f678"; +} + +.fa-mosquito::before { + content: "\e52b"; +} + +.fa-star-of-david::before { + content: "\f69a"; +} + +.fa-person-military-rifle::before { + content: "\e54b"; +} + +.fa-cart-shopping::before { + content: "\f07a"; +} + +.fa-shopping-cart::before { + content: "\f07a"; +} + +.fa-vials::before { + content: "\f493"; +} + +.fa-plug-circle-plus::before { + content: "\e55f"; +} + +.fa-place-of-worship::before { + content: "\f67f"; +} + +.fa-grip-vertical::before { + content: "\f58e"; +} + +.fa-arrow-turn-up::before { + content: "\f148"; +} + +.fa-level-up::before { + content: "\f148"; +} + +.fa-u::before { + content: "U"; +} + +.fa-square-root-variable::before { + content: "\f698"; +} + +.fa-square-root-alt::before { + content: "\f698"; +} + +.fa-clock::before { + content: "\f017"; +} + +.fa-clock-four::before { + content: "\f017"; +} + +.fa-backward-step::before { + content: "\f048"; +} + +.fa-step-backward::before { + content: "\f048"; +} + +.fa-pallet::before { + content: "\f482"; +} + +.fa-faucet::before { + content: "\e005"; +} + +.fa-baseball-bat-ball::before { + content: "\f432"; +} + +.fa-s::before { + content: "S"; +} + +.fa-timeline::before { + content: "\e29c"; +} + +.fa-keyboard::before { + content: "\f11c"; +} + +.fa-caret-down::before { + content: "\f0d7"; +} + +.fa-house-chimney-medical::before { + content: "\f7f2"; +} + +.fa-clinic-medical::before { + content: "\f7f2"; +} + +.fa-temperature-three-quarters::before { + content: "\f2c8"; +} + +.fa-temperature-3::before { + content: "\f2c8"; +} + +.fa-thermometer-3::before { + content: "\f2c8"; +} + +.fa-thermometer-three-quarters::before { + content: "\f2c8"; +} + +.fa-mobile-screen::before { + content: "\f3cf"; +} + +.fa-mobile-android-alt::before { + content: "\f3cf"; +} + +.fa-plane-up::before { + content: "\e22d"; +} + +.fa-piggy-bank::before { + content: "\f4d3"; +} + +.fa-battery-half::before { + content: "\f242"; +} + +.fa-battery-3::before { + content: "\f242"; +} + +.fa-mountain-city::before { + content: "\e52e"; +} + +.fa-coins::before { + content: "\f51e"; +} + +.fa-khanda::before { + content: "\f66d"; +} + +.fa-sliders::before { + content: "\f1de"; +} + +.fa-sliders-h::before { + content: "\f1de"; +} + +.fa-folder-tree::before { + content: "\f802"; +} + +.fa-network-wired::before { + content: "\f6ff"; +} + +.fa-map-pin::before { + content: "\f276"; +} + +.fa-hamsa::before { + content: "\f665"; +} + +.fa-cent-sign::before { + content: "\e3f5"; +} + +.fa-flask::before { + content: "\f0c3"; +} + +.fa-person-pregnant::before { + content: "\e31e"; +} + +.fa-wand-sparkles::before { + content: "\f72b"; +} + +.fa-ellipsis-vertical::before { + content: "\f142"; +} + +.fa-ellipsis-v::before { + content: "\f142"; +} + +.fa-ticket::before { + content: "\f145"; +} + +.fa-power-off::before { + content: "\f011"; +} + +.fa-right-long::before { + content: "\f30b"; +} + +.fa-long-arrow-alt-right::before { + content: "\f30b"; +} + +.fa-flag-usa::before { + content: "\f74d"; +} + +.fa-laptop-file::before { + content: "\e51d"; +} + +.fa-tty::before { + content: "\f1e4"; +} + +.fa-teletype::before { + content: "\f1e4"; +} + +.fa-diagram-next::before { + content: "\e476"; +} + +.fa-person-rifle::before { + content: "\e54e"; +} + +.fa-house-medical-circle-exclamation::before { + content: "\e512"; +} + +.fa-closed-captioning::before { + content: "\f20a"; +} + +.fa-person-hiking::before { + content: "\f6ec"; +} + +.fa-hiking::before { + content: "\f6ec"; +} + +.fa-venus-double::before { + content: "\f226"; +} + +.fa-images::before { + content: "\f302"; +} + +.fa-calculator::before { + content: "\f1ec"; +} + +.fa-people-pulling::before { + content: "\e535"; +} + +.fa-n::before { + content: "N"; +} + +.fa-cable-car::before { + content: "\f7da"; +} + +.fa-tram::before { + content: "\f7da"; +} + +.fa-cloud-rain::before { + content: "\f73d"; +} + +.fa-building-circle-xmark::before { + content: "\e4d4"; +} + +.fa-ship::before { + content: "\f21a"; +} + +.fa-arrows-down-to-line::before { + content: "\e4b8"; +} + +.fa-download::before { + content: "\f019"; +} + +.fa-face-grin::before { + content: "\f580"; +} + +.fa-grin::before { + content: "\f580"; +} + +.fa-delete-left::before { + content: "\f55a"; +} + +.fa-backspace::before { + content: "\f55a"; +} + +.fa-eye-dropper::before { + content: "\f1fb"; +} + +.fa-eye-dropper-empty::before { + content: "\f1fb"; +} + +.fa-eyedropper::before { + content: "\f1fb"; +} + +.fa-file-circle-check::before { + content: "\e5a0"; +} + +.fa-forward::before { + content: "\f04e"; +} + +.fa-mobile::before { + content: "\f3ce"; +} + +.fa-mobile-android::before { + content: "\f3ce"; +} + +.fa-mobile-phone::before { + content: "\f3ce"; +} + +.fa-face-meh::before { + content: "\f11a"; +} + +.fa-meh::before { + content: "\f11a"; +} + +.fa-align-center::before { + content: "\f037"; +} + +.fa-book-skull::before { + content: "\f6b7"; +} + +.fa-book-dead::before { + content: "\f6b7"; +} + +.fa-id-card::before { + content: "\f2c2"; +} + +.fa-drivers-license::before { + content: "\f2c2"; +} + +.fa-outdent::before { + content: "\f03b"; +} + +.fa-dedent::before { + content: "\f03b"; +} + +.fa-heart-circle-exclamation::before { + content: "\e4fe"; +} + +.fa-house::before { + content: "\f015"; +} + +.fa-home::before { + content: "\f015"; +} + +.fa-home-alt::before { + content: "\f015"; +} + +.fa-home-lg-alt::before { + content: "\f015"; +} + +.fa-calendar-week::before { + content: "\f784"; +} + +.fa-laptop-medical::before { + content: "\f812"; +} + +.fa-b::before { + content: "B"; +} + +.fa-file-medical::before { + content: "\f477"; +} + +.fa-dice-one::before { + content: "\f525"; +} + +.fa-kiwi-bird::before { + content: "\f535"; +} + +.fa-arrow-right-arrow-left::before { + content: "\f0ec"; +} + +.fa-exchange::before { + content: "\f0ec"; +} + +.fa-rotate-right::before { + content: "\f2f9"; +} + +.fa-redo-alt::before { + content: "\f2f9"; +} + +.fa-rotate-forward::before { + content: "\f2f9"; +} + +.fa-utensils::before { + content: "\f2e7"; +} + +.fa-cutlery::before { + content: "\f2e7"; +} + +.fa-arrow-up-wide-short::before { + content: "\f161"; +} + +.fa-sort-amount-up::before { + content: "\f161"; +} + +.fa-mill-sign::before { + content: "\e1ed"; +} + +.fa-bowl-rice::before { + content: "\e2eb"; +} + +.fa-skull::before { + content: "\f54c"; +} + +.fa-tower-broadcast::before { + content: "\f519"; +} + +.fa-broadcast-tower::before { + content: "\f519"; +} + +.fa-truck-pickup::before { + content: "\f63c"; +} + +.fa-up-long::before { + content: "\f30c"; +} + +.fa-long-arrow-alt-up::before { + content: "\f30c"; +} + +.fa-stop::before { + content: "\f04d"; +} + +.fa-code-merge::before { + content: "\f387"; +} + +.fa-upload::before { + content: "\f093"; +} + +.fa-hurricane::before { + content: "\f751"; +} + +.fa-mound::before { + content: "\e52d"; +} + +.fa-toilet-portable::before { + content: "\e583"; +} + +.fa-compact-disc::before { + content: "\f51f"; +} + +.fa-file-arrow-down::before { + content: "\f56d"; +} + +.fa-file-download::before { + content: "\f56d"; +} + +.fa-caravan::before { + content: "\f8ff"; +} + +.fa-shield-cat::before { + content: "\e572"; +} + +.fa-bolt::before { + content: "\f0e7"; +} + +.fa-zap::before { + content: "\f0e7"; +} + +.fa-glass-water::before { + content: "\e4f4"; +} + +.fa-oil-well::before { + content: "\e532"; +} + +.fa-vault::before { + content: "\e2c5"; +} + +.fa-mars::before { + content: "\f222"; +} + +.fa-toilet::before { + content: "\f7d8"; +} + +.fa-plane-circle-xmark::before { + content: "\e557"; +} + +.fa-yen-sign::before { + content: "\f157"; +} + +.fa-cny::before { + content: "\f157"; +} + +.fa-jpy::before { + content: "\f157"; +} + +.fa-rmb::before { + content: "\f157"; +} + +.fa-yen::before { + content: "\f157"; +} + +.fa-ruble-sign::before { + content: "\f158"; +} + +.fa-rouble::before { + content: "\f158"; +} + +.fa-rub::before { + content: "\f158"; +} + +.fa-ruble::before { + content: "\f158"; +} + +.fa-sun::before { + content: "\f185"; +} + +.fa-guitar::before { + content: "\f7a6"; +} + +.fa-face-laugh-wink::before { + content: "\f59c"; +} + +.fa-laugh-wink::before { + content: "\f59c"; +} + +.fa-horse-head::before { + content: "\f7ab"; +} + +.fa-bore-hole::before { + content: "\e4c3"; +} + +.fa-industry::before { + content: "\f275"; +} + +.fa-circle-down::before { + content: "\f358"; +} + +.fa-arrow-alt-circle-down::before { + content: "\f358"; +} + +.fa-arrows-turn-to-dots::before { + content: "\e4c1"; +} + +.fa-florin-sign::before { + content: "\e184"; +} + +.fa-arrow-down-short-wide::before { + content: "\f884"; +} + +.fa-sort-amount-desc::before { + content: "\f884"; +} + +.fa-sort-amount-down-alt::before { + content: "\f884"; +} + +.fa-less-than::before { + content: "\<"; +} + +.fa-angle-down::before { + content: "\f107"; +} + +.fa-car-tunnel::before { + content: "\e4de"; +} + +.fa-head-side-cough::before { + content: "\e061"; +} + +.fa-grip-lines::before { + content: "\f7a4"; +} + +.fa-thumbs-down::before { + content: "\f165"; +} + +.fa-user-lock::before { + content: "\f502"; +} + +.fa-arrow-right-long::before { + content: "\f178"; +} + +.fa-long-arrow-right::before { + content: "\f178"; +} + +.fa-anchor-circle-xmark::before { + content: "\e4ac"; +} + +.fa-ellipsis::before { + content: "\f141"; +} + +.fa-ellipsis-h::before { + content: "\f141"; +} + +.fa-chess-pawn::before { + content: "\f443"; +} + +.fa-kit-medical::before { + content: "\f479"; +} + +.fa-first-aid::before { + content: "\f479"; +} + +.fa-person-through-window::before { + content: "\e5a9"; +} + +.fa-toolbox::before { + content: "\f552"; +} + +.fa-hands-holding-circle::before { + content: "\e4fb"; +} + +.fa-bug::before { + content: "\f188"; +} + +.fa-credit-card::before { + content: "\f09d"; +} + +.fa-credit-card-alt::before { + content: "\f09d"; +} + +.fa-car::before { + content: "\f1b9"; +} + +.fa-automobile::before { + content: "\f1b9"; +} + +.fa-hand-holding-hand::before { + content: "\e4f7"; +} + +.fa-book-open-reader::before { + content: "\f5da"; +} + +.fa-book-reader::before { + content: "\f5da"; +} + +.fa-mountain-sun::before { + content: "\e52f"; +} + +.fa-arrows-left-right-to-line::before { + content: "\e4ba"; +} + +.fa-dice-d20::before { + content: "\f6cf"; +} + +.fa-truck-droplet::before { + content: "\e58c"; +} + +.fa-file-circle-xmark::before { + content: "\e5a1"; +} + +.fa-temperature-arrow-up::before { + content: "\e040"; +} + +.fa-temperature-up::before { + content: "\e040"; +} + +.fa-medal::before { + content: "\f5a2"; +} + +.fa-bed::before { + content: "\f236"; +} + +.fa-square-h::before { + content: "\f0fd"; +} + +.fa-h-square::before { + content: "\f0fd"; +} + +.fa-podcast::before { + content: "\f2ce"; +} + +.fa-temperature-full::before { + content: "\f2c7"; +} + +.fa-temperature-4::before { + content: "\f2c7"; +} + +.fa-thermometer-4::before { + content: "\f2c7"; +} + +.fa-thermometer-full::before { + content: "\f2c7"; +} + +.fa-bell::before { + content: "\f0f3"; +} + +.fa-superscript::before { + content: "\f12b"; +} + +.fa-plug-circle-xmark::before { + content: "\e560"; +} + +.fa-star-of-life::before { + content: "\f621"; +} + +.fa-phone-slash::before { + content: "\f3dd"; +} + +.fa-paint-roller::before { + content: "\f5aa"; +} + +.fa-handshake-angle::before { + content: "\f4c4"; +} + +.fa-hands-helping::before { + content: "\f4c4"; +} + +.fa-location-dot::before { + content: "\f3c5"; +} + +.fa-map-marker-alt::before { + content: "\f3c5"; +} + +.fa-file::before { + content: "\f15b"; +} + +.fa-greater-than::before { + content: "\>"; +} + +.fa-person-swimming::before { + content: "\f5c4"; +} + +.fa-swimmer::before { + content: "\f5c4"; +} + +.fa-arrow-down::before { + content: "\f063"; +} + +.fa-droplet::before { + content: "\f043"; +} + +.fa-tint::before { + content: "\f043"; +} + +.fa-eraser::before { + content: "\f12d"; +} + +.fa-earth-americas::before { + content: "\f57d"; +} + +.fa-earth::before { + content: "\f57d"; +} + +.fa-earth-america::before { + content: "\f57d"; +} + +.fa-globe-americas::before { + content: "\f57d"; +} + +.fa-person-burst::before { + content: "\e53b"; +} + +.fa-dove::before { + content: "\f4ba"; +} + +.fa-battery-empty::before { + content: "\f244"; +} + +.fa-battery-0::before { + content: "\f244"; +} + +.fa-socks::before { + content: "\f696"; +} + +.fa-inbox::before { + content: "\f01c"; +} + +.fa-section::before { + content: "\e447"; +} + +.fa-gauge-high::before { + content: "\f625"; +} + +.fa-tachometer-alt::before { + content: "\f625"; +} + +.fa-tachometer-alt-fast::before { + content: "\f625"; +} + +.fa-envelope-open-text::before { + content: "\f658"; +} + +.fa-hospital::before { + content: "\f0f8"; +} + +.fa-hospital-alt::before { + content: "\f0f8"; +} + +.fa-hospital-wide::before { + content: "\f0f8"; +} + +.fa-wine-bottle::before { + content: "\f72f"; +} + +.fa-chess-rook::before { + content: "\f447"; +} + +.fa-bars-staggered::before { + content: "\f550"; +} + +.fa-reorder::before { + content: "\f550"; +} + +.fa-stream::before { + content: "\f550"; +} + +.fa-dharmachakra::before { + content: "\f655"; +} + +.fa-hotdog::before { + content: "\f80f"; +} + +.fa-person-walking-with-cane::before { + content: "\f29d"; +} + +.fa-blind::before { + content: "\f29d"; +} + +.fa-drum::before { + content: "\f569"; +} + +.fa-ice-cream::before { + content: "\f810"; +} + +.fa-heart-circle-bolt::before { + content: "\e4fc"; +} + +.fa-fax::before { + content: "\f1ac"; +} + +.fa-paragraph::before { + content: "\f1dd"; +} + +.fa-check-to-slot::before { + content: "\f772"; +} + +.fa-vote-yea::before { + content: "\f772"; +} + +.fa-star-half::before { + content: "\f089"; +} + +.fa-boxes-stacked::before { + content: "\f468"; +} + +.fa-boxes::before { + content: "\f468"; +} + +.fa-boxes-alt::before { + content: "\f468"; +} + +.fa-link::before { + content: "\f0c1"; +} + +.fa-chain::before { + content: "\f0c1"; +} + +.fa-ear-listen::before { + content: "\f2a2"; +} + +.fa-assistive-listening-systems::before { + content: "\f2a2"; +} + +.fa-tree-city::before { + content: "\e587"; +} + +.fa-play::before { + content: "\f04b"; +} + +.fa-font::before { + content: "\f031"; +} + +.fa-rupiah-sign::before { + content: "\e23d"; +} + +.fa-magnifying-glass::before { + content: "\f002"; +} + +.fa-search::before { + content: "\f002"; +} + +.fa-table-tennis-paddle-ball::before { + content: "\f45d"; +} + +.fa-ping-pong-paddle-ball::before { + content: "\f45d"; +} + +.fa-table-tennis::before { + content: "\f45d"; +} + +.fa-person-dots-from-line::before { + content: "\f470"; +} + +.fa-diagnoses::before { + content: "\f470"; +} + +.fa-trash-can-arrow-up::before { + content: "\f82a"; +} + +.fa-trash-restore-alt::before { + content: "\f82a"; +} + +.fa-naira-sign::before { + content: "\e1f6"; +} + +.fa-cart-arrow-down::before { + content: "\f218"; +} + +.fa-walkie-talkie::before { + content: "\f8ef"; +} + +.fa-file-pen::before { + content: "\f31c"; +} + +.fa-file-edit::before { + content: "\f31c"; +} + +.fa-receipt::before { + content: "\f543"; +} + +.fa-square-pen::before { + content: "\f14b"; +} + +.fa-pen-square::before { + content: "\f14b"; +} + +.fa-pencil-square::before { + content: "\f14b"; +} + +.fa-suitcase-rolling::before { + content: "\f5c1"; +} + +.fa-person-circle-exclamation::before { + content: "\e53f"; +} + +.fa-chevron-down::before { + content: "\f078"; +} + +.fa-battery-full::before { + content: "\f240"; +} + +.fa-battery::before { + content: "\f240"; +} + +.fa-battery-5::before { + content: "\f240"; +} + +.fa-skull-crossbones::before { + content: "\f714"; +} + +.fa-code-compare::before { + content: "\e13a"; +} + +.fa-list-ul::before { + content: "\f0ca"; +} + +.fa-list-dots::before { + content: "\f0ca"; +} + +.fa-school-lock::before { + content: "\e56f"; +} + +.fa-tower-cell::before { + content: "\e585"; +} + +.fa-down-long::before { + content: "\f309"; +} + +.fa-long-arrow-alt-down::before { + content: "\f309"; +} + +.fa-ranking-star::before { + content: "\e561"; +} + +.fa-chess-king::before { + content: "\f43f"; +} + +.fa-person-harassing::before { + content: "\e549"; +} + +.fa-brazilian-real-sign::before { + content: "\e46c"; +} + +.fa-landmark-dome::before { + content: "\f752"; +} + +.fa-landmark-alt::before { + content: "\f752"; +} + +.fa-arrow-up::before { + content: "\f062"; +} + +.fa-tv::before { + content: "\f26c"; +} + +.fa-television::before { + content: "\f26c"; +} + +.fa-tv-alt::before { + content: "\f26c"; +} + +.fa-shrimp::before { + content: "\e448"; +} + +.fa-list-check::before { + content: "\f0ae"; +} + +.fa-tasks::before { + content: "\f0ae"; +} + +.fa-jug-detergent::before { + content: "\e519"; +} + +.fa-circle-user::before { + content: "\f2bd"; +} + +.fa-user-circle::before { + content: "\f2bd"; +} + +.fa-user-shield::before { + content: "\f505"; +} + +.fa-wind::before { + content: "\f72e"; +} + +.fa-car-burst::before { + content: "\f5e1"; +} + +.fa-car-crash::before { + content: "\f5e1"; +} + +.fa-y::before { + content: "Y"; +} + +.fa-person-snowboarding::before { + content: "\f7ce"; +} + +.fa-snowboarding::before { + content: "\f7ce"; +} + +.fa-truck-fast::before { + content: "\f48b"; +} + +.fa-shipping-fast::before { + content: "\f48b"; +} + +.fa-fish::before { + content: "\f578"; +} + +.fa-user-graduate::before { + content: "\f501"; +} + +.fa-circle-half-stroke::before { + content: "\f042"; +} + +.fa-adjust::before { + content: "\f042"; +} + +.fa-clapperboard::before { + content: "\e131"; +} + +.fa-circle-radiation::before { + content: "\f7ba"; +} + +.fa-radiation-alt::before { + content: "\f7ba"; +} + +.fa-baseball::before { + content: "\f433"; +} + +.fa-baseball-ball::before { + content: "\f433"; +} + +.fa-jet-fighter-up::before { + content: "\e518"; +} + +.fa-diagram-project::before { + content: "\f542"; +} + +.fa-project-diagram::before { + content: "\f542"; +} + +.fa-copy::before { + content: "\f0c5"; +} + +.fa-volume-xmark::before { + content: "\f6a9"; +} + +.fa-volume-mute::before { + content: "\f6a9"; +} + +.fa-volume-times::before { + content: "\f6a9"; +} + +.fa-hand-sparkles::before { + content: "\e05d"; +} + +.fa-grip::before { + content: "\f58d"; +} + +.fa-grip-horizontal::before { + content: "\f58d"; +} + +.fa-share-from-square::before { + content: "\f14d"; +} + +.fa-share-square::before { + content: "\f14d"; +} + +.fa-child-combatant::before { + content: "\e4e0"; +} + +.fa-child-rifle::before { + content: "\e4e0"; +} + +.fa-gun::before { + content: "\e19b"; +} + +.fa-square-phone::before { + content: "\f098"; +} + +.fa-phone-square::before { + content: "\f098"; +} + +.fa-plus::before { + content: "\+"; +} + +.fa-add::before { + content: "\+"; +} + +.fa-expand::before { + content: "\f065"; +} + +.fa-computer::before { + content: "\e4e5"; +} + +.fa-xmark::before { + content: "\f00d"; +} + +.fa-close::before { + content: "\f00d"; +} + +.fa-multiply::before { + content: "\f00d"; +} + +.fa-remove::before { + content: "\f00d"; +} + +.fa-times::before { + content: "\f00d"; +} + +.fa-arrows-up-down-left-right::before { + content: "\f047"; +} + +.fa-arrows::before { + content: "\f047"; +} + +.fa-chalkboard-user::before { + content: "\f51c"; +} + +.fa-chalkboard-teacher::before { + content: "\f51c"; +} + +.fa-peso-sign::before { + content: "\e222"; +} + +.fa-building-shield::before { + content: "\e4d8"; +} + +.fa-baby::before { + content: "\f77c"; +} + +.fa-users-line::before { + content: "\e592"; +} + +.fa-quote-left::before { + content: "\f10d"; +} + +.fa-quote-left-alt::before { + content: "\f10d"; +} + +.fa-tractor::before { + content: "\f722"; +} + +.fa-trash-arrow-up::before { + content: "\f829"; +} + +.fa-trash-restore::before { + content: "\f829"; +} + +.fa-arrow-down-up-lock::before { + content: "\e4b0"; +} + +.fa-lines-leaning::before { + content: "\e51e"; +} + +.fa-ruler-combined::before { + content: "\f546"; +} + +.fa-copyright::before { + content: "\f1f9"; +} + +.fa-equals::before { + content: "\="; +} + +.fa-blender::before { + content: "\f517"; +} + +.fa-teeth::before { + content: "\f62e"; +} + +.fa-shekel-sign::before { + content: "\f20b"; +} + +.fa-ils::before { + content: "\f20b"; +} + +.fa-shekel::before { + content: "\f20b"; +} + +.fa-sheqel::before { + content: "\f20b"; +} + +.fa-sheqel-sign::before { + content: "\f20b"; +} + +.fa-map::before { + content: "\f279"; +} + +.fa-rocket::before { + content: "\f135"; +} + +.fa-photo-film::before { + content: "\f87c"; +} + +.fa-photo-video::before { + content: "\f87c"; +} + +.fa-folder-minus::before { + content: "\f65d"; +} + +.fa-store::before { + content: "\f54e"; +} + +.fa-arrow-trend-up::before { + content: "\e098"; +} + +.fa-plug-circle-minus::before { + content: "\e55e"; +} + +.fa-sign-hanging::before { + content: "\f4d9"; +} + +.fa-sign::before { + content: "\f4d9"; +} + +.fa-bezier-curve::before { + content: "\f55b"; +} + +.fa-bell-slash::before { + content: "\f1f6"; +} + +.fa-tablet::before { + content: "\f3fb"; +} + +.fa-tablet-android::before { + content: "\f3fb"; +} + +.fa-school-flag::before { + content: "\e56e"; +} + +.fa-fill::before { + content: "\f575"; +} + +.fa-angle-up::before { + content: "\f106"; +} + +.fa-drumstick-bite::before { + content: "\f6d7"; +} + +.fa-holly-berry::before { + content: "\f7aa"; +} + +.fa-chevron-left::before { + content: "\f053"; +} + +.fa-bacteria::before { + content: "\e059"; +} + +.fa-hand-lizard::before { + content: "\f258"; +} + +.fa-notdef::before { + content: "\e1fe"; +} + +.fa-disease::before { + content: "\f7fa"; +} + +.fa-briefcase-medical::before { + content: "\f469"; +} + +.fa-genderless::before { + content: "\f22d"; +} + +.fa-chevron-right::before { + content: "\f054"; +} + +.fa-retweet::before { + content: "\f079"; +} + +.fa-car-rear::before { + content: "\f5de"; +} + +.fa-car-alt::before { + content: "\f5de"; +} + +.fa-pump-soap::before { + content: "\e06b"; +} + +.fa-video-slash::before { + content: "\f4e2"; +} + +.fa-battery-quarter::before { + content: "\f243"; +} + +.fa-battery-2::before { + content: "\f243"; +} + +.fa-radio::before { + content: "\f8d7"; +} + +.fa-baby-carriage::before { + content: "\f77d"; +} + +.fa-carriage-baby::before { + content: "\f77d"; +} + +.fa-traffic-light::before { + content: "\f637"; +} + +.fa-thermometer::before { + content: "\f491"; +} + +.fa-vr-cardboard::before { + content: "\f729"; +} + +.fa-hand-middle-finger::before { + content: "\f806"; +} + +.fa-percent::before { + content: "\%"; +} + +.fa-percentage::before { + content: "\%"; +} + +.fa-truck-moving::before { + content: "\f4df"; +} + +.fa-glass-water-droplet::before { + content: "\e4f5"; +} + +.fa-display::before { + content: "\e163"; +} + +.fa-face-smile::before { + content: "\f118"; +} + +.fa-smile::before { + content: "\f118"; +} + +.fa-thumbtack::before { + content: "\f08d"; +} + +.fa-thumb-tack::before { + content: "\f08d"; +} + +.fa-trophy::before { + content: "\f091"; +} + +.fa-person-praying::before { + content: "\f683"; +} + +.fa-pray::before { + content: "\f683"; +} + +.fa-hammer::before { + content: "\f6e3"; +} + +.fa-hand-peace::before { + content: "\f25b"; +} + +.fa-rotate::before { + content: "\f2f1"; +} + +.fa-sync-alt::before { + content: "\f2f1"; +} + +.fa-spinner::before { + content: "\f110"; +} + +.fa-robot::before { + content: "\f544"; +} + +.fa-peace::before { + content: "\f67c"; +} + +.fa-gears::before { + content: "\f085"; +} + +.fa-cogs::before { + content: "\f085"; +} + +.fa-warehouse::before { + content: "\f494"; +} + +.fa-arrow-up-right-dots::before { + content: "\e4b7"; +} + +.fa-splotch::before { + content: "\f5bc"; +} + +.fa-face-grin-hearts::before { + content: "\f584"; +} + +.fa-grin-hearts::before { + content: "\f584"; +} + +.fa-dice-four::before { + content: "\f524"; +} + +.fa-sim-card::before { + content: "\f7c4"; +} + +.fa-transgender::before { + content: "\f225"; +} + +.fa-transgender-alt::before { + content: "\f225"; +} + +.fa-mercury::before { + content: "\f223"; +} + +.fa-arrow-turn-down::before { + content: "\f149"; +} + +.fa-level-down::before { + content: "\f149"; +} + +.fa-person-falling-burst::before { + content: "\e547"; +} + +.fa-award::before { + content: "\f559"; +} + +.fa-ticket-simple::before { + content: "\f3ff"; +} + +.fa-ticket-alt::before { + content: "\f3ff"; +} + +.fa-building::before { + content: "\f1ad"; +} + +.fa-angles-left::before { + content: "\f100"; +} + +.fa-angle-double-left::before { + content: "\f100"; +} + +.fa-qrcode::before { + content: "\f029"; +} + +.fa-clock-rotate-left::before { + content: "\f1da"; +} + +.fa-history::before { + content: "\f1da"; +} + +.fa-face-grin-beam-sweat::before { + content: "\f583"; +} + +.fa-grin-beam-sweat::before { + content: "\f583"; +} + +.fa-file-export::before { + content: "\f56e"; +} + +.fa-arrow-right-from-file::before { + content: "\f56e"; +} + +.fa-shield::before { + content: "\f132"; +} + +.fa-shield-blank::before { + content: "\f132"; +} + +.fa-arrow-up-short-wide::before { + content: "\f885"; +} + +.fa-sort-amount-up-alt::before { + content: "\f885"; +} + +.fa-house-medical::before { + content: "\e3b2"; +} + +.fa-golf-ball-tee::before { + content: "\f450"; +} + +.fa-golf-ball::before { + content: "\f450"; +} + +.fa-circle-chevron-left::before { + content: "\f137"; +} + +.fa-chevron-circle-left::before { + content: "\f137"; +} + +.fa-house-chimney-window::before { + content: "\e00d"; +} + +.fa-pen-nib::before { + content: "\f5ad"; +} + +.fa-tent-arrow-turn-left::before { + content: "\e580"; +} + +.fa-tents::before { + content: "\e582"; +} + +.fa-wand-magic::before { + content: "\f0d0"; +} + +.fa-magic::before { + content: "\f0d0"; +} + +.fa-dog::before { + content: "\f6d3"; +} + +.fa-carrot::before { + content: "\f787"; +} + +.fa-moon::before { + content: "\f186"; +} + +.fa-wine-glass-empty::before { + content: "\f5ce"; +} + +.fa-wine-glass-alt::before { + content: "\f5ce"; +} + +.fa-cheese::before { + content: "\f7ef"; +} + +.fa-yin-yang::before { + content: "\f6ad"; +} + +.fa-music::before { + content: "\f001"; +} + +.fa-code-commit::before { + content: "\f386"; +} + +.fa-temperature-low::before { + content: "\f76b"; +} + +.fa-person-biking::before { + content: "\f84a"; +} + +.fa-biking::before { + content: "\f84a"; +} + +.fa-broom::before { + content: "\f51a"; +} + +.fa-shield-heart::before { + content: "\e574"; +} + +.fa-gopuram::before { + content: "\f664"; +} + +.fa-earth-oceania::before { + content: "\e47b"; +} + +.fa-globe-oceania::before { + content: "\e47b"; +} + +.fa-square-xmark::before { + content: "\f2d3"; +} + +.fa-times-square::before { + content: "\f2d3"; +} + +.fa-xmark-square::before { + content: "\f2d3"; +} + +.fa-hashtag::before { + content: "\#"; +} + +.fa-up-right-and-down-left-from-center::before { + content: "\f424"; +} + +.fa-expand-alt::before { + content: "\f424"; +} + +.fa-oil-can::before { + content: "\f613"; +} + +.fa-t::before { + content: "T"; +} + +.fa-hippo::before { + content: "\f6ed"; +} + +.fa-chart-column::before { + content: "\e0e3"; +} + +.fa-infinity::before { + content: "\f534"; +} + +.fa-vial-circle-check::before { + content: "\e596"; +} + +.fa-person-arrow-down-to-line::before { + content: "\e538"; +} + +.fa-voicemail::before { + content: "\f897"; +} + +.fa-fan::before { + content: "\f863"; +} + +.fa-person-walking-luggage::before { + content: "\e554"; +} + +.fa-up-down::before { + content: "\f338"; +} + +.fa-arrows-alt-v::before { + content: "\f338"; +} + +.fa-cloud-moon-rain::before { + content: "\f73c"; +} + +.fa-calendar::before { + content: "\f133"; +} + +.fa-trailer::before { + content: "\e041"; +} + +.fa-bahai::before { + content: "\f666"; +} + +.fa-haykal::before { + content: "\f666"; +} + +.fa-sd-card::before { + content: "\f7c2"; +} + +.fa-dragon::before { + content: "\f6d5"; +} + +.fa-shoe-prints::before { + content: "\f54b"; +} + +.fa-circle-plus::before { + content: "\f055"; +} + +.fa-plus-circle::before { + content: "\f055"; +} + +.fa-face-grin-tongue-wink::before { + content: "\f58b"; +} + +.fa-grin-tongue-wink::before { + content: "\f58b"; +} + +.fa-hand-holding::before { + content: "\f4bd"; +} + +.fa-plug-circle-exclamation::before { + content: "\e55d"; +} + +.fa-link-slash::before { + content: "\f127"; +} + +.fa-chain-broken::before { + content: "\f127"; +} + +.fa-chain-slash::before { + content: "\f127"; +} + +.fa-unlink::before { + content: "\f127"; +} + +.fa-clone::before { + content: "\f24d"; +} + +.fa-person-walking-arrow-loop-left::before { + content: "\e551"; +} + +.fa-arrow-up-z-a::before { + content: "\f882"; +} + +.fa-sort-alpha-up-alt::before { + content: "\f882"; +} + +.fa-fire-flame-curved::before { + content: "\f7e4"; +} + +.fa-fire-alt::before { + content: "\f7e4"; +} + +.fa-tornado::before { + content: "\f76f"; +} + +.fa-file-circle-plus::before { + content: "\e494"; +} + +.fa-book-quran::before { + content: "\f687"; +} + +.fa-quran::before { + content: "\f687"; +} + +.fa-anchor::before { + content: "\f13d"; +} + +.fa-border-all::before { + content: "\f84c"; +} + +.fa-face-angry::before { + content: "\f556"; +} + +.fa-angry::before { + content: "\f556"; +} + +.fa-cookie-bite::before { + content: "\f564"; +} + +.fa-arrow-trend-down::before { + content: "\e097"; +} + +.fa-rss::before { + content: "\f09e"; +} + +.fa-feed::before { + content: "\f09e"; +} + +.fa-draw-polygon::before { + content: "\f5ee"; +} + +.fa-scale-balanced::before { + content: "\f24e"; +} + +.fa-balance-scale::before { + content: "\f24e"; +} + +.fa-gauge-simple-high::before { + content: "\f62a"; +} + +.fa-tachometer::before { + content: "\f62a"; +} + +.fa-tachometer-fast::before { + content: "\f62a"; +} + +.fa-shower::before { + content: "\f2cc"; +} + +.fa-desktop::before { + content: "\f390"; +} + +.fa-desktop-alt::before { + content: "\f390"; +} + +.fa-m::before { + content: "M"; +} + +.fa-table-list::before { + content: "\f00b"; +} + +.fa-th-list::before { + content: "\f00b"; +} + +.fa-comment-sms::before { + content: "\f7cd"; +} + +.fa-sms::before { + content: "\f7cd"; +} + +.fa-book::before { + content: "\f02d"; +} + +.fa-user-plus::before { + content: "\f234"; +} + +.fa-check::before { + content: "\f00c"; +} + +.fa-battery-three-quarters::before { + content: "\f241"; +} + +.fa-battery-4::before { + content: "\f241"; +} + +.fa-house-circle-check::before { + content: "\e509"; +} + +.fa-angle-left::before { + content: "\f104"; +} + +.fa-diagram-successor::before { + content: "\e47a"; +} + +.fa-truck-arrow-right::before { + content: "\e58b"; +} + +.fa-arrows-split-up-and-left::before { + content: "\e4bc"; +} + +.fa-hand-fist::before { + content: "\f6de"; +} + +.fa-fist-raised::before { + content: "\f6de"; +} + +.fa-cloud-moon::before { + content: "\f6c3"; +} + +.fa-briefcase::before { + content: "\f0b1"; +} + +.fa-person-falling::before { + content: "\e546"; +} + +.fa-image-portrait::before { + content: "\f3e0"; +} + +.fa-portrait::before { + content: "\f3e0"; +} + +.fa-user-tag::before { + content: "\f507"; +} + +.fa-rug::before { + content: "\e569"; +} + +.fa-earth-europe::before { + content: "\f7a2"; +} + +.fa-globe-europe::before { + content: "\f7a2"; +} + +.fa-cart-flatbed-suitcase::before { + content: "\f59d"; +} + +.fa-luggage-cart::before { + content: "\f59d"; +} + +.fa-rectangle-xmark::before { + content: "\f410"; +} + +.fa-rectangle-times::before { + content: "\f410"; +} + +.fa-times-rectangle::before { + content: "\f410"; +} + +.fa-window-close::before { + content: "\f410"; +} + +.fa-baht-sign::before { + content: "\e0ac"; +} + +.fa-book-open::before { + content: "\f518"; +} + +.fa-book-journal-whills::before { + content: "\f66a"; +} + +.fa-journal-whills::before { + content: "\f66a"; +} + +.fa-handcuffs::before { + content: "\e4f8"; +} + +.fa-triangle-exclamation::before { + content: "\f071"; +} + +.fa-exclamation-triangle::before { + content: "\f071"; +} + +.fa-warning::before { + content: "\f071"; +} + +.fa-database::before { + content: "\f1c0"; +} + +.fa-share::before { + content: "\f064"; +} + +.fa-mail-forward::before { + content: "\f064"; +} + +.fa-bottle-droplet::before { + content: "\e4c4"; +} + +.fa-mask-face::before { + content: "\e1d7"; +} + +.fa-hill-rockslide::before { + content: "\e508"; +} + +.fa-right-left::before { + content: "\f362"; +} + +.fa-exchange-alt::before { + content: "\f362"; +} + +.fa-paper-plane::before { + content: "\f1d8"; +} + +.fa-road-circle-exclamation::before { + content: "\e565"; +} + +.fa-dungeon::before { + content: "\f6d9"; +} + +.fa-align-right::before { + content: "\f038"; +} + +.fa-money-bill-1-wave::before { + content: "\f53b"; +} + +.fa-money-bill-wave-alt::before { + content: "\f53b"; +} + +.fa-life-ring::before { + content: "\f1cd"; +} + +.fa-hands::before { + content: "\f2a7"; +} + +.fa-sign-language::before { + content: "\f2a7"; +} + +.fa-signing::before { + content: "\f2a7"; +} + +.fa-calendar-day::before { + content: "\f783"; +} + +.fa-water-ladder::before { + content: "\f5c5"; +} + +.fa-ladder-water::before { + content: "\f5c5"; +} + +.fa-swimming-pool::before { + content: "\f5c5"; +} + +.fa-arrows-up-down::before { + content: "\f07d"; +} + +.fa-arrows-v::before { + content: "\f07d"; +} + +.fa-face-grimace::before { + content: "\f57f"; +} + +.fa-grimace::before { + content: "\f57f"; +} + +.fa-wheelchair-move::before { + content: "\e2ce"; +} + +.fa-wheelchair-alt::before { + content: "\e2ce"; +} + +.fa-turn-down::before { + content: "\f3be"; +} + +.fa-level-down-alt::before { + content: "\f3be"; +} + +.fa-person-walking-arrow-right::before { + content: "\e552"; +} + +.fa-square-envelope::before { + content: "\f199"; +} + +.fa-envelope-square::before { + content: "\f199"; +} + +.fa-dice::before { + content: "\f522"; +} + +.fa-bowling-ball::before { + content: "\f436"; +} + +.fa-brain::before { + content: "\f5dc"; +} + +.fa-bandage::before { + content: "\f462"; +} + +.fa-band-aid::before { + content: "\f462"; +} + +.fa-calendar-minus::before { + content: "\f272"; +} + +.fa-circle-xmark::before { + content: "\f057"; +} + +.fa-times-circle::before { + content: "\f057"; +} + +.fa-xmark-circle::before { + content: "\f057"; +} + +.fa-gifts::before { + content: "\f79c"; +} + +.fa-hotel::before { + content: "\f594"; +} + +.fa-earth-asia::before { + content: "\f57e"; +} + +.fa-globe-asia::before { + content: "\f57e"; +} + +.fa-id-card-clip::before { + content: "\f47f"; +} + +.fa-id-card-alt::before { + content: "\f47f"; +} + +.fa-magnifying-glass-plus::before { + content: "\f00e"; +} + +.fa-search-plus::before { + content: "\f00e"; +} + +.fa-thumbs-up::before { + content: "\f164"; +} + +.fa-user-clock::before { + content: "\f4fd"; +} + +.fa-hand-dots::before { + content: "\f461"; +} + +.fa-allergies::before { + content: "\f461"; +} + +.fa-file-invoice::before { + content: "\f570"; +} + +.fa-window-minimize::before { + content: "\f2d1"; +} + +.fa-mug-saucer::before { + content: "\f0f4"; +} + +.fa-coffee::before { + content: "\f0f4"; +} + +.fa-brush::before { + content: "\f55d"; +} + +.fa-mask::before { + content: "\f6fa"; +} + +.fa-magnifying-glass-minus::before { + content: "\f010"; +} + +.fa-search-minus::before { + content: "\f010"; +} + +.fa-ruler-vertical::before { + content: "\f548"; +} + +.fa-user-large::before { + content: "\f406"; +} + +.fa-user-alt::before { + content: "\f406"; +} + +.fa-train-tram::before { + content: "\e5b4"; +} + +.fa-user-nurse::before { + content: "\f82f"; +} + +.fa-syringe::before { + content: "\f48e"; +} + +.fa-cloud-sun::before { + content: "\f6c4"; +} + +.fa-stopwatch-20::before { + content: "\e06f"; +} + +.fa-square-full::before { + content: "\f45c"; +} + +.fa-magnet::before { + content: "\f076"; +} + +.fa-jar::before { + content: "\e516"; +} + +.fa-note-sticky::before { + content: "\f249"; +} + +.fa-sticky-note::before { + content: "\f249"; +} + +.fa-bug-slash::before { + content: "\e490"; +} + +.fa-arrow-up-from-water-pump::before { + content: "\e4b6"; +} + +.fa-bone::before { + content: "\f5d7"; +} + +.fa-user-injured::before { + content: "\f728"; +} + +.fa-face-sad-tear::before { + content: "\f5b4"; +} + +.fa-sad-tear::before { + content: "\f5b4"; +} + +.fa-plane::before { + content: "\f072"; +} + +.fa-tent-arrows-down::before { + content: "\e581"; +} + +.fa-exclamation::before { + content: "\!"; +} + +.fa-arrows-spin::before { + content: "\e4bb"; +} + +.fa-print::before { + content: "\f02f"; +} + +.fa-turkish-lira-sign::before { + content: "\e2bb"; +} + +.fa-try::before { + content: "\e2bb"; +} + +.fa-turkish-lira::before { + content: "\e2bb"; +} + +.fa-dollar-sign::before { + content: "\$"; +} + +.fa-dollar::before { + content: "\$"; +} + +.fa-usd::before { + content: "\$"; +} + +.fa-x::before { + content: "X"; +} + +.fa-magnifying-glass-dollar::before { + content: "\f688"; +} + +.fa-search-dollar::before { + content: "\f688"; +} + +.fa-users-gear::before { + content: "\f509"; +} + +.fa-users-cog::before { + content: "\f509"; +} + +.fa-person-military-pointing::before { + content: "\e54a"; +} + +.fa-building-columns::before { + content: "\f19c"; +} + +.fa-bank::before { + content: "\f19c"; +} + +.fa-institution::before { + content: "\f19c"; +} + +.fa-museum::before { + content: "\f19c"; +} + +.fa-university::before { + content: "\f19c"; +} + +.fa-umbrella::before { + content: "\f0e9"; +} + +.fa-trowel::before { + content: "\e589"; +} + +.fa-d::before { + content: "D"; +} + +.fa-stapler::before { + content: "\e5af"; +} + +.fa-masks-theater::before { + content: "\f630"; +} + +.fa-theater-masks::before { + content: "\f630"; +} + +.fa-kip-sign::before { + content: "\e1c4"; +} + +.fa-hand-point-left::before { + content: "\f0a5"; +} + +.fa-handshake-simple::before { + content: "\f4c6"; +} + +.fa-handshake-alt::before { + content: "\f4c6"; +} + +.fa-jet-fighter::before { + content: "\f0fb"; +} + +.fa-fighter-jet::before { + content: "\f0fb"; +} + +.fa-square-share-nodes::before { + content: "\f1e1"; +} + +.fa-share-alt-square::before { + content: "\f1e1"; +} + +.fa-barcode::before { + content: "\f02a"; +} + +.fa-plus-minus::before { + content: "\e43c"; +} + +.fa-video::before { + content: "\f03d"; +} + +.fa-video-camera::before { + content: "\f03d"; +} + +.fa-graduation-cap::before { + content: "\f19d"; +} + +.fa-mortar-board::before { + content: "\f19d"; +} + +.fa-hand-holding-medical::before { + content: "\e05c"; +} + +.fa-person-circle-check::before { + content: "\e53e"; +} + +.fa-turn-up::before { + content: "\f3bf"; +} + +.fa-level-up-alt::before { + content: "\f3bf"; +} + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +/*! + * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +:root, :host { + --fa-style-family-classic: "Font Awesome 6 Free"; + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; +} + +@font-face { + font-family: "Font Awesome 6 Free"; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.ttf") format("truetype"); +} +.far, +.fa-regular { + font-weight: 400; +} + +/*! + * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +:root, :host { + --fa-style-family-classic: "Font Awesome 6 Free"; + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; +} + +@font-face { + font-family: "Font Awesome 6 Free"; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.ttf") format("truetype"); +} +.fas, +.fa-solid { + font-weight: 900; +} + +/*! + * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +:root, :host { + --fa-style-family-brands: "Font Awesome 6 Brands"; + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; +} + +@font-face { + font-family: "Font Awesome 6 Brands"; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.ttf") format("truetype"); +} +.fab, +.fa-brands { + font-weight: 400; +} + +.fa-monero:before { + content: "\f3d0"; +} + +.fa-hooli:before { + content: "\f427"; +} + +.fa-yelp:before { + content: "\f1e9"; +} + +.fa-cc-visa:before { + content: "\f1f0"; +} + +.fa-lastfm:before { + content: "\f202"; +} + +.fa-shopware:before { + content: "\f5b5"; +} + +.fa-creative-commons-nc:before { + content: "\f4e8"; +} + +.fa-aws:before { + content: "\f375"; +} + +.fa-redhat:before { + content: "\f7bc"; +} + +.fa-yoast:before { + content: "\f2b1"; +} + +.fa-cloudflare:before { + content: "\e07d"; +} + +.fa-ups:before { + content: "\f7e0"; +} + +.fa-pixiv:before { + content: "\e640"; +} + +.fa-wpexplorer:before { + content: "\f2de"; +} + +.fa-dyalog:before { + content: "\f399"; +} + +.fa-bity:before { + content: "\f37a"; +} + +.fa-stackpath:before { + content: "\f842"; +} + +.fa-buysellads:before { + content: "\f20d"; +} + +.fa-first-order:before { + content: "\f2b0"; +} + +.fa-modx:before { + content: "\f285"; +} + +.fa-guilded:before { + content: "\e07e"; +} + +.fa-vnv:before { + content: "\f40b"; +} + +.fa-square-js:before { + content: "\f3b9"; +} + +.fa-js-square:before { + content: "\f3b9"; +} + +.fa-microsoft:before { + content: "\f3ca"; +} + +.fa-qq:before { + content: "\f1d6"; +} + +.fa-orcid:before { + content: "\f8d2"; +} + +.fa-java:before { + content: "\f4e4"; +} + +.fa-invision:before { + content: "\f7b0"; +} + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; +} + +.fa-centercode:before { + content: "\f380"; +} + +.fa-glide-g:before { + content: "\f2a6"; +} + +.fa-drupal:before { + content: "\f1a9"; +} + +.fa-hire-a-helper:before { + content: "\f3b0"; +} + +.fa-creative-commons-by:before { + content: "\f4e7"; +} + +.fa-unity:before { + content: "\e049"; +} + +.fa-whmcs:before { + content: "\f40d"; +} + +.fa-rocketchat:before { + content: "\f3e8"; +} + +.fa-vk:before { + content: "\f189"; +} + +.fa-untappd:before { + content: "\f405"; +} + +.fa-mailchimp:before { + content: "\f59e"; +} + +.fa-css3-alt:before { + content: "\f38b"; +} + +.fa-square-reddit:before { + content: "\f1a2"; +} + +.fa-reddit-square:before { + content: "\f1a2"; +} + +.fa-vimeo-v:before { + content: "\f27d"; +} + +.fa-contao:before { + content: "\f26d"; +} + +.fa-square-font-awesome:before { + content: "\e5ad"; +} + +.fa-deskpro:before { + content: "\f38f"; +} + +.fa-brave:before { + content: "\e63c"; +} + +.fa-sistrix:before { + content: "\f3ee"; +} + +.fa-square-instagram:before { + content: "\e055"; +} + +.fa-instagram-square:before { + content: "\e055"; +} + +.fa-battle-net:before { + content: "\f835"; +} + +.fa-the-red-yeti:before { + content: "\f69d"; +} + +.fa-square-hacker-news:before { + content: "\f3af"; +} + +.fa-hacker-news-square:before { + content: "\f3af"; +} + +.fa-edge:before { + content: "\f282"; +} + +.fa-threads:before { + content: "\e618"; +} + +.fa-napster:before { + content: "\f3d2"; +} + +.fa-square-snapchat:before { + content: "\f2ad"; +} + +.fa-snapchat-square:before { + content: "\f2ad"; +} + +.fa-google-plus-g:before { + content: "\f0d5"; +} + +.fa-artstation:before { + content: "\f77a"; +} + +.fa-markdown:before { + content: "\f60f"; +} + +.fa-sourcetree:before { + content: "\f7d3"; +} + +.fa-google-plus:before { + content: "\f2b3"; +} + +.fa-diaspora:before { + content: "\f791"; +} + +.fa-foursquare:before { + content: "\f180"; +} + +.fa-stack-overflow:before { + content: "\f16c"; +} + +.fa-github-alt:before { + content: "\f113"; +} + +.fa-phoenix-squadron:before { + content: "\f511"; +} + +.fa-pagelines:before { + content: "\f18c"; +} + +.fa-algolia:before { + content: "\f36c"; +} + +.fa-red-river:before { + content: "\f3e3"; +} + +.fa-creative-commons-sa:before { + content: "\f4ef"; +} + +.fa-safari:before { + content: "\f267"; +} + +.fa-google:before { + content: "\f1a0"; +} + +.fa-square-font-awesome-stroke:before { + content: "\f35c"; +} + +.fa-font-awesome-alt:before { + content: "\f35c"; +} + +.fa-atlassian:before { + content: "\f77b"; +} + +.fa-linkedin-in:before { + content: "\f0e1"; +} + +.fa-digital-ocean:before { + content: "\f391"; +} + +.fa-nimblr:before { + content: "\f5a8"; +} + +.fa-chromecast:before { + content: "\f838"; +} + +.fa-evernote:before { + content: "\f839"; +} + +.fa-hacker-news:before { + content: "\f1d4"; +} + +.fa-creative-commons-sampling:before { + content: "\f4f0"; +} + +.fa-adversal:before { + content: "\f36a"; +} + +.fa-creative-commons:before { + content: "\f25e"; +} + +.fa-watchman-monitoring:before { + content: "\e087"; +} + +.fa-fonticons:before { + content: "\f280"; +} + +.fa-weixin:before { + content: "\f1d7"; +} + +.fa-shirtsinbulk:before { + content: "\f214"; +} + +.fa-codepen:before { + content: "\f1cb"; +} + +.fa-git-alt:before { + content: "\f841"; +} + +.fa-lyft:before { + content: "\f3c3"; +} + +.fa-rev:before { + content: "\f5b2"; +} + +.fa-windows:before { + content: "\f17a"; +} + +.fa-wizards-of-the-coast:before { + content: "\f730"; +} + +.fa-square-viadeo:before { + content: "\f2aa"; +} + +.fa-viadeo-square:before { + content: "\f2aa"; +} + +.fa-meetup:before { + content: "\f2e0"; +} + +.fa-centos:before { + content: "\f789"; +} + +.fa-adn:before { + content: "\f170"; +} + +.fa-cloudsmith:before { + content: "\f384"; +} + +.fa-opensuse:before { + content: "\e62b"; +} + +.fa-pied-piper-alt:before { + content: "\f1a8"; +} + +.fa-square-dribbble:before { + content: "\f397"; +} + +.fa-dribbble-square:before { + content: "\f397"; +} + +.fa-codiepie:before { + content: "\f284"; +} + +.fa-node:before { + content: "\f419"; +} + +.fa-mix:before { + content: "\f3cb"; +} + +.fa-steam:before { + content: "\f1b6"; +} + +.fa-cc-apple-pay:before { + content: "\f416"; +} + +.fa-scribd:before { + content: "\f28a"; +} + +.fa-debian:before { + content: "\e60b"; +} + +.fa-openid:before { + content: "\f19b"; +} + +.fa-instalod:before { + content: "\e081"; +} + +.fa-expeditedssl:before { + content: "\f23e"; +} + +.fa-sellcast:before { + content: "\f2da"; +} + +.fa-square-twitter:before { + content: "\f081"; +} + +.fa-twitter-square:before { + content: "\f081"; +} + +.fa-r-project:before { + content: "\f4f7"; +} + +.fa-delicious:before { + content: "\f1a5"; +} + +.fa-freebsd:before { + content: "\f3a4"; +} + +.fa-vuejs:before { + content: "\f41f"; +} + +.fa-accusoft:before { + content: "\f369"; +} + +.fa-ioxhost:before { + content: "\f208"; +} + +.fa-fonticons-fi:before { + content: "\f3a2"; +} + +.fa-app-store:before { + content: "\f36f"; +} + +.fa-cc-mastercard:before { + content: "\f1f1"; +} + +.fa-itunes-note:before { + content: "\f3b5"; +} + +.fa-golang:before { + content: "\e40f"; +} + +.fa-kickstarter:before { + content: "\f3bb"; +} + +.fa-grav:before { + content: "\f2d6"; +} + +.fa-weibo:before { + content: "\f18a"; +} + +.fa-uncharted:before { + content: "\e084"; +} + +.fa-firstdraft:before { + content: "\f3a1"; +} + +.fa-square-youtube:before { + content: "\f431"; +} + +.fa-youtube-square:before { + content: "\f431"; +} + +.fa-wikipedia-w:before { + content: "\f266"; +} + +.fa-wpressr:before { + content: "\f3e4"; +} + +.fa-rendact:before { + content: "\f3e4"; +} + +.fa-angellist:before { + content: "\f209"; +} + +.fa-galactic-republic:before { + content: "\f50c"; +} + +.fa-nfc-directional:before { + content: "\e530"; +} + +.fa-skype:before { + content: "\f17e"; +} + +.fa-joget:before { + content: "\f3b7"; +} + +.fa-fedora:before { + content: "\f798"; +} + +.fa-stripe-s:before { + content: "\f42a"; +} + +.fa-meta:before { + content: "\e49b"; +} + +.fa-laravel:before { + content: "\f3bd"; +} + +.fa-hotjar:before { + content: "\f3b1"; +} + +.fa-bluetooth-b:before { + content: "\f294"; +} + +.fa-square-letterboxd:before { + content: "\e62e"; +} + +.fa-sticker-mule:before { + content: "\f3f7"; +} + +.fa-creative-commons-zero:before { + content: "\f4f3"; +} + +.fa-hips:before { + content: "\f452"; +} + +.fa-behance:before { + content: "\f1b4"; +} + +.fa-reddit:before { + content: "\f1a1"; +} + +.fa-discord:before { + content: "\f392"; +} + +.fa-chrome:before { + content: "\f268"; +} + +.fa-app-store-ios:before { + content: "\f370"; +} + +.fa-cc-discover:before { + content: "\f1f2"; +} + +.fa-wpbeginner:before { + content: "\f297"; +} + +.fa-confluence:before { + content: "\f78d"; +} + +.fa-shoelace:before { + content: "\e60c"; +} + +.fa-mdb:before { + content: "\f8ca"; +} + +.fa-dochub:before { + content: "\f394"; +} + +.fa-accessible-icon:before { + content: "\f368"; +} + +.fa-ebay:before { + content: "\f4f4"; +} + +.fa-amazon:before { + content: "\f270"; +} + +.fa-unsplash:before { + content: "\e07c"; +} + +.fa-yarn:before { + content: "\f7e3"; +} + +.fa-square-steam:before { + content: "\f1b7"; +} + +.fa-steam-square:before { + content: "\f1b7"; +} + +.fa-500px:before { + content: "\f26e"; +} + +.fa-square-vimeo:before { + content: "\f194"; +} + +.fa-vimeo-square:before { + content: "\f194"; +} + +.fa-asymmetrik:before { + content: "\f372"; +} + +.fa-font-awesome:before { + content: "\f2b4"; +} + +.fa-font-awesome-flag:before { + content: "\f2b4"; +} + +.fa-font-awesome-logo-full:before { + content: "\f2b4"; +} + +.fa-gratipay:before { + content: "\f184"; +} + +.fa-apple:before { + content: "\f179"; +} + +.fa-hive:before { + content: "\e07f"; +} + +.fa-gitkraken:before { + content: "\f3a6"; +} + +.fa-keybase:before { + content: "\f4f5"; +} + +.fa-apple-pay:before { + content: "\f415"; +} + +.fa-padlet:before { + content: "\e4a0"; +} + +.fa-amazon-pay:before { + content: "\f42c"; +} + +.fa-square-github:before { + content: "\f092"; +} + +.fa-github-square:before { + content: "\f092"; +} + +.fa-stumbleupon:before { + content: "\f1a4"; +} + +.fa-fedex:before { + content: "\f797"; +} + +.fa-phoenix-framework:before { + content: "\f3dc"; +} + +.fa-shopify:before { + content: "\e057"; +} + +.fa-neos:before { + content: "\f612"; +} + +.fa-square-threads:before { + content: "\e619"; +} + +.fa-hackerrank:before { + content: "\f5f7"; +} + +.fa-researchgate:before { + content: "\f4f8"; +} + +.fa-swift:before { + content: "\f8e1"; +} + +.fa-angular:before { + content: "\f420"; +} + +.fa-speakap:before { + content: "\f3f3"; +} + +.fa-angrycreative:before { + content: "\f36e"; +} + +.fa-y-combinator:before { + content: "\f23b"; +} + +.fa-empire:before { + content: "\f1d1"; +} + +.fa-envira:before { + content: "\f299"; +} + +.fa-google-scholar:before { + content: "\e63b"; +} + +.fa-square-gitlab:before { + content: "\e5ae"; +} + +.fa-gitlab-square:before { + content: "\e5ae"; +} + +.fa-studiovinari:before { + content: "\f3f8"; +} + +.fa-pied-piper:before { + content: "\f2ae"; +} + +.fa-wordpress:before { + content: "\f19a"; +} + +.fa-product-hunt:before { + content: "\f288"; +} + +.fa-firefox:before { + content: "\f269"; +} + +.fa-linode:before { + content: "\f2b8"; +} + +.fa-goodreads:before { + content: "\f3a8"; +} + +.fa-square-odnoklassniki:before { + content: "\f264"; +} + +.fa-odnoklassniki-square:before { + content: "\f264"; +} + +.fa-jsfiddle:before { + content: "\f1cc"; +} + +.fa-sith:before { + content: "\f512"; +} + +.fa-themeisle:before { + content: "\f2b2"; +} + +.fa-page4:before { + content: "\f3d7"; +} + +.fa-hashnode:before { + content: "\e499"; +} + +.fa-react:before { + content: "\f41b"; +} + +.fa-cc-paypal:before { + content: "\f1f4"; +} + +.fa-squarespace:before { + content: "\f5be"; +} + +.fa-cc-stripe:before { + content: "\f1f5"; +} + +.fa-creative-commons-share:before { + content: "\f4f2"; +} + +.fa-bitcoin:before { + content: "\f379"; +} + +.fa-keycdn:before { + content: "\f3ba"; +} + +.fa-opera:before { + content: "\f26a"; +} + +.fa-itch-io:before { + content: "\f83a"; +} + +.fa-umbraco:before { + content: "\f8e8"; +} + +.fa-galactic-senate:before { + content: "\f50d"; +} + +.fa-ubuntu:before { + content: "\f7df"; +} + +.fa-draft2digital:before { + content: "\f396"; +} + +.fa-stripe:before { + content: "\f429"; +} + +.fa-houzz:before { + content: "\f27c"; +} + +.fa-gg:before { + content: "\f260"; +} + +.fa-dhl:before { + content: "\f790"; +} + +.fa-square-pinterest:before { + content: "\f0d3"; +} + +.fa-pinterest-square:before { + content: "\f0d3"; +} + +.fa-xing:before { + content: "\f168"; +} + +.fa-blackberry:before { + content: "\f37b"; +} + +.fa-creative-commons-pd:before { + content: "\f4ec"; +} + +.fa-playstation:before { + content: "\f3df"; +} + +.fa-quinscape:before { + content: "\f459"; +} + +.fa-less:before { + content: "\f41d"; +} + +.fa-blogger-b:before { + content: "\f37d"; +} + +.fa-opencart:before { + content: "\f23d"; +} + +.fa-vine:before { + content: "\f1ca"; +} + +.fa-signal-messenger:before { + content: "\e663"; +} + +.fa-paypal:before { + content: "\f1ed"; +} + +.fa-gitlab:before { + content: "\f296"; +} + +.fa-typo3:before { + content: "\f42b"; +} + +.fa-reddit-alien:before { + content: "\f281"; +} + +.fa-yahoo:before { + content: "\f19e"; +} + +.fa-dailymotion:before { + content: "\e052"; +} + +.fa-affiliatetheme:before { + content: "\f36b"; +} + +.fa-pied-piper-pp:before { + content: "\f1a7"; +} + +.fa-bootstrap:before { + content: "\f836"; +} + +.fa-odnoklassniki:before { + content: "\f263"; +} + +.fa-nfc-symbol:before { + content: "\e531"; +} + +.fa-mintbit:before { + content: "\e62f"; +} + +.fa-ethereum:before { + content: "\f42e"; +} + +.fa-speaker-deck:before { + content: "\f83c"; +} + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; +} + +.fa-patreon:before { + content: "\f3d9"; +} + +.fa-avianex:before { + content: "\f374"; +} + +.fa-ello:before { + content: "\f5f1"; +} + +.fa-gofore:before { + content: "\f3a7"; +} + +.fa-bimobject:before { + content: "\f378"; +} + +.fa-brave-reverse:before { + content: "\e63d"; +} + +.fa-facebook-f:before { + content: "\f39e"; +} + +.fa-square-google-plus:before { + content: "\f0d4"; +} + +.fa-google-plus-square:before { + content: "\f0d4"; +} + +.fa-mandalorian:before { + content: "\f50f"; +} + +.fa-first-order-alt:before { + content: "\f50a"; +} + +.fa-osi:before { + content: "\f41a"; +} + +.fa-google-wallet:before { + content: "\f1ee"; +} + +.fa-d-and-d-beyond:before { + content: "\f6ca"; +} + +.fa-periscope:before { + content: "\f3da"; +} + +.fa-fulcrum:before { + content: "\f50b"; +} + +.fa-cloudscale:before { + content: "\f383"; +} + +.fa-forumbee:before { + content: "\f211"; +} + +.fa-mizuni:before { + content: "\f3cc"; +} + +.fa-schlix:before { + content: "\f3ea"; +} + +.fa-square-xing:before { + content: "\f169"; +} + +.fa-xing-square:before { + content: "\f169"; +} + +.fa-bandcamp:before { + content: "\f2d5"; +} + +.fa-wpforms:before { + content: "\f298"; +} + +.fa-cloudversify:before { + content: "\f385"; +} + +.fa-usps:before { + content: "\f7e1"; +} + +.fa-megaport:before { + content: "\f5a3"; +} + +.fa-magento:before { + content: "\f3c4"; +} + +.fa-spotify:before { + content: "\f1bc"; +} + +.fa-optin-monster:before { + content: "\f23c"; +} + +.fa-fly:before { + content: "\f417"; +} + +.fa-aviato:before { + content: "\f421"; +} + +.fa-itunes:before { + content: "\f3b4"; +} + +.fa-cuttlefish:before { + content: "\f38c"; +} + +.fa-blogger:before { + content: "\f37c"; +} + +.fa-flickr:before { + content: "\f16e"; +} + +.fa-viber:before { + content: "\f409"; +} + +.fa-soundcloud:before { + content: "\f1be"; +} + +.fa-digg:before { + content: "\f1a6"; +} + +.fa-tencent-weibo:before { + content: "\f1d5"; +} + +.fa-letterboxd:before { + content: "\e62d"; +} + +.fa-symfony:before { + content: "\f83d"; +} + +.fa-maxcdn:before { + content: "\f136"; +} + +.fa-etsy:before { + content: "\f2d7"; +} + +.fa-facebook-messenger:before { + content: "\f39f"; +} + +.fa-audible:before { + content: "\f373"; +} + +.fa-think-peaks:before { + content: "\f731"; +} + +.fa-bilibili:before { + content: "\e3d9"; +} + +.fa-erlang:before { + content: "\f39d"; +} + +.fa-x-twitter:before { + content: "\e61b"; +} + +.fa-cotton-bureau:before { + content: "\f89e"; +} + +.fa-dashcube:before { + content: "\f210"; +} + +.fa-42-group:before { + content: "\e080"; +} + +.fa-innosoft:before { + content: "\e080"; +} + +.fa-stack-exchange:before { + content: "\f18d"; +} + +.fa-elementor:before { + content: "\f430"; +} + +.fa-square-pied-piper:before { + content: "\e01e"; +} + +.fa-pied-piper-square:before { + content: "\e01e"; +} + +.fa-creative-commons-nd:before { + content: "\f4eb"; +} + +.fa-palfed:before { + content: "\f3d8"; +} + +.fa-superpowers:before { + content: "\f2dd"; +} + +.fa-resolving:before { + content: "\f3e7"; +} + +.fa-xbox:before { + content: "\f412"; +} + +.fa-searchengin:before { + content: "\f3eb"; +} + +.fa-tiktok:before { + content: "\e07b"; +} + +.fa-square-facebook:before { + content: "\f082"; +} + +.fa-facebook-square:before { + content: "\f082"; +} + +.fa-renren:before { + content: "\f18b"; +} + +.fa-linux:before { + content: "\f17c"; +} + +.fa-glide:before { + content: "\f2a5"; +} + +.fa-linkedin:before { + content: "\f08c"; +} + +.fa-hubspot:before { + content: "\f3b2"; +} + +.fa-deploydog:before { + content: "\f38e"; +} + +.fa-twitch:before { + content: "\f1e8"; +} + +.fa-ravelry:before { + content: "\f2d9"; +} + +.fa-mixer:before { + content: "\e056"; +} + +.fa-square-lastfm:before { + content: "\f203"; +} + +.fa-lastfm-square:before { + content: "\f203"; +} + +.fa-vimeo:before { + content: "\f40a"; +} + +.fa-mendeley:before { + content: "\f7b3"; +} + +.fa-uniregistry:before { + content: "\f404"; +} + +.fa-figma:before { + content: "\f799"; +} + +.fa-creative-commons-remix:before { + content: "\f4ee"; +} + +.fa-cc-amazon-pay:before { + content: "\f42d"; +} + +.fa-dropbox:before { + content: "\f16b"; +} + +.fa-instagram:before { + content: "\f16d"; +} + +.fa-cmplid:before { + content: "\e360"; +} + +.fa-upwork:before { + content: "\e641"; +} + +.fa-facebook:before { + content: "\f09a"; +} + +.fa-gripfire:before { + content: "\f3ac"; +} + +.fa-jedi-order:before { + content: "\f50e"; +} + +.fa-uikit:before { + content: "\f403"; +} + +.fa-fort-awesome-alt:before { + content: "\f3a3"; +} + +.fa-phabricator:before { + content: "\f3db"; +} + +.fa-ussunnah:before { + content: "\f407"; +} + +.fa-earlybirds:before { + content: "\f39a"; +} + +.fa-trade-federation:before { + content: "\f513"; +} + +.fa-autoprefixer:before { + content: "\f41c"; +} + +.fa-whatsapp:before { + content: "\f232"; +} + +.fa-slideshare:before { + content: "\f1e7"; +} + +.fa-google-play:before { + content: "\f3ab"; +} + +.fa-viadeo:before { + content: "\f2a9"; +} + +.fa-line:before { + content: "\f3c0"; +} + +.fa-google-drive:before { + content: "\f3aa"; +} + +.fa-servicestack:before { + content: "\f3ec"; +} + +.fa-simplybuilt:before { + content: "\f215"; +} + +.fa-bitbucket:before { + content: "\f171"; +} + +.fa-imdb:before { + content: "\f2d8"; +} + +.fa-deezer:before { + content: "\e077"; +} + +.fa-raspberry-pi:before { + content: "\f7bb"; +} + +.fa-jira:before { + content: "\f7b1"; +} + +.fa-docker:before { + content: "\f395"; +} + +.fa-screenpal:before { + content: "\e570"; +} + +.fa-bluetooth:before { + content: "\f293"; +} + +.fa-gitter:before { + content: "\f426"; +} + +.fa-d-and-d:before { + content: "\f38d"; +} + +.fa-microblog:before { + content: "\e01a"; +} + +.fa-cc-diners-club:before { + content: "\f24c"; +} + +.fa-gg-circle:before { + content: "\f261"; +} + +.fa-pied-piper-hat:before { + content: "\f4e5"; +} + +.fa-kickstarter-k:before { + content: "\f3bc"; +} + +.fa-yandex:before { + content: "\f413"; +} + +.fa-readme:before { + content: "\f4d5"; +} + +.fa-html5:before { + content: "\f13b"; +} + +.fa-sellsy:before { + content: "\f213"; +} + +.fa-sass:before { + content: "\f41e"; +} + +.fa-wirsindhandwerk:before { + content: "\e2d0"; +} + +.fa-wsh:before { + content: "\e2d0"; +} + +.fa-buromobelexperte:before { + content: "\f37f"; +} + +.fa-salesforce:before { + content: "\f83b"; +} + +.fa-octopus-deploy:before { + content: "\e082"; +} + +.fa-medapps:before { + content: "\f3c6"; +} + +.fa-ns8:before { + content: "\f3d5"; +} + +.fa-pinterest-p:before { + content: "\f231"; +} + +.fa-apper:before { + content: "\f371"; +} + +.fa-fort-awesome:before { + content: "\f286"; +} + +.fa-waze:before { + content: "\f83f"; +} + +.fa-cc-jcb:before { + content: "\f24b"; +} + +.fa-snapchat:before { + content: "\f2ab"; +} + +.fa-snapchat-ghost:before { + content: "\f2ab"; +} + +.fa-fantasy-flight-games:before { + content: "\f6dc"; +} + +.fa-rust:before { + content: "\e07a"; +} + +.fa-wix:before { + content: "\f5cf"; +} + +.fa-square-behance:before { + content: "\f1b5"; +} + +.fa-behance-square:before { + content: "\f1b5"; +} + +.fa-supple:before { + content: "\f3f9"; +} + +.fa-webflow:before { + content: "\e65c"; +} + +.fa-rebel:before { + content: "\f1d0"; +} + +.fa-css3:before { + content: "\f13c"; +} + +.fa-staylinked:before { + content: "\f3f5"; +} + +.fa-kaggle:before { + content: "\f5fa"; +} + +.fa-space-awesome:before { + content: "\e5ac"; +} + +.fa-deviantart:before { + content: "\f1bd"; +} + +.fa-cpanel:before { + content: "\f388"; +} + +.fa-goodreads-g:before { + content: "\f3a9"; +} + +.fa-square-git:before { + content: "\f1d2"; +} + +.fa-git-square:before { + content: "\f1d2"; +} + +.fa-square-tumblr:before { + content: "\f174"; +} + +.fa-tumblr-square:before { + content: "\f174"; +} + +.fa-trello:before { + content: "\f181"; +} + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; +} + +.fa-get-pocket:before { + content: "\f265"; +} + +.fa-perbyte:before { + content: "\e083"; +} + +.fa-grunt:before { + content: "\f3ad"; +} + +.fa-weebly:before { + content: "\f5cc"; +} + +.fa-connectdevelop:before { + content: "\f20e"; +} + +.fa-leanpub:before { + content: "\f212"; +} + +.fa-black-tie:before { + content: "\f27e"; +} + +.fa-themeco:before { + content: "\f5c6"; +} + +.fa-python:before { + content: "\f3e2"; +} + +.fa-android:before { + content: "\f17b"; +} + +.fa-bots:before { + content: "\e340"; +} + +.fa-free-code-camp:before { + content: "\f2c5"; +} + +.fa-hornbill:before { + content: "\f592"; +} + +.fa-js:before { + content: "\f3b8"; +} + +.fa-ideal:before { + content: "\e013"; +} + +.fa-git:before { + content: "\f1d3"; +} + +.fa-dev:before { + content: "\f6cc"; +} + +.fa-sketch:before { + content: "\f7c6"; +} + +.fa-yandex-international:before { + content: "\f414"; +} + +.fa-cc-amex:before { + content: "\f1f3"; +} + +.fa-uber:before { + content: "\f402"; +} + +.fa-github:before { + content: "\f09b"; +} + +.fa-php:before { + content: "\f457"; +} + +.fa-alipay:before { + content: "\f642"; +} + +.fa-youtube:before { + content: "\f167"; +} + +.fa-skyatlas:before { + content: "\f216"; +} + +.fa-firefox-browser:before { + content: "\e007"; +} + +.fa-replyd:before { + content: "\f3e6"; +} + +.fa-suse:before { + content: "\f7d6"; +} + +.fa-jenkins:before { + content: "\f3b6"; +} + +.fa-twitter:before { + content: "\f099"; +} + +.fa-rockrms:before { + content: "\f3e9"; +} + +.fa-pinterest:before { + content: "\f0d2"; +} + +.fa-buffer:before { + content: "\f837"; +} + +.fa-npm:before { + content: "\f3d4"; +} + +.fa-yammer:before { + content: "\f840"; +} + +.fa-btc:before { + content: "\f15a"; +} + +.fa-dribbble:before { + content: "\f17d"; +} + +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} + +.fa-internet-explorer:before { + content: "\f26b"; +} + +.fa-stubber:before { + content: "\e5c7"; +} + +.fa-telegram:before { + content: "\f2c6"; +} + +.fa-telegram-plane:before { + content: "\f2c6"; +} + +.fa-old-republic:before { + content: "\f510"; +} + +.fa-odysee:before { + content: "\e5c6"; +} + +.fa-square-whatsapp:before { + content: "\f40c"; +} + +.fa-whatsapp-square:before { + content: "\f40c"; +} + +.fa-node-js:before { + content: "\f3d3"; +} + +.fa-edge-legacy:before { + content: "\e078"; +} + +.fa-slack:before { + content: "\f198"; +} + +.fa-slack-hash:before { + content: "\f198"; +} + +.fa-medrt:before { + content: "\f3c8"; +} + +.fa-usb:before { + content: "\f287"; +} + +.fa-tumblr:before { + content: "\f173"; +} + +.fa-vaadin:before { + content: "\f408"; +} + +.fa-quora:before { + content: "\f2c4"; +} + +.fa-square-x-twitter:before { + content: "\e61a"; +} + +.fa-reacteurope:before { + content: "\f75d"; +} + +.fa-medium:before { + content: "\f23a"; +} + +.fa-medium-m:before { + content: "\f23a"; +} + +.fa-amilia:before { + content: "\f36d"; +} + +.fa-mixcloud:before { + content: "\f289"; +} + +.fa-flipboard:before { + content: "\f44d"; +} + +.fa-viacoin:before { + content: "\f237"; +} + +.fa-critical-role:before { + content: "\f6c9"; +} + +.fa-sitrox:before { + content: "\e44a"; +} + +.fa-discourse:before { + content: "\f393"; +} + +.fa-joomla:before { + content: "\f1aa"; +} + +.fa-mastodon:before { + content: "\f4f6"; +} + +.fa-airbnb:before { + content: "\f834"; +} + +.fa-wolf-pack-battalion:before { + content: "\f514"; +} + +.fa-buy-n-large:before { + content: "\f8a6"; +} + +.fa-gulp:before { + content: "\f3ae"; +} + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; +} + +.fa-strava:before { + content: "\f428"; +} + +.fa-ember:before { + content: "\f423"; +} + +.fa-canadian-maple-leaf:before { + content: "\f785"; +} + +.fa-teamspeak:before { + content: "\f4f9"; +} + +.fa-pushed:before { + content: "\f3e1"; +} + +.fa-wordpress-simple:before { + content: "\f411"; +} + +.fa-nutritionix:before { + content: "\f3d6"; +} + +.fa-wodu:before { + content: "\e088"; +} + +.fa-google-pay:before { + content: "\e079"; +} + +.fa-intercom:before { + content: "\f7af"; +} + +.fa-zhihu:before { + content: "\f63f"; +} + +.fa-korvue:before { + content: "\f42f"; +} + +.fa-pix:before { + content: "\e43a"; +} + +.fa-steam-symbol:before { + content: "\f3f6"; +} + +/* source-code-pro-regular - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Code Pro"; + font-style: normal; + font-weight: 400; + src: url("../fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-code-pro-italic - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Code Pro"; + font-style: italic; + font-weight: 400; + src: url("../fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-code-pro-700 - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Code Pro"; + font-style: normal; + font-weight: 700; + src: url("../fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-code-pro-700italic - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Code Pro"; + font-style: italic; + font-weight: 700; + src: url("../fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-700italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-sans-3-regular - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 400; + src: url("../fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-sans-3-italic - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 400; + src: url("../fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-sans-3-600 - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 600; + src: url("../fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-sans-3-600italic - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 600; + src: url("../fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-600italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-sans-3-700 - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: normal; + font-weight: 700; + src: url("../fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/* source-sans-3-700italic - latin_latin-ext */ +@font-face { + font-display: swap; + font-family: "Source Sans 3"; + font-style: italic; + font-weight: 700; + src: url("../fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-700italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} +/*! + * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root, +[data-bs-theme=light] { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: #052c65; + --bs-secondary-text-emphasis: #2b2f32; + --bs-success-text-emphasis: #0a3622; + --bs-info-text-emphasis: #055160; + --bs-warning-text-emphasis: #664d03; + --bs-danger-text-emphasis: #58151c; + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #e2e3e5; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #c4c8cb; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: 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: #0a58ca; + --bs-link-hover-color-rgb: 10, 88, 202; + --bs-code-color: #d63384; + --bs-highlight-color: #212529; + --bs-highlight-bg: #fff3cd; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #dee2e6; + --bs-body-color-rgb: 222, 226, 230; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(222, 226, 230, 0.75); + --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(222, 226, 230, 0.5); + --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: #6ea8fe; + --bs-secondary-text-emphasis: #a7acb1; + --bs-success-text-emphasis: #75b798; + --bs-info-text-emphasis: #6edff6; + --bs-warning-text-emphasis: #ffda6a; + --bs-danger-text-emphasis: #ea868f; + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #161719; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #41464b; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #087990; + --bs-warning-border-subtle: #997404; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #8bb9fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: #e685b5; + --bs-highlight-color: #dee2e6; + --bs-highlight-bg: #664d03; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: #75b798; + --bs-form-valid-border-color: #75b798; + --bs-form-invalid-color: #ea868f; + --bs-form-invalid-border-color: #ea868f; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: 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] { + text-decoration: underline dotted; + cursor: help; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 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; +} + +/*! + * 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: #ff8700; + --bs-secondary: #333333; + --bs-tertiary: #005E85; + --bs-quaternary: #75a75a; + --bs-success: #5cb85c; + --bs-info: #319fc0; + --bs-warning: #f0ad4e; + --bs-danger: #d9534f; + --bs-notice: #efefef; + --bs-default: #ffffff; + --bs-light: #f2f2f2; + --bs-lighter: #f7f7f7; + --bs-dark: #595959; + --bs-darker: #333333; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-primary-text-emphasis: #052c65; + --bs-secondary-text-emphasis: #2b2f32; + --bs-success-text-emphasis: #0a3622; + --bs-info-text-emphasis: #055160; + --bs-warning-text-emphasis: #664d03; + --bs-danger-text-emphasis: #58151c; + --bs-light-text-emphasis: #495057; + --bs-dark-text-emphasis: #495057; + --bs-primary-bg-subtle: #cfe2ff; + --bs-secondary-bg-subtle: #e2e3e5; + --bs-success-bg-subtle: #d1e7dd; + --bs-info-bg-subtle: #cff4fc; + --bs-warning-bg-subtle: #fff3cd; + --bs-danger-bg-subtle: #f8d7da; + --bs-light-bg-subtle: #fcfcfd; + --bs-dark-bg-subtle: #ced4da; + --bs-primary-border-subtle: #9ec5fe; + --bs-secondary-border-subtle: #c4c8cb; + --bs-success-border-subtle: #a3cfbb; + --bs-info-border-subtle: #9eeaf9; + --bs-warning-border-subtle: #ffe69c; + --bs-danger-border-subtle: #f1aeb5; + --bs-light-border-subtle: #e9ecef; + --bs-dark-border-subtle: #adb5bd; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-font-sans-serif: "Source Sans 3", sans-serif; + --bs-font-monospace: "Source Code Pro", 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: #005E85; + --bs-link-color-rgb: 0, 94, 133; + --bs-link-decoration: underline; + --bs-link-hover-color: #0094d2; + --bs-link-hover-color-rgb: 0, 148, 210; + --bs-code-color: hsl(350, 100%, 40%); + --bs-highlight-color: #212529; + --bs-highlight-bg: #fff3cd; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-box-shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, 0.2); + --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); + --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: rgba(13, 110, 253, 0.25); + --bs-form-valid-color: #198754; + --bs-form-valid-border-color: #198754; + --bs-form-invalid-color: #dc3545; + --bs-form-invalid-border-color: #dc3545; +} + +[data-bs-theme=dark] { + color-scheme: dark; + --bs-body-color: #dee2e6; + --bs-body-color-rgb: 222, 226, 230; + --bs-body-bg: #212529; + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color: #fff; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-secondary-color: rgba(222, 226, 230, 0.75); + --bs-secondary-color-rgb: 222, 226, 230; + --bs-secondary-bg: #343a40; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-tertiary-color: rgba(222, 226, 230, 0.5); + --bs-tertiary-color-rgb: 222, 226, 230; + --bs-tertiary-bg: #2b3035; + --bs-tertiary-bg-rgb: 43, 48, 53; + --bs-primary-text-emphasis: #6ea8fe; + --bs-secondary-text-emphasis: #a7acb1; + --bs-success-text-emphasis: #75b798; + --bs-info-text-emphasis: #6edff6; + --bs-warning-text-emphasis: #ffda6a; + --bs-danger-text-emphasis: #ea868f; + --bs-light-text-emphasis: #f8f9fa; + --bs-dark-text-emphasis: #dee2e6; + --bs-primary-bg-subtle: #031633; + --bs-secondary-bg-subtle: #161719; + --bs-success-bg-subtle: #051b11; + --bs-info-bg-subtle: #032830; + --bs-warning-bg-subtle: #332701; + --bs-danger-bg-subtle: #2c0b0e; + --bs-light-bg-subtle: #343a40; + --bs-dark-bg-subtle: #1a1d20; + --bs-primary-border-subtle: #084298; + --bs-secondary-border-subtle: #41464b; + --bs-success-border-subtle: #0f5132; + --bs-info-border-subtle: #087990; + --bs-warning-border-subtle: #997404; + --bs-danger-border-subtle: #842029; + --bs-light-border-subtle: #495057; + --bs-dark-border-subtle: #343a40; + --bs-heading-color: inherit; + --bs-link-color: #6ea8fe; + --bs-link-hover-color: #8bb9fe; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-code-color: #e685b5; + --bs-highlight-color: #dee2e6; + --bs-highlight-bg: #664d03; + --bs-border-color: #495057; + --bs-border-color-translucent: rgba(255, 255, 255, 0.15); + --bs-form-valid-color: #75b798; + --bs-form-valid-border-color: #75b798; + --bs-form-invalid-color: #ea868f; + --bs-form-invalid-border-color: #ea868f; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { + margin-top: 0; + margin-bottom: 0.5em; + font-weight: 600; + line-height: 1.2; + color: var(--bs-heading-color); +} + +h1, .h1 { + font-size: 2em; +} + +h2, .h2 { + font-size: 1.75em; +} + +h3, .h3 { + font-size: 1.5em; +} + +h4, .h4 { + font-size: 1.25em; +} + +h5, .h5 { + font-size: 1em; +} + +h6, .h6 { + font-size: 0.85em; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + text-decoration: underline dotted; + cursor: help; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 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, figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption, figure figcaption { + 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: 40px; + --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: #ffffff; + --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: #cfe2ff; + --bs-table-border-color: #a6b5cc; + --bs-table-striped-bg: #c5d7f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bacbe6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfd1ec; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: #e2e3e5; + --bs-table-border-color: #b5b6b7; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-success { + --bs-table-color: #000; + --bs-table-bg: #d1e7dd; + --bs-table-border-color: #a7b9b1; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-info { + --bs-table-color: #000; + --bs-table-bg: #cff4fc; + --bs-table-border-color: #a6c3ca; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-warning { + --bs-table-color: #000; + --bs-table-bg: #fff3cd; + --bs-table-border-color: #ccc2a4; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-danger { + --bs-table-color: #000; + --bs-table-bg: #f8d7da; + --bs-table-border-color: #c6acae; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-light { + --bs-table-color: #000; + --bs-table-bg: #f8f9fa; + --bs-table-border-color: #c6c7c8; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #212529; + --bs-table-border-color: #4d5154; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 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); + 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: #86b7fe; + 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::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); + 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: #86b7fe; + 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; + appearance: none; + background-color: var(--bs-form-check-bg); + background-image: var(--bs-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--bs-border-width) solid var(--bs-border-color); + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + 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: #86b7fe; + 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='%2386b7fe'/%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] + .toc-toggle, .btn-check:disabled + .btn, .btn-check:disabled + .toc-toggle { + 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; + 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; + appearance: none; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #b6d4fe; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: var(--bs-secondary-bg); + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + appearance: none; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #b6d4fe; +} +.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::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.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: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, .input-group .toc-toggle { + position: relative; + z-index: 2; +} +.input-group .btn:focus, .input-group .toc-toggle: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, +.input-group-lg > .toc-toggle { + 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, +.input-group-sm > .toc-toggle { + 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, .toc-toggle { + --bs-btn-padding-x: 0.75rem; + --bs-btn-padding-y: 0.375rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 400; + --bs-btn-line-height: 1.5; + --bs-btn-color: var(--bs-body-color); + --bs-btn-bg: transparent; + --bs-btn-border-width: var(--bs-border-width); + --bs-btn-border-color: transparent; + --bs-btn-border-radius: var(--bs-border-radius); + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + transition: color 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, .toc-toggle { + transition: none; + } +} +.btn:hover, .toc-toggle: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, .btn-check + .toc-toggle:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} +.btn:focus-visible, .toc-toggle: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, .btn-check:focus-visible + .toc-toggle { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked + .btn, .btn-check:checked + .toc-toggle, :not(.btn-check) + .btn:active, :not(.btn-check) + .toc-toggle:active, .btn:first-child:active, .toc-toggle:first-child:active, .btn.active, .active.toc-toggle, .btn.show, .show.toc-toggle { + 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, .btn-check:checked + .toc-toggle:focus-visible, :not(.btn-check) + .btn:active:focus-visible, :not(.btn-check) + .toc-toggle:active:focus-visible, .btn:first-child:active:focus-visible, .toc-toggle:first-child:active:focus-visible, .btn.active:focus-visible, .active.toc-toggle:focus-visible, .btn.show:focus-visible, .show.toc-toggle:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked:focus-visible + .btn, .btn-check:checked:focus-visible + .toc-toggle { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn:disabled, .toc-toggle:disabled, .btn.disabled, .disabled.toc-toggle, fieldset:disabled .btn, fieldset:disabled .toc-toggle { + 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: #000; + --bs-btn-bg: #ff8700; + --bs-btn-border-color: #ff8700; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ff9926; + --bs-btn-hover-border-color: #ff931a; + --bs-btn-focus-shadow-rgb: 217, 115, 0; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ff9f33; + --bs-btn-active-border-color: #ff931a; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ff8700; + --bs-btn-disabled-border-color: #ff8700; +} + +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #333333; + --bs-btn-border-color: #333333; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #2b2b2b; + --bs-btn-hover-border-color: #292929; + --bs-btn-focus-shadow-rgb: 82, 82, 82; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #292929; + --bs-btn-active-border-color: #262626; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #333333; + --bs-btn-disabled-border-color: #333333; +} + +.btn-tertiary { + --bs-btn-color: #fff; + --bs-btn-bg: #005E85; + --bs-btn-border-color: #005E85; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #005071; + --bs-btn-hover-border-color: #004b6a; + --bs-btn-focus-shadow-rgb: 38, 118, 151; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #004b6a; + --bs-btn-active-border-color: #004764; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #005E85; + --bs-btn-disabled-border-color: #005E85; +} + +.btn-quaternary { + --bs-btn-color: #000; + --bs-btn-bg: #75a75a; + --bs-btn-border-color: #75a75a; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #8ab473; + --bs-btn-hover-border-color: #83b06b; + --bs-btn-focus-shadow-rgb: 99, 142, 77; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #91b97b; + --bs-btn-active-border-color: #83b06b; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #75a75a; + --bs-btn-disabled-border-color: #75a75a; +} + +.btn-success { + --bs-btn-color: #000; + --bs-btn-bg: #5cb85c; + --bs-btn-border-color: #5cb85c; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #74c374; + --bs-btn-hover-border-color: #6cbf6c; + --bs-btn-focus-shadow-rgb: 78, 156, 78; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #7dc67d; + --bs-btn-active-border-color: #6cbf6c; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #5cb85c; + --bs-btn-disabled-border-color: #5cb85c; +} + +.btn-info { + --bs-btn-color: #000; + --bs-btn-bg: #319fc0; + --bs-btn-border-color: #319fc0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #50adc9; + --bs-btn-hover-border-color: #46a9c6; + --bs-btn-focus-shadow-rgb: 42, 135, 163; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #5ab2cd; + --bs-btn-active-border-color: #46a9c6; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #319fc0; + --bs-btn-disabled-border-color: #319fc0; +} + +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #f0ad4e; + --bs-btn-border-color: #f0ad4e; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f2b969; + --bs-btn-hover-border-color: #f2b560; + --bs-btn-focus-shadow-rgb: 204, 147, 66; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f3bd71; + --bs-btn-active-border-color: #f2b560; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f0ad4e; + --bs-btn-disabled-border-color: #f0ad4e; +} + +.btn-danger { + --bs-btn-color: #000; + --bs-btn-bg: #d9534f; + --bs-btn-border-color: #d9534f; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #df6d69; + --bs-btn-hover-border-color: #dd6461; + --bs-btn-focus-shadow-rgb: 184, 71, 67; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #e17572; + --bs-btn-active-border-color: #dd6461; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #d9534f; + --bs-btn-disabled-border-color: #d9534f; +} + +.btn-notice { + --bs-btn-color: #000; + --bs-btn-bg: #efefef; + --bs-btn-border-color: #efefef; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f1f1f1; + --bs-btn-hover-border-color: #f1f1f1; + --bs-btn-focus-shadow-rgb: 203, 203, 203; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f2f2f2; + --bs-btn-active-border-color: #f1f1f1; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #efefef; + --bs-btn-disabled-border-color: #efefef; +} + +.btn-default { + --bs-btn-color: #000; + --bs-btn-bg: #ffffff; + --bs-btn-border-color: #ffffff; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: white; + --bs-btn-hover-border-color: white; + --bs-btn-focus-shadow-rgb: 217, 217, 217; + --bs-btn-active-color: #000; + --bs-btn-active-bg: white; + --bs-btn-active-border-color: white; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ffffff; + --bs-btn-disabled-border-color: #ffffff; +} + +.btn-light, .toc-toggle { + --bs-btn-color: #000; + --bs-btn-bg: #f2f2f2; + --bs-btn-border-color: #f2f2f2; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #cecece; + --bs-btn-hover-border-color: #c2c2c2; + --bs-btn-focus-shadow-rgb: 206, 206, 206; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #c2c2c2; + --bs-btn-active-border-color: #b6b6b6; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f2f2f2; + --bs-btn-disabled-border-color: #f2f2f2; +} + +.btn-lighter { + --bs-btn-color: #000; + --bs-btn-bg: #f7f7f7; + --bs-btn-border-color: #f7f7f7; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f8f8f8; + --bs-btn-hover-border-color: #f8f8f8; + --bs-btn-focus-shadow-rgb: 210, 210, 210; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f9f9f9; + --bs-btn-active-border-color: #f8f8f8; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f7f7f7; + --bs-btn-disabled-border-color: #f7f7f7; +} + +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #595959; + --bs-btn-border-color: #595959; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #727272; + --bs-btn-hover-border-color: #6a6a6a; + --bs-btn-focus-shadow-rgb: 114, 114, 114; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #7a7a7a; + --bs-btn-active-border-color: #6a6a6a; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #595959; + --bs-btn-disabled-border-color: #595959; +} + +.btn-darker { + --bs-btn-color: #fff; + --bs-btn-bg: #333333; + --bs-btn-border-color: #333333; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #2b2b2b; + --bs-btn-hover-border-color: #292929; + --bs-btn-focus-shadow-rgb: 82, 82, 82; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #292929; + --bs-btn-active-border-color: #262626; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #333333; + --bs-btn-disabled-border-color: #333333; +} + +.btn-outline-primary { + --bs-btn-color: #ff8700; + --bs-btn-border-color: #ff8700; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ff8700; + --bs-btn-hover-border-color: #ff8700; + --bs-btn-focus-shadow-rgb: 255, 135, 0; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ff8700; + --bs-btn-active-border-color: #ff8700; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ff8700; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ff8700; + --bs-gradient: none; +} + +.btn-outline-secondary { + --bs-btn-color: #333333; + --bs-btn-border-color: #333333; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #333333; + --bs-btn-hover-border-color: #333333; + --bs-btn-focus-shadow-rgb: 51, 51, 51; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #333333; + --bs-btn-active-border-color: #333333; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #333333; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #333333; + --bs-gradient: none; +} + +.btn-outline-tertiary { + --bs-btn-color: #005E85; + --bs-btn-border-color: #005E85; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #005E85; + --bs-btn-hover-border-color: #005E85; + --bs-btn-focus-shadow-rgb: 0, 94, 133; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #005E85; + --bs-btn-active-border-color: #005E85; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #005E85; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #005E85; + --bs-gradient: none; +} + +.btn-outline-quaternary { + --bs-btn-color: #75a75a; + --bs-btn-border-color: #75a75a; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #75a75a; + --bs-btn-hover-border-color: #75a75a; + --bs-btn-focus-shadow-rgb: 117, 167, 90; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #75a75a; + --bs-btn-active-border-color: #75a75a; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #75a75a; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #75a75a; + --bs-gradient: none; +} + +.btn-outline-success { + --bs-btn-color: #5cb85c; + --bs-btn-border-color: #5cb85c; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #5cb85c; + --bs-btn-hover-border-color: #5cb85c; + --bs-btn-focus-shadow-rgb: 92, 184, 92; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #5cb85c; + --bs-btn-active-border-color: #5cb85c; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #5cb85c; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #5cb85c; + --bs-gradient: none; +} + +.btn-outline-info { + --bs-btn-color: #319fc0; + --bs-btn-border-color: #319fc0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #319fc0; + --bs-btn-hover-border-color: #319fc0; + --bs-btn-focus-shadow-rgb: 49, 159, 192; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #319fc0; + --bs-btn-active-border-color: #319fc0; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #319fc0; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #319fc0; + --bs-gradient: none; +} + +.btn-outline-warning { + --bs-btn-color: #f0ad4e; + --bs-btn-border-color: #f0ad4e; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f0ad4e; + --bs-btn-hover-border-color: #f0ad4e; + --bs-btn-focus-shadow-rgb: 240, 173, 78; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f0ad4e; + --bs-btn-active-border-color: #f0ad4e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f0ad4e; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f0ad4e; + --bs-gradient: none; +} + +.btn-outline-danger { + --bs-btn-color: #d9534f; + --bs-btn-border-color: #d9534f; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #d9534f; + --bs-btn-hover-border-color: #d9534f; + --bs-btn-focus-shadow-rgb: 217, 83, 79; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #d9534f; + --bs-btn-active-border-color: #d9534f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #d9534f; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #d9534f; + --bs-gradient: none; +} + +.btn-outline-notice { + --bs-btn-color: #efefef; + --bs-btn-border-color: #efefef; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #efefef; + --bs-btn-hover-border-color: #efefef; + --bs-btn-focus-shadow-rgb: 239, 239, 239; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #efefef; + --bs-btn-active-border-color: #efefef; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #efefef; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #efefef; + --bs-gradient: none; +} + +.btn-outline-default { + --bs-btn-color: #ffffff; + --bs-btn-border-color: #ffffff; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffffff; + --bs-btn-hover-border-color: #ffffff; + --bs-btn-focus-shadow-rgb: 255, 255, 255; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffffff; + --bs-btn-active-border-color: #ffffff; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ffffff; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ffffff; + --bs-gradient: none; +} + +.btn-outline-light { + --bs-btn-color: #f2f2f2; + --bs-btn-border-color: #f2f2f2; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f2f2f2; + --bs-btn-hover-border-color: #f2f2f2; + --bs-btn-focus-shadow-rgb: 242, 242, 242; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f2f2f2; + --bs-btn-active-border-color: #f2f2f2; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f2f2f2; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f2f2f2; + --bs-gradient: none; +} + +.btn-outline-lighter { + --bs-btn-color: #f7f7f7; + --bs-btn-border-color: #f7f7f7; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f7f7f7; + --bs-btn-hover-border-color: #f7f7f7; + --bs-btn-focus-shadow-rgb: 247, 247, 247; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f7f7f7; + --bs-btn-active-border-color: #f7f7f7; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f7f7f7; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f7f7f7; + --bs-gradient: none; +} + +.btn-outline-dark { + --bs-btn-color: #595959; + --bs-btn-border-color: #595959; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #595959; + --bs-btn-hover-border-color: #595959; + --bs-btn-focus-shadow-rgb: 89, 89, 89; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #595959; + --bs-btn-active-border-color: #595959; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #595959; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #595959; + --bs-gradient: none; +} + +.btn-outline-darker { + --bs-btn-color: #333333; + --bs-btn-border-color: #333333; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #333333; + --bs-btn-hover-border-color: #333333; + --bs-btn-focus-shadow-rgb: 51, 51, 51; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #333333; + --bs-btn-active-border-color: #333333; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #333333; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #333333; + --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, .btn-group-lg > .toc-toggle { + --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, .btn-group-sm > .toc-toggle { + --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 > .toc-toggle, +.btn-group-vertical > .btn, +.btn-group-vertical > .toc-toggle { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, .btn-group > .btn-check:checked + .toc-toggle, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn-check:focus + .toc-toggle, +.btn-group > .btn:hover, +.btn-group > .toc-toggle:hover, +.btn-group > .btn:focus, +.btn-group > .toc-toggle:focus, +.btn-group > .btn:active, +.btn-group > .toc-toggle:active, +.btn-group > .btn.active, +.btn-group > .active.toc-toggle, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:checked + .toc-toggle, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn-check:focus + .toc-toggle, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .toc-toggle:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .toc-toggle:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .toc-toggle:active, +.btn-group-vertical > .btn.active, +.btn-group-vertical > .active.toc-toggle { + 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 > :not(.btn-check:first-child) + .toc-toggle, +.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 > .toc-toggle:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .dropdown-toggle-split.toc-toggle:first-child, +.btn-group > .btn-group:not(:last-child) > .btn, +.btn-group > .btn-group:not(:last-child) > .toc-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), .btn-group > .toc-toggle:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > :not(.btn-check) + .toc-toggle, +.btn-group > .btn-group:not(:first-child) > .btn, +.btn-group > .btn-group:not(:first-child) > .toc-toggle { + 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, .btn-group-sm > .toc-toggle + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .btn-group-lg > .toc-toggle + .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 > .toc-toggle, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .toc-toggle: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 > .toc-toggle:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn, +.btn-group-vertical > .btn-group:not(:last-child) > .toc-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, .btn-group-vertical > .toc-toggle ~ .btn, .btn-group-vertical > .btn ~ .toc-toggle, .btn-group-vertical > .toc-toggle ~ .toc-toggle, +.btn-group-vertical > .btn-group:not(:first-child) > .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .toc-toggle { + 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: 600; + 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: 1.25rem; + --bs-card-spacer-x: 1.25rem; + --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='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: var(--bs-primary-text-emphasis); + --bs-accordion-active-bg: var(--bs-primary-bg-subtle); +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:first-of-type > .accordion-header .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type > .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush > .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush > .accordion-item:first-child { + border-top: 0; +} +.accordion-flush > .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed { + border-radius: 0; +} +.accordion-flush > .accordion-item > .accordion-collapse { + border-radius: 0; +} + +[data-bs-theme=dark] .accordion-button::after { + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: var(--bs-secondary-color); + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") /* 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, .toc-toggle .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-tertiary { + --bs-alert-color: var(--bs-tertiary-text-emphasis); + --bs-alert-bg: var(--bs-tertiary-bg-subtle); + --bs-alert-border-color: var(--bs-tertiary-border-subtle); + --bs-alert-link-color: var(--bs-tertiary-text-emphasis); +} + +.alert-quaternary { + --bs-alert-color: var(--bs-quaternary-text-emphasis); + --bs-alert-bg: var(--bs-quaternary-bg-subtle); + --bs-alert-border-color: var(--bs-quaternary-border-subtle); + --bs-alert-link-color: var(--bs-quaternary-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-notice { + --bs-alert-color: var(--bs-notice-text-emphasis); + --bs-alert-bg: var(--bs-notice-bg-subtle); + --bs-alert-border-color: var(--bs-notice-border-subtle); + --bs-alert-link-color: var(--bs-notice-text-emphasis); +} + +.alert-default { + --bs-alert-color: var(--bs-default-text-emphasis); + --bs-alert-bg: var(--bs-default-bg-subtle); + --bs-alert-border-color: var(--bs-default-border-subtle); + --bs-alert-link-color: var(--bs-default-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-lighter { + --bs-alert-color: var(--bs-lighter-text-emphasis); + --bs-alert-bg: var(--bs-lighter-bg-subtle); + --bs-alert-border-color: var(--bs-lighter-border-subtle); + --bs-alert-link-color: var(--bs-lighter-text-emphasis); +} + +.alert-dark { + --bs-alert-color: var(--bs-dark-text-emphasis); + --bs-alert-bg: var(--bs-dark-bg-subtle); + --bs-alert-border-color: var(--bs-dark-border-subtle); + --bs-alert-link-color: var(--bs-dark-text-emphasis); +} + +.alert-darker { + --bs-alert-color: var(--bs-darker-text-emphasis); + --bs-alert-bg: var(--bs-darker-bg-subtle); + --bs-alert-border-color: var(--bs-darker-border-subtle); + --bs-alert-link-color: var(--bs-darker-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-tertiary { + --bs-list-group-color: var(--bs-tertiary-text-emphasis); + --bs-list-group-bg: var(--bs-tertiary-bg-subtle); + --bs-list-group-border-color: var(--bs-tertiary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-tertiary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-tertiary-border-subtle); + --bs-list-group-active-color: var(--bs-tertiary-bg-subtle); + --bs-list-group-active-bg: var(--bs-tertiary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-tertiary-text-emphasis); +} + +.list-group-item-quaternary { + --bs-list-group-color: var(--bs-quaternary-text-emphasis); + --bs-list-group-bg: var(--bs-quaternary-bg-subtle); + --bs-list-group-border-color: var(--bs-quaternary-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-quaternary-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-quaternary-border-subtle); + --bs-list-group-active-color: var(--bs-quaternary-bg-subtle); + --bs-list-group-active-bg: var(--bs-quaternary-text-emphasis); + --bs-list-group-active-border-color: var(--bs-quaternary-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-notice { + --bs-list-group-color: var(--bs-notice-text-emphasis); + --bs-list-group-bg: var(--bs-notice-bg-subtle); + --bs-list-group-border-color: var(--bs-notice-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-notice-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-notice-border-subtle); + --bs-list-group-active-color: var(--bs-notice-bg-subtle); + --bs-list-group-active-bg: var(--bs-notice-text-emphasis); + --bs-list-group-active-border-color: var(--bs-notice-text-emphasis); +} + +.list-group-item-default { + --bs-list-group-color: var(--bs-default-text-emphasis); + --bs-list-group-bg: var(--bs-default-bg-subtle); + --bs-list-group-border-color: var(--bs-default-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-default-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-default-border-subtle); + --bs-list-group-active-color: var(--bs-default-bg-subtle); + --bs-list-group-active-bg: var(--bs-default-text-emphasis); + --bs-list-group-active-border-color: var(--bs-default-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-lighter { + --bs-list-group-color: var(--bs-lighter-text-emphasis); + --bs-list-group-bg: var(--bs-lighter-bg-subtle); + --bs-list-group-border-color: var(--bs-lighter-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-lighter-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-lighter-border-subtle); + --bs-list-group-active-color: var(--bs-lighter-bg-subtle); + --bs-list-group-active-bg: var(--bs-lighter-text-emphasis); + --bs-list-group-active-border-color: var(--bs-lighter-text-emphasis); +} + +.list-group-item-dark { + --bs-list-group-color: var(--bs-dark-text-emphasis); + --bs-list-group-bg: var(--bs-dark-bg-subtle); + --bs-list-group-border-color: var(--bs-dark-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-dark-border-subtle); + --bs-list-group-active-color: var(--bs-dark-bg-subtle); + --bs-list-group-active-bg: var(--bs-dark-text-emphasis); + --bs-list-group-active-border-color: var(--bs-dark-text-emphasis); +} + +.list-group-item-darker { + --bs-list-group-color: var(--bs-darker-text-emphasis); + --bs-list-group-bg: var(--bs-darker-bg-subtle); + --bs-list-group-border-color: var(--bs-darker-border-subtle); + --bs-list-group-action-hover-color: var(--bs-emphasis-color); + --bs-list-group-action-hover-bg: var(--bs-darker-border-subtle); + --bs-list-group-action-active-color: var(--bs-emphasis-color); + --bs-list-group-action-active-bg: var(--bs-darker-border-subtle); + --bs-list-group-active-color: var(--bs-darker-bg-subtle); + --bs-list-group-active-bg: var(--bs-darker-text-emphasis); + --bs-list-group-active-border-color: var(--bs-darker-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; + user-select: none; + opacity: var(--bs-btn-close-disabled-opacity); +} + +.btn-close-white { + filter: var(--bs-btn-close-white-filter); +} + +[data-bs-theme=dark] .btn-close { + filter: var(--bs-btn-close-white-filter); +} + +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-border-width: var(--bs-border-width); + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: var(--bs-border-radius); + --bs-toast-box-shadow: var(--bs-box-shadow); + --bs-toast-header-color: var(--bs-secondary-color); + --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85); + --bs-toast-header-border-color: var(--bs-border-color-translucent); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); +} +.toast-header .btn-close { + margin-right: calc(-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, .placeholder.toc-toggle::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 { + mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.8) 75%, #000000 95%); + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #000 !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-tertiary { + color: #fff !important; + background-color: RGBA(var(--bs-tertiary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-quaternary { + color: #000 !important; + background-color: RGBA(var(--bs-quaternary-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #000 !important; + background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #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: #000 !important; + background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-notice { + color: #000 !important; + background-color: RGBA(var(--bs-notice-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-default { + color: #000 !important; + background-color: RGBA(var(--bs-default-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-lighter { + color: #000 !important; + background-color: RGBA(var(--bs-lighter-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fff !important; + background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-darker { + color: #fff !important; + background-color: RGBA(var(--bs-darker-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(255, 159, 51, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(255, 159, 51, 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(41, 41, 41, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(41, 41, 41, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-tertiary { + color: RGBA(var(--bs-tertiary-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-tertiary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-tertiary:hover, .link-tertiary:focus { + color: RGBA(0, 75, 106, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(0, 75, 106, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-quaternary { + color: RGBA(var(--bs-quaternary-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-quaternary-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-quaternary:hover, .link-quaternary:focus { + color: RGBA(145, 185, 123, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(145, 185, 123, 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(125, 198, 125, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(125, 198, 125, 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(90, 178, 205, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(90, 178, 205, 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(243, 189, 113, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(243, 189, 113, 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(225, 117, 114, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(225, 117, 114, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-notice { + color: RGBA(var(--bs-notice-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-notice-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-notice:hover, .link-notice:focus { + color: RGBA(242, 242, 242, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(242, 242, 242, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-default { + color: RGBA(var(--bs-default-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-default-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-default:hover, .link-default:focus { + color: RGBA(255, 255, 255, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(255, 255, 255, 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(245, 245, 245, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(245, 245, 245, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-lighter { + color: RGBA(var(--bs-lighter-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-lighter-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-lighter:hover, .link-lighter:focus { + color: RGBA(249, 249, 249, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(249, 249, 249, 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(71, 71, 71, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(71, 71, 71, var(--bs-link-underline-opacity, 1)) !important; +} + +.link-darker { + color: RGBA(var(--bs-darker-rgb), var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(var(--bs-darker-rgb), var(--bs-link-underline-opacity, 1)) !important; +} +.link-darker:hover, .link-darker:focus { + color: RGBA(41, 41, 41, var(--bs-link-opacity, 1)) !important; + text-decoration-color: RGBA(41, 41, 41, 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 { + object-fit: contain !important; +} + +.object-fit-cover { + object-fit: cover !important; +} + +.object-fit-fill { + object-fit: fill !important; +} + +.object-fit-scale { + object-fit: scale-down !important; +} + +.object-fit-none { + object-fit: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex, .directory-tree ul li .content { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow, img.with-shadow, figure.with-shadow { + box-shadow: var(--bs-box-shadow) !important; +} + +.shadow-sm, .with-shadow { + 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, .with-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, .directory-tree ul li .content { + 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, img.with-shadow, figure.with-shadow { + 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, img.with-shadow, figure.with-shadow { + 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, figure figcaption { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.row-gap-0 { + row-gap: 0 !important; +} + +.row-gap-1 { + row-gap: 0.25rem !important; +} + +.row-gap-2 { + row-gap: 0.5rem !important; +} + +.row-gap-3 { + row-gap: 1rem !important; +} + +.row-gap-4 { + row-gap: 1.5rem !important; +} + +.row-gap-5 { + row-gap: 3rem !important; +} + +.column-gap-0 { + column-gap: 0 !important; +} + +.column-gap-1 { + column-gap: 0.25rem !important; +} + +.column-gap-2 { + column-gap: 0.5rem !important; +} + +.column-gap-3 { + column-gap: 1rem !important; +} + +.column-gap-4 { + column-gap: 1.5rem !important; +} + +.column-gap-5 { + column-gap: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-medium { + font-weight: 500 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bold { + font-weight: 600 !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, .align-center, +.centered { + 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, .code-inline, .code-block-caption, article a:not([class*=btn]) { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} + +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--bs-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--bs-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--bs-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--bs-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--bs-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--bs-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--bs-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--bs-dark-text-emphasis) !important; +} + +.link-opacity-10 { + --bs-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --bs-link-opacity: 0.1; +} + +.link-opacity-25 { + --bs-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --bs-link-opacity: 0.25; +} + +.link-opacity-50 { + --bs-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --bs-link-opacity: 0.5; +} + +.link-opacity-75 { + --bs-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --bs-link-opacity: 0.75; +} + +.link-opacity-100 { + --bs-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --bs-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: 0.125em !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: 0.125em !important; +} + +.link-offset-2 { + text-underline-offset: 0.25em !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: 0.25em !important; +} + +.link-offset-3 { + text-underline-offset: 0.375em !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: 0.375em !important; +} + +.link-underline-primary { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-success { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-info { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-warning { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-danger { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-light { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-dark { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important; +} + +.link-underline { + --bs-link-underline-opacity: 1; + text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --bs-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --bs-link-underline-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + user-select: all !important; +} + +.user-select-auto { + user-select: auto !important; +} + +.user-select-none { + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-top-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-left-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-top-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-end-1 { + border-top-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-3 { + border-top-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-end-pill { + border-top-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-right-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-left-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-top-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .object-fit-sm-contain { + object-fit: contain !important; + } + .object-fit-sm-cover { + object-fit: cover !important; + } + .object-fit-sm-fill { + object-fit: fill !important; + } + .object-fit-sm-scale { + object-fit: scale-down !important; + } + .object-fit-sm-none { + object-fit: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-inline-grid { + display: inline-grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .row-gap-sm-0 { + row-gap: 0 !important; + } + .row-gap-sm-1 { + row-gap: 0.25rem !important; + } + .row-gap-sm-2 { + row-gap: 0.5rem !important; + } + .row-gap-sm-3 { + row-gap: 1rem !important; + } + .row-gap-sm-4 { + row-gap: 1.5rem !important; + } + .row-gap-sm-5 { + row-gap: 3rem !important; + } + .column-gap-sm-0 { + column-gap: 0 !important; + } + .column-gap-sm-1 { + column-gap: 0.25rem !important; + } + .column-gap-sm-2 { + column-gap: 0.5rem !important; + } + .column-gap-sm-3 { + column-gap: 1rem !important; + } + .column-gap-sm-4 { + column-gap: 1.5rem !important; + } + .column-gap-sm-5 { + column-gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .object-fit-md-contain { + object-fit: contain !important; + } + .object-fit-md-cover { + object-fit: cover !important; + } + .object-fit-md-fill { + object-fit: fill !important; + } + .object-fit-md-scale { + object-fit: scale-down !important; + } + .object-fit-md-none { + object-fit: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-inline-grid { + display: inline-grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .row-gap-md-0 { + row-gap: 0 !important; + } + .row-gap-md-1 { + row-gap: 0.25rem !important; + } + .row-gap-md-2 { + row-gap: 0.5rem !important; + } + .row-gap-md-3 { + row-gap: 1rem !important; + } + .row-gap-md-4 { + row-gap: 1.5rem !important; + } + .row-gap-md-5 { + row-gap: 3rem !important; + } + .column-gap-md-0 { + column-gap: 0 !important; + } + .column-gap-md-1 { + column-gap: 0.25rem !important; + } + .column-gap-md-2 { + column-gap: 0.5rem !important; + } + .column-gap-md-3 { + column-gap: 1rem !important; + } + .column-gap-md-4 { + column-gap: 1.5rem !important; + } + .column-gap-md-5 { + column-gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .object-fit-lg-contain { + object-fit: contain !important; + } + .object-fit-lg-cover { + object-fit: cover !important; + } + .object-fit-lg-fill { + object-fit: fill !important; + } + .object-fit-lg-scale { + object-fit: scale-down !important; + } + .object-fit-lg-none { + object-fit: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-inline-grid { + display: inline-grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .row-gap-lg-0 { + row-gap: 0 !important; + } + .row-gap-lg-1 { + row-gap: 0.25rem !important; + } + .row-gap-lg-2 { + row-gap: 0.5rem !important; + } + .row-gap-lg-3 { + row-gap: 1rem !important; + } + .row-gap-lg-4 { + row-gap: 1.5rem !important; + } + .row-gap-lg-5 { + row-gap: 3rem !important; + } + .column-gap-lg-0 { + column-gap: 0 !important; + } + .column-gap-lg-1 { + column-gap: 0.25rem !important; + } + .column-gap-lg-2 { + column-gap: 0.5rem !important; + } + .column-gap-lg-3 { + column-gap: 1rem !important; + } + .column-gap-lg-4 { + column-gap: 1.5rem !important; + } + .column-gap-lg-5 { + column-gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .object-fit-xl-contain { + object-fit: contain !important; + } + .object-fit-xl-cover { + object-fit: cover !important; + } + .object-fit-xl-fill { + object-fit: fill !important; + } + .object-fit-xl-scale { + object-fit: scale-down !important; + } + .object-fit-xl-none { + object-fit: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-inline-grid { + display: inline-grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .row-gap-xl-0 { + row-gap: 0 !important; + } + .row-gap-xl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xl-3 { + row-gap: 1rem !important; + } + .row-gap-xl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xl-5 { + row-gap: 3rem !important; + } + .column-gap-xl-0 { + column-gap: 0 !important; + } + .column-gap-xl-1 { + column-gap: 0.25rem !important; + } + .column-gap-xl-2 { + column-gap: 0.5rem !important; + } + .column-gap-xl-3 { + column-gap: 1rem !important; + } + .column-gap-xl-4 { + column-gap: 1.5rem !important; + } + .column-gap-xl-5 { + column-gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .object-fit-xxl-contain { + object-fit: contain !important; + } + .object-fit-xxl-cover { + object-fit: cover !important; + } + .object-fit-xxl-fill { + object-fit: fill !important; + } + .object-fit-xxl-scale { + object-fit: scale-down !important; + } + .object-fit-xxl-none { + object-fit: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-inline-grid { + display: inline-grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .row-gap-xxl-0 { + row-gap: 0 !important; + } + .row-gap-xxl-1 { + row-gap: 0.25rem !important; + } + .row-gap-xxl-2 { + row-gap: 0.5rem !important; + } + .row-gap-xxl-3 { + row-gap: 1rem !important; + } + .row-gap-xxl-4 { + row-gap: 1.5rem !important; + } + .row-gap-xxl-5 { + row-gap: 3rem !important; + } + .column-gap-xxl-0 { + column-gap: 0 !important; + } + .column-gap-xxl-1 { + column-gap: 0.25rem !important; + } + .column-gap-xxl-2 { + column-gap: 0.5rem !important; + } + .column-gap-xxl-3 { + column-gap: 1rem !important; + } + .column-gap-xxl-4 { + column-gap: 1.5rem !important; + } + .column-gap-xxl-5 { + column-gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-inline-grid { + display: inline-grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +body { + --bs-body-font-size: 1.1rem; + --bs-body-color: #333333; + --bs-table-color: #333333; + --bs-emphasis-color: #333333; +} + +a { + color: inherit; + text-underline-offset: 25%; +} +a:hover { + text-decoration-thickness: 2px; +} + +li p:last-of-type { + margin-bottom: 0; +} + +article a:not([class*=btn]) { + text-decoration: underline; + color: #595959; +} +article a:not([class*=btn]):hover { + color: #000000; + text-decoration-thickness: 2px; +} +article li::marker { + color: #ff8700; +} +article ol li::marker { + color: #595959; +} + +*:focus-visible { + box-shadow: inset 0px 0px 2px 2px; +} + +.accordion { + border-radius: var(--bs-accordion-border-radius); + box-shadow: 2px 1px 6px rgba(32, 33, 36, 0.28); +} +.accordion .accordion-header { + padding-bottom: 0; + border-bottom: none; +} +.accordion .accordion-button:not(.collapsed) { + color: inherit; + background-color: inherit; +} + +.btn, .toc-toggle { + display: inline-flex; + align-items: center; + text-align: left; +} + +.btn-icon:first-child { + margin-right: calc(1rem / 2); +} +.btn-icon:last-child { + margin-left: calc(1rem / 2); +} + +.btn-primary { + --bs-btn-color: #ffffff; + --bs-btn-bg: #ff8700; + --bs-btn-border-color: #ff8700; + --bs-btn-hover-color: #ffffff; + --bs-btn-hover-bg: #d97300; + --bs-btn-hover-border-color: #d97300; + --bs-btn-focus-shadow-rgb: 255, 153, 38; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #cc6c00; + --bs-btn-active-border-color: #bf6500; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ff8700; + --bs-btn-disabled-border-color: #ff8700; +} + +.card-group { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 1.5rem; +} +.card-group .card { + box-shadow: 2px 1px 6px rgba(32, 33, 36, 0.28); +} +.card-group .card .card-img, .card-group .card .card-img-top { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.card-group .card .card-img:first-child, .card-group .card .card-img-top:first-child { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card-group .card .card-body *:last-child { + margin-bottom: 0; +} + +/*! + Theme: GitHub + Description: Light theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-light + Current colors taken from GitHub's CSS +*/ +.hljs { + color: #24292e; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-meta .hljs-keyword, +.hljs-template-tag, +.hljs-template-variable, +.hljs-type, +.hljs-variable.language_ { + /* prettylights-syntax-keyword */ + color: #d73a49; +} + +.hljs-title, +.hljs-title.class_, +.hljs-title.class_.inherited__, +.hljs-title.function_ { + /* prettylights-syntax-entity */ + color: #6f42c1; +} + +.hljs-attr, +.hljs-attribute, +.hljs-literal, +.hljs-meta, +.hljs-number, +.hljs-operator, +.hljs-variable, +.hljs-selector-attr, +.hljs-selector-class, +.hljs-selector-id { + /* prettylights-syntax-constant */ + color: #005cc5; +} + +.hljs-regexp, +.hljs-string, +.hljs-meta .hljs-string { + /* prettylights-syntax-string */ + color: #032f62; +} + +.hljs-built_in, +.hljs-symbol { + /* prettylights-syntax-variable */ + color: #e36209; +} + +.hljs-comment, +.hljs-code, +.hljs-formula { + /* prettylights-syntax-comment */ + color: #6a737d; +} + +.hljs-name, +.hljs-quote, +.hljs-selector-tag, +.hljs-selector-pseudo { + /* prettylights-syntax-entity-tag */ + color: #22863a; +} + +.hljs-subst { + /* prettylights-syntax-storage-modifier-import */ + color: #24292e; +} + +.hljs-section { + /* prettylights-syntax-markup-heading */ + color: #005cc5; + font-weight: bold; +} + +.hljs-bullet { + /* prettylights-syntax-markup-list */ + color: #735c0f; +} + +.hljs-emphasis { + /* prettylights-syntax-markup-italic */ + color: #24292e; + font-style: italic; +} + +.hljs-strong { + /* prettylights-syntax-markup-bold */ + color: #24292e; + font-weight: bold; +} + +.hljs-addition { + /* prettylights-syntax-markup-inserted */ + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + /* prettylights-syntax-markup-deleted */ + color: #b31d28; + background-color: #ffeef0; +} + +.hljs-char.escape_, +.hljs-link, +.hljs-params, +.hljs-property, +.hljs-punctuation, +.hljs-tag { + /* purposely ignored */ +} + +code { + color: #333333; + font-size: 85%; +} + +/* + * The class "code-block" is used for ".. code-block::" directives + */ +.code-block { + margin-bottom: 0; + padding: 0.75rem; +} +.code-block [data-line-number]::before { + color: #999999; + content: attr(data-line-number); + display: inline-block; + margin-right: 1em; + text-align: right; + width: 2ch; +} +.code-block [data-emphasize-line] { + background: #fff3cd; +} + +.code-block-caption { + hyphens: auto; +} + +.code-block-wrapper { + background: #f7f7f7; + border: 1px solid #f7f7f7; + border-radius: 0.2rem; + display: flex; + font-size: 92%; + justify-content: space-between; + line-height: 125%; + margin-bottom: 1rem; + position: relative; +} + +.code-block-copy { + background: none; + border: none; + padding: 0.75rem; +} +.code-block-copy .fa-copy { + opacity: 0.5; + transition: opacity 0.3s; +} +.code-block-copy .fa-copy:hover { + opacity: 1; +} +.code-block-copy .fa-check::before { + color: #146c43; +} + +.code-block-check-tooltip { + background: #333333; + border-radius: 0.2rem; + color: #ffffff; + font-size: 80%; + padding: 2px 5px; + position: absolute; + right: 40px; + top: 8px; +} +.code-block-check-tooltip::after { + border: 10px solid; + border-color: transparent transparent transparent #333333; + content: ""; + position: absolute; +} + +.code-block-hide { + display: none; +} + +/** + * The class "code-inline" is used for inline textroles like ":file:", ":code:", + * ":literal:" or ":php:" + */ +.code-inline { + font-family: "Source Code Pro", monospace; + border-radius: 0.375rem; + border: 2px solid #ffffff; + background: #f7f7f7; + padding: 0.25em 0.5em; + line-height: 27px; +} + +/** uses "popover" for all code roles that have tooltips **/ +.code-inline[aria-description] { + cursor: pointer; +} + +/** popover styling **/ +.popover { + display: flex; + flex-direction: row; + max-width: 30vw; +} + +.popover-header { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + border-right: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-bottom-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: 0; + border-bottom: 0; +} + +@media only screen and (max-width: 576px) { + .popover { + max-width: 90vw; + } +} +@media only screen and (max-width: 768px) { + .popover { + max-width: 70vw; + } +} +@media only screen and (max-width: 992px) { + .popover { + max-width: 60vw; + } +} +.directory-tree ul { + margin-bottom: 0; + list-style: none; +} +.directory-tree ul li { + margin-bottom: 0; +} +.directory-tree ul li .content .toggle { + width: 1.5em; +} +.directory-tree ul li .content .toggle a[data-bs-toggle=collapse] { + text-decoration: none; +} +.directory-tree ul li .content .toggle a[data-bs-toggle=collapse] .icon::before { + font-family: "Font Awesome 6 Free"; + content: "\f0fe"; +} +.directory-tree ul li .content .toggle a[data-bs-toggle=collapse].collapsed .icon::before { + content: "\f146"; +} +.directory-tree ul li .content .no-toggle { + width: 1.5em; +} +.directory-tree ul li .content .fileItem { + width: 2em; +} +.directory-tree ul li .content .label code.file, .directory-tree ul li .content .label code.path { + background-color: #ffffff; + font-family: var(--bs-body-font-family); + line-height: var(--bs-body-line-height); + font-size: 1.1rem; +} +.directory-tree ul li .content .label code.file::before, .directory-tree ul li .content .label code.path::before { + width: 1.5em; + font-family: "Font Awesome 6 Free"; + display: inline-block; + content: "\f15b"; +} +.directory-tree ul li .content .label code.path::before { + content: "\f07b"; +} +.directory-tree ul li .content .label p:last-child { + /* Prevent margin cause by last p */ + margin-bottom: 0; +} + +:root { + --frame-color: inherit; + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; + --frame-background: transparent; + --frame-embedded-border-radius: 0.5rem; + --frame-width-large: 1600px; + --frame-width-medium: 870px; + --frame-width-small: 600px; + --frame-spacing: 1.75rem; + --frame-spacing-small: 0.75rem; + --frame-spacing-xs: 1.75rem; + --frame-spacing-small-xs: 0.75rem; + --frame-spacing-sm: 2.1rem; + --frame-spacing-small-sm: 0.9rem; + --frame-spacing-md: 2.275rem; + --frame-spacing-small-md: 0.975rem; + --frame-spacing-lg: 2.45rem; + --frame-spacing-small-lg: 1.05rem; + --frame-spacing-xl: 2.625rem; + --frame-spacing-small-xl: 1.125rem; + --frame-outer-spacing-before: 0; + --frame-outer-spacing-after: 0; + --frame-outer-spacing-variant-none: 0rem; + --frame-outer-spacing-variant-extra-small: 1rem; + --frame-outer-spacing-variant-small: 1.5rem; + --frame-outer-spacing-variant-medium: 2rem; + --frame-outer-spacing-variant-large: 2.5rem; + --frame-outer-spacing-variant-extra-large: 3rem; +} + +.frame { + position: relative; + margin-top: var(--frame-outer-spacing-before); + margin-bottom: var(--frame-outer-spacing-after); + padding-top: var(--frame-spacing); + padding-bottom: var(--frame-spacing); + color: var(--frame-color); + background: var(--frame-background); + --frame-spacing: var(--frame-spacing-xs); +} +.frame a[class=""], +.frame a:not([class]) { + color: var(--frame-link-color); +} +.frame a[class=""]:hover, +.frame a:not([class]):hover { + color: var(--frame-link-hover-color); +} +@media (min-width: 576px) { + .frame { + --frame-spacing: var(--frame-spacing-sm); + } +} +@media (min-width: 768px) { + .frame { + --frame-spacing: var(--frame-spacing-md); + } +} +@media (min-width: 992px) { + .frame { + --frame-spacing: var(--frame-spacing-lg); + } +} +@media (min-width: 1200px) { + .frame { + --frame-spacing: var(--frame-spacing-xl); + } +} + +.frame-inner > *:last-child { + margin-bottom: 0; +} + +.frame-layout-embedded { + background: transparent; +} +.frame-layout-embedded .frame-group-container { + --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) { + .frame-layout-embedded .frame-group-container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .frame-layout-embedded .frame-group-container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .frame-layout-embedded .frame-group-container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .frame-layout-embedded .frame-group-container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .frame-layout-embedded .frame-group-container { + max-width: 1320px; + } +} +.frame-layout-embedded .frame-group-container-full { + max-width: 100%; +} +.frame-layout-embedded .frame-group-container-large { + max-width: var(--frame-width-large); +} +.frame-layout-embedded .frame-group-container-medium { + max-width: var(--frame-width-medium); +} +.frame-layout-embedded .frame-group-container-small { + max-width: var(--frame-width-small); +} +.frame-layout-embedded .frame-group-inner { + position: relative; + border-radius: var(--frame-embedded-border-radius); + background: var(--frame-background); + padding: var(--frame-spacing); +} +.frame-layout-embedded .frame-container { + padding: 0; +} +.frame-layout-embedded .frame-backgroundimage-container { + border-radius: var(--frame-embedded-border-radius); +} + +.frame-container { + position: relative; + --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) { + .frame-container-default { + max-width: 540px; + } +} +@media (min-width: 768px) { + .frame-container-default { + max-width: 720px; + } +} +@media (min-width: 992px) { + .frame-container-default { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .frame-container-default { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .frame-container-default { + max-width: 1320px; + } +} +.frame-container-full { + max-width: 100%; +} +.frame-container-large { + max-width: var(--frame-width-large); +} +.frame-container-medium { + max-width: var(--frame-width-medium); +} +.frame-container-small { + max-width: var(--frame-width-small); +} + +.container .frame-container, +.container .frame-group-container { + padding-left: 0; + padding-right: 0; +} + +.frame-ruler-before { + border-top: 1px solid rgba(0, 0, 0, 0.125); + margin-top: 0; +} + +.frame-ruler-after { + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.frame-indent .frame-inner { + margin-left: 0%; + margin-right: 0%; +} +@media (min-width: 576px) { + .frame-indent .frame-inner { + margin-left: 5%; + margin-right: 5%; + } +} +@media (min-width: 768px) { + .frame-indent .frame-inner { + margin-left: 10%; + margin-right: 10%; + } +} +@media (min-width: 992px) { + .frame-indent .frame-inner { + margin-left: 15%; + margin-right: 15%; + } +} +@media (min-width: 1200px) { + .frame-indent .frame-inner { + margin-left: 20%; + margin-right: 20%; + } +} +@media (min-width: 1400px) { + .frame-indent .frame-inner { + margin-left: 25%; + margin-right: 25%; + } +} + +.frame-indent-left .frame-inner { + margin-left: 0%; +} +@media (min-width: 576px) { + .frame-indent-left .frame-inner { + margin-left: 10%; + } +} +@media (min-width: 768px) { + .frame-indent-left .frame-inner { + margin-left: 20%; + } +} +@media (min-width: 992px) { + .frame-indent-left .frame-inner { + margin-left: 30%; + } +} +@media (min-width: 1200px) { + .frame-indent-left .frame-inner { + margin-left: 40%; + } +} +@media (min-width: 1400px) { + .frame-indent-left .frame-inner { + margin-left: 50%; + } +} + +.frame-indent-right .frame-inner { + margin-right: 0%; +} +@media (min-width: 576px) { + .frame-indent-right .frame-inner { + margin-right: 10%; + } +} +@media (min-width: 768px) { + .frame-indent-right .frame-inner { + margin-right: 20%; + } +} +@media (min-width: 992px) { + .frame-indent-right .frame-inner { + margin-right: 30%; + } +} +@media (min-width: 1200px) { + .frame-indent-right .frame-inner { + margin-right: 40%; + } +} +@media (min-width: 1400px) { + .frame-indent-right .frame-inner { + margin-right: 50%; + } +} + +.frame-size-small { + --frame-spacing: var(--frame-spacing-small-xs); +} +@media (min-width: 576px) { + .frame-size-small { + --frame-spacing: var(--frame-spacing-small-sm); + } +} +@media (min-width: 768px) { + .frame-size-small { + --frame-spacing: var(--frame-spacing-small-md); + } +} +@media (min-width: 992px) { + .frame-size-small { + --frame-spacing: var(--frame-spacing-small-lg); + } +} +@media (min-width: 1200px) { + .frame-size-small { + --frame-spacing: var(--frame-spacing-small-xl); + } +} + +.frame-height-small, +.frame-height-medium, +.frame-height-max { + display: flex; +} +.frame-height-small .frame-group-container, +.frame-height-small .frame-group-inner, +.frame-height-medium .frame-group-container, +.frame-height-medium .frame-group-inner, +.frame-height-max .frame-group-container, +.frame-height-max .frame-group-inner { + display: flex; + flex-grow: 1; +} +.frame-height-small .frame-container, +.frame-height-medium .frame-container, +.frame-height-max .frame-container { + display: flex; + align-items: center; +} +.frame-height-small .frame-inner, +.frame-height-medium .frame-inner, +.frame-height-max .frame-inner { + flex-grow: 1; +} + +.frame-height-small { + min-height: 300px; +} +@media (min-width: 768px) { + .frame-height-small { + min-height: 400px; + } +} + +.frame-height-medium { + min-height: 400px; +} +@media (min-width: 768px) { + .frame-height-medium { + min-height: 500px; + } +} + +.container .frame-has-backgroundimage:not(.frame-layout-embedded), +.container .frame-background-darker:not(.frame-layout-embedded), +.container .frame-background-dark:not(.frame-layout-embedded), +.container .frame-background-light:not(.frame-layout-embedded), +.container .frame-background-lighter:not(.frame-layout-embedded), +.container .frame-background-white:not(.frame-layout-embedded), +.container .frame-background-default:not(.frame-layout-embedded), +.container .frame-background-quaternary-gradient:not(.frame-layout-embedded), +.container .frame-background-quaternary:not(.frame-layout-embedded), +.container .frame-background-tertiary-gradient:not(.frame-layout-embedded), +.container .frame-background-tertiary:not(.frame-layout-embedded), +.container .frame-background-secondary-gradient:not(.frame-layout-embedded), +.container .frame-background-secondary:not(.frame-layout-embedded), +.container .frame-background-primary-gradient:not(.frame-layout-embedded), +.container .frame-background-primary:not(.frame-layout-embedded) { + padding-left: var(--frame-spacing); + padding-right: var(--frame-spacing); +} + +.frame-layout-embedded.frame-space-after-none:not(.frame-ruler-after) + .frame-layout-embedded.frame-space-before-none:not(.frame-ruler-before), .frame-size-default.frame-background-darker.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-darker.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-dark.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-dark.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-light.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-light.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-lighter.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-lighter.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-white.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-white.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-default.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-default.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-quaternary-gradient.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-quaternary-gradient.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-quaternary.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-quaternary.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-tertiary-gradient.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-tertiary-gradient.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-tertiary.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-tertiary.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-secondary-gradient.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-secondary-gradient.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-secondary.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-secondary.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-primary-gradient.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-primary-gradient.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded), .frame-size-default.frame-background-primary.frame-space-after-none:not(.frame-ruler-after):not(.frame-has-backgroundimage):not(.frame-layout-embedded) + .frame-size-default.frame-background-primary.frame-space-before-none:not(.frame-ruler-before):not(.frame-has-backgroundimage):not(.frame-layout-embedded) { + --frame-outer-spacing-before: calc(-1 * var(--frame-spacing)); +} + +.frame-background-primary { + --frame-color: #000; + --frame-background: #ff8700; + --frame-link-color: #000; + --frame-link-hover-color: #000; +} + +.frame-background-primary-gradient { + --frame-color: #000; + --frame-background: linear-gradient(135deg, #d97300 15%, #ff9926 85%); + --frame-link-color: #000; + --frame-link-hover-color: #000; +} + +.frame-background-secondary { + --frame-color: #fff; + --frame-background: #333333; + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; +} + +.frame-background-secondary-gradient { + --frame-color: #fff; + --frame-background: linear-gradient(135deg, #2b2b2b 15%, #525252 85%); + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; +} + +.frame-background-tertiary { + --frame-color: #fff; + --frame-background: #005E85; + --frame-link-color: #ffffff; + --frame-link-hover-color: #d9d9d9; +} + +.frame-background-tertiary-gradient { + --frame-color: #fff; + --frame-background: linear-gradient(135deg, #005071 15%, #267697 85%); + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; +} + +.frame-background-quaternary { + --frame-color: #000; + --frame-background: #75a75a; + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; +} + +.frame-background-quaternary-gradient { + --frame-color: #000; + --frame-background: linear-gradient(135deg, #638e4d 15%, #8ab473 85%); + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; +} + +.frame-background-white { + --frame-color: #000; + --frame-background: #ffffff; + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; +} + +.frame-background-lighter { + --frame-color: #000; + --frame-background: #f7f7f7; + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; +} + +.frame-background-light { + --frame-color: #000; + --frame-background: #f2f2f2; + --frame-link-color: #005E85; + --frame-link-hover-color: #0094d2; +} + +.frame-background-dark { + --frame-color: #fff; + --frame-background: #595959; + --frame-link-color: #ffffff; + --frame-link-hover-color: #d9d9d9; +} + +.frame-background-darker { + --frame-color: #fff; + --frame-background: #333333; + --frame-link-color: #ffffff; + --frame-link-hover-color: #d9d9d9; +} + +.frame-backgroundimage-container { + overflow: hidden; +} + +.frame-backgroundimage-container, +.frame-backgroundimage { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background-position: center; + background-size: cover; +} + +.frame-backgroundimage-fade { + opacity: 0.125; +} + +.frame-backgroundimage-parallax { + background-attachment: fixed; + background-repeat: no-repeat; +} +@media (hover: none) { + .frame-backgroundimage-parallax { + background-attachment: initial; + } +} + +.frame-backgroundimage-blur { + filter: blur(10px); + width: calc(100% + 40px); + height: calc(100% + 40px); + top: -20px; + left: -20px; +} + +.frame-backgroundimage-grayscale { + filter: grayscale(1); +} + +.frame-backgroundimage-sepia { + filter: sepia(1); +} + +.frame-space-before-none { + --frame-outer-spacing-before: var(--frame-outer-spacing-variant-none); +} + +.frame-space-after-none { + --frame-outer-spacing-after: var(--frame-outer-spacing-variant-none); +} + +.frame-space-before-extra-small { + --frame-outer-spacing-before: var(--frame-outer-spacing-variant-extra-small); +} + +.frame-space-after-extra-small { + --frame-outer-spacing-after: var(--frame-outer-spacing-variant-extra-small); +} + +.frame-space-before-small { + --frame-outer-spacing-before: var(--frame-outer-spacing-variant-small); +} + +.frame-space-after-small { + --frame-outer-spacing-after: var(--frame-outer-spacing-variant-small); +} + +.frame-space-before-medium { + --frame-outer-spacing-before: var(--frame-outer-spacing-variant-medium); +} + +.frame-space-after-medium { + --frame-outer-spacing-after: var(--frame-outer-spacing-variant-medium); +} + +.frame-space-before-large { + --frame-outer-spacing-before: var(--frame-outer-spacing-variant-large); +} + +.frame-space-after-large { + --frame-outer-spacing-after: var(--frame-outer-spacing-variant-large); +} + +.frame-space-before-extra-large { + --frame-outer-spacing-before: var(--frame-outer-spacing-variant-extra-large); +} + +.frame-space-after-extra-large { + --frame-outer-spacing-after: var(--frame-outer-spacing-variant-extra-large); +} + +.frame-header { + margin-bottom: 1rem; +} +.frame-header > *:last-child { + margin-bottom: 0; +} + +.frame-header-permalink { + position: relative; + display: inline-flex; + vertical-align: middle; + color: inherit; + opacity: 0.25; + transition: opacity ease-in-out 0.3s; + visibility: hidden; + top: -0.1em; +} +.frame-header-permalink:hover { + color: inherit; + text-decoration: none; + opacity: 0.75; +} + +*:hover > .frame-header-permalink { + visibility: visible; +} + +figure figcaption p:last-child { + margin-bottom: 0; +} + +span[id*=MathJax-Span] { + color: #212529; +} + +.page-link { + color: inherit; + background: #f2f2f2; +} +.page-link:hover { + color: inherit; +} +.page-link:focus { + color: inherit; +} + +.panel { + background: var(--bs-body-bg); + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); + border-radius: var(--bs-border-radius); + padding: 1.25rem 1.25rem; + border: var(--bs-border-width) solid var(--bs-border-color-translucent); + overflow: hidden; +} +.panel > *:last-child { + margin-bottom: 0; +} +.panel > h1, .panel > .h1, +.panel > h2, +.panel > .h2, +.panel > h3, +.panel > .h3, +.panel > h4, +.panel > .h4, +.panel > h5, +.panel > .h5, +.panel > h6, +.panel > .h6 { + font-size: 1.15rem; + padding: 1.25rem 1.25rem; + margin: -1.25rem -1.25rem; + margin-bottom: 1.25rem; + background-color: rgba(var(--bs-body-color-rgb), 0.03); +} + +article a.headerlink, article a.permalink { + position: relative; + font-size: 0.65em; + visibility: hidden; + top: -0.15em; + text-decoration: none; +} +article a.headerlink:after, article a.permalink:after { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: inline-block; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + content: "\f0c1"; + font-family: "Font Awesome 6 Free"; + font-weight: 900; + margin-left: -0.35em; +} +article .headerNoindex { + position: relative; + font-size: 0.65em; + visibility: hidden; + top: -0.15em; + text-decoration: none; +} +article *:hover > a.headerlink:after, article *:hover > a.permalink:after, article *:hover .headerNoindex { + visibility: visible; +} + +.rst-content { + /** + * Lists + */ + /** + * Images and objects + */ + /** + * Blockquote + */ + /** + * Definition Lists + */ + /** + * Index page "genindex.html" + */ +} +.rst-content .toctree-wrapper ul li, +.rst-content .toctree-wrapper ol li, +.rst-content ul.simple li, +.rst-content ol.simple li { + margin-top: 0.5rem; +} +@media (min-width: 992px) { + .rst-content .compact-list > ul.simple li, + .rst-content .compact-list > ol.simple li, + .rst-content .toctree-wrapper.compact-list ul li, + .rst-content .toctree-wrapper.compact-list ol li, + .rst-content ul.simple.compact-list li, + .rst-content ol.simple.compact-list li { + margin-top: 0; + } + .rst-content .compact-list > ul.simple li > p, + .rst-content .compact-list > ol.simple li > p, + .rst-content .toctree-wrapper.compact-list ul li > p, + .rst-content .toctree-wrapper.compact-list ol li > p, + .rst-content ul.simple.compact-list li > p, + .rst-content ol.simple.compact-list li > p { + margin: 0; + } +} +.rst-content img, +.rst-content object { + display: inline-block; + max-width: 100%; + height: auto; +} +.rst-content img.float-left, +.rst-content object.float-left { + margin-right: 1rem; + margin-bottom: 1rem; +} +.rst-content img.float-right, +.rst-content object.float-right { + margin-left: 1rem; + margin-bottom: 1rem; +} +.rst-content .plantuml object { + height: auto !important; +} +.rst-content .figure, .rst-content figure, +.rst-content .figure > img, +.rst-content figure > img, +.rst-content .figure > a > img, +.rst-content figure > a > img { + display: block; +} +.rst-content .figure .caption, .rst-content figure .caption, +.rst-content .figure > img .caption, +.rst-content .figure > a > img .caption { + font-size: 0.875rem; +} +.rst-content blockquote { + position: relative; + padding: 1.25rem 1.25rem; + padding-left: 3.75rem; + border: var(--bs-border-width) solid var(--bs-border-color-translucent); + border-radius: var(--bs-border-radius); + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); + background: var(--bs-body-bg); +} +.rst-content blockquote:before { + border-top-left-radius: var(--bs-border-radius); + border-bottom-left-radius: var(--bs-border-radius); + text-align: center; + user-select: none; + position: absolute; + top: 0; + left: 0; + font-size: 2.5rem; + height: 100%; + width: 2.5rem; + background-color: rgba(var(--bs-body-color-rgb), 0.03); + content: "❝"; +} +.rst-content blockquote .attribution { + font-size: 92%; + font-style: italic; + text-align: right; +} +.rst-content blockquote > div > *:last-child { + margin-bottom: 0; +} +.rst-content dl dd { + margin: 0 0 1rem 2rem; +} +.rst-content .DEPRECATED dl:not(.docutils):not(.field-list) { + margin-bottom: 1rem; +} +.rst-content .DEPRECATED dl:not(.docutils):not(.field-list) dt { + display: inline-block; + font-size: 90%; + padding: 0.25em 0.5em; + margin-bottom: calc(1rem / 2); + position: relative; + border-top: solid 3px theme-color("info"); + background-color: theme-color-level("info", -11); + color: theme-color-level("info", 3); +} +.rst-content .DEPRECATED dl:not(.docutils):not(.field-list) dl dt { + border-top: 2px solid theme-color-level("light", 3); + background-color: theme-color("light"); + color: color-yiq(theme-color("light")); +} +.rst-content .DEPRECATED dl:not(.docutils):not(.field-list) .descname { + background-color: transparent; + border: none; + padding: 0; + font-size: 100%; +} +.rst-content .DEPRECATED dl:not(.docutils):not(.field-list) .optional { + padding: 0 0.25em; +} +.rst-content .DEPRECATED dl:not(.docutils):not(.field-list) .headerlink, +.rst-content .DEPRECATED dl:not(.docutils):not(.field-list) .optional { + color: #212529; +} +.rst-content .DEPRECATED dl:not(.docutils):not(.field-list) .viewcode-link { + padding-left: 1em; +} +.rst-content .DEPRECATED dl.dl-parameters dt { + border-top: 2px solid theme-color-level("light", 3); + background-color: theme-color-level("light", 1); + color: color-yiq(theme-color-level("light", 1)); + font-weight: normal; + padding: calc(1rem / 2) 1rem; + margin-left: calc(1rem * 2); +} +.rst-content .DEPRECATED dl.dl-parameters dd { + background-color: theme-color("light"); + color: color-yiq(theme-color("light")); + padding: 1rem; + margin-left: 2rem; +} +.rst-content .DEPRECATED dl.dl-parameters dd *:last-child { + margin-bottom: 0; +} +.rst-content .DEPRECATED dl.dl-parameters dd p.first .sep { + opacity: 0.5; + margin: 0 0.25em; +} +.rst-content .DEPRECATED dl.dl-parameters dd p.first .sep:first-child, .rst-content .DEPRECATED dl.dl-parameters dd p.first .sep:last-child { + display: none; +} +.rst-content blockquote dl.dl-parameters dt, +.rst-content blockquote dl.dl-parameters dd { + margin-left: 0; +} +.rst-content .line-block > .line-block { + margin-left: 1.75em; +} +.rst-content div.genindex-jumpbox { + border-top: 1px solid #dddddd; + border-bottom: 1px solid #dddddd; + margin: 1em 0; + padding: 0.4em; +} +.rst-content div.modindex-jumpbox { + border-top: 1px solid #dddddd; + border-bottom: 1px solid #dddddd; + margin: 1em 0; + padding: 0.4em; +} +.rst-content table.indextable { + width: 100%; +} +.rst-content table.indextable td { + text-align: left; + vertical-align: top; +} +.rst-content table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} +.rst-content table.indextable > tbody > tr > td > ul { + padding-left: 0; +} +.rst-content table.indextable tr.pcap { + height: 10px; +} +.rst-content table.indextable tr.cap { + margin-top: 10px; + background-color: transparent; +} + +/** + * Generic classes + */ +.bold-important { + font-weight: bold !important; +} + +.padding-0-important { + padding: 0 !important; +} + +.table th :last-child, +.table td :last-child { + margin-bottom: 0; +} + +.table-responsive { + margin-bottom: 1rem; +} +.table-responsive table.table { + margin-bottom: 0; +} + +.tab-content { + border: 1px solid var(--bs-border-color); + border-top: none; + padding: 1rem; + margin-bottom: 1em; +} + +.nav-tabs li.nav-item { + margin: 0; +} + +/** + * Keyboard Shortcuts, text role :kbd: + */ +kbd { + display: inline-block; + padding: 0.25em 0.5em; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 2px #ffffff; + background-color: white; + color: #000; + border-radius: 0.375rem; + border: 1px solid #f2f2f2; +} + +/** + * GUI-Label + */ +.guilabel { + font-size: 75%; + display: inline-block; + padding: 0.25em 0.5em; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), inset 0 0 0 2px #ffffff; + background-color: #f4fafc; + color: #000; + border-radius: 0.375rem; + border: 1px solid #319fc0; +} + +/** + * Bignums + */ +.bignums, .bignums-xxl, .bignums-danger, +.bignums-error, .bignums-important, +.bignums-seealso, +.bignums-tip, .bignums-caution, +.bignums-warning, +.bignums-attention, .bignums-hint, +.bignums-note, +.bignums-info { + padding: 0; + counter-reset: li-counter; +} +.bignums > li, .bignums-xxl > li, .bignums-danger > li, +.bignums-error > li, .bignums-important > li, +.bignums-seealso > li, +.bignums-tip > li, .bignums-caution > li, +.bignums-warning > li, +.bignums-attention > li, .bignums-hint > li, +.bignums-note > li, +.bignums-info > li { + list-style: none; + position: relative; + padding: 1rem; + padding-left: 3.875rem; + padding-top: 1.2875rem; + border: 1px solid #595959; + border-radius: 0.375rem; + min-height: 4.3rem; +} +.bignums > li > .first, .bignums-xxl > li > .first, .bignums-danger > li > .first, +.bignums-error > li > .first, .bignums-important > li > .first, +.bignums-seealso > li > .first, +.bignums-tip > li > .first, .bignums-caution > li > .first, +.bignums-warning > li > .first, +.bignums-attention > li > .first, .bignums-hint > li > .first, +.bignums-note > li > .first, +.bignums-info > li > .first, +.bignums > li > p:first-child, +.bignums-xxl > li > p:first-child, +.bignums-danger > li > p:first-child, +.bignums-error > li > p:first-child, +.bignums-important > li > p:first-child, +.bignums-seealso > li > p:first-child, +.bignums-tip > li > p:first-child, +.bignums-caution > li > p:first-child, +.bignums-warning > li > p:first-child, +.bignums-attention > li > p:first-child, +.bignums-hint > li > p:first-child, +.bignums-note > li > p:first-child, +.bignums-info > li > p:first-child { + font-weight: 600; + font-size: 1.15rem; +} +.bignums > li:before, .bignums-xxl > li:before, .bignums-danger > li:before, +.bignums-error > li:before, .bignums-important > li:before, +.bignums-seealso > li:before, +.bignums-tip > li:before, .bignums-caution > li:before, +.bignums-warning > li:before, +.bignums-attention > li:before, .bignums-hint > li:before, +.bignums-note > li:before, +.bignums-info > li:before { + font-size: 1.15rem; + display: block; + position: absolute; + top: 1rem; + left: 1rem; + height: 2em; + width: 2em; + line-height: 2em; + text-align: center; + background-color: #595959; + color: #fff; + border-radius: 50%; + content: counter(li-counter, decimal); + counter-increment: li-counter; + font-weight: 600; +} +.bignums > li + li, .bignums-xxl > li + li, .bignums-danger > li + li, +.bignums-error > li + li, .bignums-important > li + li, +.bignums-seealso > li + li, +.bignums-tip > li + li, .bignums-caution > li + li, +.bignums-warning > li + li, +.bignums-attention > li + li, .bignums-hint > li + li, +.bignums-note > li + li, +.bignums-info > li + li { + margin-top: 1rem; +} + +.bignums-hint > li, +.bignums-note > li, +.bignums-info > li { + border-color: #319fc0; +} +.bignums-hint > li:before, +.bignums-note > li:before, +.bignums-info > li:before { + background-color: #319fc0; + color: #000; +} + +.bignums-caution > li, +.bignums-warning > li, +.bignums-attention > li { + border-color: #f0ad4e; +} +.bignums-caution > li:before, +.bignums-warning > li:before, +.bignums-attention > li:before { + background-color: #f0ad4e; + color: #000; +} + +.bignums-important > li, +.bignums-seealso > li, +.bignums-tip > li { + border-color: #5cb85c; +} +.bignums-important > li:before, +.bignums-seealso > li:before, +.bignums-tip > li:before { + background-color: #5cb85c; + color: #000; +} + +.bignums-danger > li, +.bignums-error > li { + border-color: #d9534f; +} +.bignums-danger > li:before, +.bignums-error > li:before { + background-color: #d9534f; + color: #000; +} + +/** + * Bignums XXL + */ +.bignums-xxl > li { + padding: 0; + padding-left: 3.75rem; + padding-top: 0.375rem; + background-color: transparent; + border-style: none; + min-height: 3rem; +} +.bignums-xxl > li > .first, +.bignums-xxl > li > p:first-child { + font-size: 1.5rem; +} +.bignums-xxl > li:before { + font-size: 1.5rem; + top: 0; + left: 0; +} +.bignums-xxl > li + li { + border-top: 1px solid rgba(0, 0, 0, 0.15); + margin-top: 1.375rem; + padding-top: 1.375rem; +} +.bignums-xxl > li + li:before { + top: 1rem; +} + +ul[class*=horizbuttons-] { + padding: 0; +} +ul[class*=horizbuttons-] > li { + line-height: 2em; + border-radius: 0.375rem; + display: inline; + padding: calc(1rem / 4) calc(1rem / 2); +} +ul[class*=horizbuttons-] > li a { + color: inherit; + font-weight: bold; +} +ul[class*=horizbuttons-] > li p { + display: inline; +} +ul[class*=horizbuttons-][class*=-xxxl] { + font-size: 1.5em; +} +ul[class*=horizbuttons-][class*=-xxl] { + font-size: 1.25em; +} +ul[class*=horizbuttons-][class*=-warning-] > li, ul[class*=horizbuttons-][class*=-attention-] > li { + color: #000; + background-color: #f0ad4e; +} +ul[class*=horizbuttons-][class*=-tip-] > li, ul[class*=horizbuttons-][class*=-important-] > li { + color: #000; + background-color: #5cb85c; +} +ul[class*=horizbuttons-][class*=-note-] > li { + color: #000; + background-color: #319fc0; +} +ul[class*=horizbuttons-][class*=-typo3-] > li, ul[class*=horizbuttons-][class*=-primary-] > li { + color: #000; + background-color: #ff8700; +} +ul[class*=horizbuttons-][class*=-striking-] > li { + color: #fff; + background-color: #333333; +} + +.admonition { + border: 4px solid #666; + margin: 1rem 0; + padding: 1rem; + border-radius: 0.375rem; + overflow: hidden; +} +.admonition :last-child { + margin-bottom: 0; +} + +.admonition-title { + padding: calc(1rem / 2) 1rem; + margin: -1rem; + margin-bottom: calc(1rem / 4); + color: var(--bs-emphasis-color); + font-weight: bold; + font-size: 1.25em; +} +.admonition-title::before { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: inline-block; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + content: "\f05a"; + font-family: "Font Awesome 6 Free"; + font-weight: 900; + margin-right: calc(1rem / 2); +} + +.admonition.attention { + border-color: #ff8700; +} +.admonition.attention .admonition-title::before { + content: "\f0f3"; +} + +.admonition.caution { + border-color: #ff8700; +} +.admonition.caution .admonition-title::before { + content: "\f071"; +} + +.admonition.danger { + border-color: #ff8700; +} +.admonition.danger .admonition-title::before { + content: "\f071"; +} + +.admonition.error { + border-color: #ff8700; +} +.admonition.error .admonition-title::before { + content: "\f057"; +} + +.admonition.important .admonition-title::before { + content: "\f0f3"; +} + +.admonition.hint .admonition-title::before { + content: "\f0eb"; +} + +.admonition.note .admonition-title::before { + content: "\f05a"; +} + +.admonition.seealso .admonition-title::before { + content: "\f064"; +} + +.admonition.tip .admonition-title::before { + content: "\f0eb"; +} + +.admonition.warning { + border-color: #ff8700; +} +.admonition.warning .admonition-title::before { + content: "\f071"; +} + +dl.confval { + background-color: #ffffff; + border-radius: 0.375rem; + margin-bottom: 1.5rem; + padding-bottom: 0.3rem; + border: solid 3px #f2f2f2; + border-top-color: #b3b3b3; +} +dl.confval > dt { + display: block; + background-color: #f2f2f2; + color: #000; + font-size: 1.25em; + padding: 0.25em 0.5em; + margin-bottom: 0.75em; +} +dl.confval > dt code { + color: #000; +} +dl.confval > dd { + margin-right: 1rem; +} + +dl.field-list dt { + font-weight: bold; +} +dl.field-list > dt:after { + content: ":"; +} + +@media (min-width: 768px) { + dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; + } + dl.field-list dt { + padding-left: 0; + padding-right: 0.5em; + margin-bottom: 0.25rem; + } + dl.field-list dd { + padding-left: 0.5em; + margin-top: 0; + margin-left: 0; + margin-bottom: 0.25rem; + } + dl.field-list p:last-child { + margin: 0; + } + dl.field-list ul:last-child { + margin: 0; + } +} +.rst-content dl.php { + border-radius: 0.375rem; + margin-bottom: 1rem; + padding-bottom: 0.3rem; +} +.rst-content dl.php .descname { + background-color: transparent; + border: none; + color: hsl(350, 100%, 40%); + font-size: 100%; + padding: 0; +} +.rst-content dl.php .optional { + padding: 0 0.25em; +} +.rst-content dl.php code { + padding: 0 0.25em; +} +.rst-content dl.php .pre { + font-family: "Source Code Pro", monospace; +} +.rst-content dl.php .headerlink, +.rst-content dl.php .optional { + color: #212529; +} +.rst-content dl.php .viewcode-link { + padding-left: 1em; +} +.rst-content dl.php > dt { + background-color: #f4fafc; + border-radius: 0.375rem; + border-top: solid 3px #319fc0; + color: black; + display: inline-block; + font-size: 1rem; + margin-bottom: calc(1rem / 2); + padding: 0.25em 0.5em; + position: relative; +} +.rst-content dl.php dl.php > dt { + background-color: #f7f7f7; + border-top: 2px solid #ababab; + color: #000; +} + +.sidebar { + margin: 0; + margin-bottom: 1rem; + padding: 1rem; + border-radius: 0.375rem; + overflow: hidden; + background: #ffffff; + font-size: 0.875rem; + border: 1px solid #595959; +} +@media (min-width: 576px) { + .sidebar { + float: right; + width: 18rem; + margin-left: 1rem; + } +} +.sidebar > .sidebar-title { + font-weight: 600; + color: #ffffff; + background-color: #595959; + padding: calc(1rem / 2) 1rem; + margin: -1rem; + margin-bottom: 1rem; +} +.sidebar img, +.sidebar p, +.sidebar ul, +.sidebar dl { + margin-bottom: 0.5em; +} +.sidebar > *:last-child { + margin-bottom: 0; +} + +/** + * Version Added, Changed, Deprecated + */ +.deprecated { + border-left: 5px solid gray; + padding-left: 1em; +} +.deprecated .versionmodified { + color: #000; + font-weight: bold; + margin-bottom: 0.5em; + padding: 0 2px; +} +.deprecated .versionmodified .versionicon { + color: #5a5a5a; + padding-right: 0.5em; +} + +.versionadded { + border-left: 5px solid #5cb85c; + padding-left: 1em; +} +.versionadded .versionmodified { + color: #000; + font-weight: bold; + margin-bottom: 0.5em; + padding: 0 2px; +} +.versionadded .versionmodified .versionicon { + color: #3d8b3d; + padding-right: 0.5em; +} + +.versionchanged { + border-left: 5px solid #319fc0; + padding-left: 1em; +} +.versionchanged .versionmodified { + color: #000; + font-weight: bold; + margin-bottom: 0.5em; + padding: 0 2px; +} +.versionchanged .versionmodified .versionicon { + color: #216d83; + padding-right: 0.5em; +} + +.admonition .deprecated, .admonition .versionadded, .admonition .versionchanged { + border: none; + padding: 0; +} + +/** + * Breadcrumb + */ +.breadcrumb-bar { + margin-bottom: 1rem; + border-bottom: 1px solid rgba(0, 0, 0, 0.15); + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; +} +.breadcrumb-bar .breadcrumb { + background-color: transparent; + margin-bottom: 1rem; + padding: 0; +} +.breadcrumb-bar .breadcrumb-additions { + margin-bottom: 1rem; + display: none; +} +@media (min-width: 768px) { + .breadcrumb-bar .breadcrumb-additions { + display: block; + } +} + +@media (min-width: 768px) { + .footer-main { + margin: calc(40px / 2 * -1); + display: flex; + flex-wrap: wrap; + justify-content: space-between; + } + .footer-menu, + .footer-contact { + padding: calc(40px / 2); + } +} +.footer-menu-group:last-child .footer-menu-group-headline { + margin: 0; +} + +.footer-menu-group-headline { + margin-top: 0; + font-size: 1em; +} + +.footer-menu-group-list { + display: none; + list-style: none; + padding: 0; +} +.footer-menu-group-list li { + margin-top: 0.25em; +} + +.footer-menu-group-list-item-link { + display: flex; +} + +.footer-menu-group-list-item-icon { + color: #ff8700; + flex-shrink: 0; + margin-right: 0.5em; + height: 16px; + width: 16px; + margin-top: 0.2em; +} +.footer-menu-group-list-item-icon svg, +.footer-menu-group-list-item-icon img { + display: block; + height: 100%; + width: 100%; +} + +@media (min-width: 768px) { + .footer-menu { + display: flex; + } + .footer-menu-group { + margin-right: 2.5em; + } + .footer-menu-group:last-child { + margin-right: 0; + } + .footer-menu-group-headline { + opacity: 0.75; + margin-bottom: 0.5em !important; + } + .footer-menu-group-headline:hover { + opacity: 1; + } + .footer-menu-group-list { + display: block; + margin: 0; + } +} +.footer-simplemenu { + text-align: center; + list-style: none; + padding-left: 0; +} +.footer-simplemenu > li { + margin-bottom: 1rem; +} +@media (min-width: 576px) { + .footer-simplemenu { + margin-left: -0.5em; + margin-right: -0.5em; + } + .footer-simplemenu > li { + display: inline-block; + padding-left: 0.5em; + padding-right: 0.5em; + margin-bottom: 0; + } +} +.footer-simplemenu .active a { + font-weight: bold; +} + +.footer-meta { + text-align: center; +} + +.footer-meta-copyright { + margin-bottom: 0.5em; +} + +.footer-meta-navigation { + list-style: none; + padding: 0; + margin-bottom: 0; +} +.footer-meta-navigation a { + color: inherit; + display: block; +} +.footer-meta-navigation li { + display: inline-block; + margin-left: 0.5em; + margin-right: 0.5em; +} + +@media (min-width: 576px) { + .footer-meta-copyright { + display: inline-block; + margin-bottom: 0; + } + .footer-meta-navigation { + display: inline-block; + } + .footer-meta-navigation li { + display: inline-block; + margin-right: 0; + } +} +.logo { + display: inline-flex; + height: 70px; + align-items: center; +} + +.logo-image { + display: block; + max-width: 100px; + height: auto; +} + +.toc-checkbox { + display: none; +} + +.toc-collapse { + display: none; +} +@media (min-width: 992px) { + .toc-collapse { + display: block; + } +} + +.toc-checkbox:checked ~ .toc-collapse { + display: block; +} + +.toc-toggle { + margin: 0; +} +@media (min-width: 992px) { + .toc-toggle { + display: none; + } +} + +.toc-header { + display: flex; + justify-content: space-between; + padding-left: calc(1rem / 2); +} + +.main_menu { + margin: 1rem 0; + display: block; +} +.main_menu .caption { + font-weight: bold; + margin: 0; +} +.main_menu a { + position: relative; + display: block; + color: inherit; + line-height: 1.25; + padding: calc(1rem / 4) 0; + padding-right: 1.5em; + text-decoration: none; +} +.main_menu a:hover { + text-decoration: underline; +} +.main_menu ul { + padding-left: 1rem; + list-style-type: none; +} +.main_menu li { + border-radius: 0.375rem; + overflow: hidden; + padding-left: calc(1rem / 2); +} +.main_menu li.active { + border-left: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0; +} +.main_menu li.current { + border-left: none; +} +.main_menu .toctree-expand { + position: absolute; + display: block; + top: calc(1rem / 4 + 1rem * 1.25 / 2); + right: 0; + transform: translate(0, -50%); + height: 1em; + width: 1em; + background-color: #f2f2f2; + border-radius: 50%; +} +.main_menu .toctree-expand:after, .main_menu .toctree-expand:before { + position: absolute; + content: ""; + top: 50%; + left: 50%; +} +.main_menu .toctree-expand:after { + width: 10px; + height: 0; + border-top: 2px solid; + transform: translate(-50%, -50%); +} +.main_menu .toctree-expand:before { + width: 0; + height: 10px; + border-left: 2px solid; + transform: translate(-50%, -50%); +} +.main_menu .active > a { + font-weight: bold; +} +.main_menu .active > a > .toctree-expand:before { + display: none; +} +.main_menu > ul { + padding-left: 0; +} +.main_menu > ul .active > ul { + display: block !important; +} +.main_menu > ul > li ul { + display: none; +} +.main_menu > ul:not(:last-child) { + padding-bottom: 1rem; + border-bottom: 1px solid rgba(0, 0, 0, 0.15); +} + +a.toc-title-project { + display: block; + font-size: 1.5em; + font-weight: 600; + line-height: 1.25; + color: #ff8700; + text-decoration: none; +} +a.toc-title-project:hover { + color: #b35f00; +} + +.toc-search { + margin-top: 1rem; + margin-bottom: 2rem; +} + +.toc-backref { + color: inherit; +} +.toc-backref:hover { + color: inherit; + text-decoration: none; +} + +/** + * Version Selector + */ +.toc-version { + cursor: pointer; + display: flex; + align-items: center; +} +.toc-version:after { + content: ""; + display: inline-block; + margin-left: 0.25em; + vertical-align: middle; + border: 0.25em solid transparent; + border-bottom: none; + border-top-color: inherit; +} + +.toc-version-number { + margin-left: 0.25em; + font-weight: bold; +} + +.toc-version-toggle { + margin-left: auto; +} + +.toc-version-wrapper { + margin-top: 0.5rem; + border-radius: var(--bs-border-radius); +} + +.toc-version-options { + display: none; + margin-top: calc(1rem / 2); + margin-bottom: 0; + border-radius: var(--bs-border-radius); + overflow: hidden; + color: #000; + background-color: #f2f2f2; +} +.toc-version-options a { + padding: 0.375rem 0.75rem; + display: block; + color: inherit; +} +.toc-version-options a:hover { + text-decoration: none; + color: #fff; + background-color: #005E85; +} +.toc-version-options p, +.toc-version-options dl, +.toc-version-options dd { + display: block; + margin: 0; + padding: 0; +} +.toc-version-options p { + padding: 0.375rem 0.75rem; +} + +.toc-version-wrapper-active .toc-version-options { + display: block; +} +.toc-version-wrapper-active .toc-version:after { + border: 0.25em solid transparent; + border-top: none; + border-bottom-color: inherit; +} + +.search__scope { + flex: 0.4 !important; +} + +.page { + display: flex; + flex-direction: column; + min-height: 100vh; +} + +.page-topbar { + position: relative; + flex-grow: 0; + flex-shrink: 0; +} + +/** + * Header + */ +.page-header { + position: relative; + z-index: 1; + flex-grow: 0; + flex-shrink: 0; + background: #ffffff; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); +} + +.page-header-inner { + max-width: 100%; + width: 1140px; + margin: 0 auto; + padding: 0 calc(40px / 2); +} + +/** + * Main + */ +.page-main { + display: flex; + flex-grow: 1; +} + +.page-main-inner { + display: flex; + flex-flow: wrap column; + max-width: 100%; + width: 1140px; + padding: 0 calc(40px / 2); + margin: 0 auto; + position: relative; +} +@media (min-width: 992px) { + .page-main-inner { + flex-flow: nowrap row; + } +} + +.page-main-navigation { + flex-grow: 0; + margin-left: calc(40px / 2 * -1); + margin-right: calc(40px / 2 * -1); + padding: calc(40px / 2); + border-bottom: 1px solid rgba(0, 0, 0, 0.15); +} +@media (min-width: 992px) { + .page-main-navigation { + padding: 2rem 0; + flex-shrink: 0; + width: 15rem; + margin: 0; + margin-right: 40px; + padding-right: calc(40px / 2); + border-bottom: none; + border-right: 1px solid rgba(0, 0, 0, 0.15); + } +} + +.page-main-content { + padding-top: 2rem; + padding-bottom: 2rem; + width: 100%; + min-width: 0; + flex-grow: 1; +} + +/** +* Sections +*/ +section { + margin-top: 2.5rem; + margin-bottom: 2.5rem; +} +section::after { + display: block; + clear: both; + content: ""; +} + +.no-focus { + outline: none !important; +} + +.cc { + clear: both; +} + +.rubric { + font-weight: 700; +} \ No newline at end of file diff --git a/_resources/fonts/fa-brands-400.ttf b/_resources/fonts/fa-brands-400.ttf new file mode 100644 index 0000000..5efb1d4 Binary files /dev/null and b/_resources/fonts/fa-brands-400.ttf differ diff --git a/_resources/fonts/fa-brands-400.woff2 b/_resources/fonts/fa-brands-400.woff2 new file mode 100644 index 0000000..36fbda7 Binary files /dev/null and b/_resources/fonts/fa-brands-400.woff2 differ diff --git a/_resources/fonts/fa-regular-400.ttf b/_resources/fonts/fa-regular-400.ttf new file mode 100644 index 0000000..838b4e2 Binary files /dev/null and b/_resources/fonts/fa-regular-400.ttf differ diff --git a/_resources/fonts/fa-regular-400.woff2 b/_resources/fonts/fa-regular-400.woff2 new file mode 100644 index 0000000..b6cabba Binary files /dev/null and b/_resources/fonts/fa-regular-400.woff2 differ diff --git a/_resources/fonts/fa-solid-900.ttf b/_resources/fonts/fa-solid-900.ttf new file mode 100644 index 0000000..ec24749 Binary files /dev/null and b/_resources/fonts/fa-solid-900.ttf differ diff --git a/_resources/fonts/fa-solid-900.woff2 b/_resources/fonts/fa-solid-900.woff2 new file mode 100644 index 0000000..824d518 Binary files /dev/null and b/_resources/fonts/fa-solid-900.woff2 differ diff --git a/_resources/fonts/fa-v4compatibility.ttf b/_resources/fonts/fa-v4compatibility.ttf new file mode 100644 index 0000000..b175aa8 Binary files /dev/null and b/_resources/fonts/fa-v4compatibility.ttf differ diff --git a/_resources/fonts/fa-v4compatibility.woff2 b/_resources/fonts/fa-v4compatibility.woff2 new file mode 100644 index 0000000..e09b5a5 Binary files /dev/null and b/_resources/fonts/fa-v4compatibility.woff2 differ diff --git a/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-700.woff2 b/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-700.woff2 new file mode 100644 index 0000000..e5d6da3 Binary files /dev/null and b/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-700.woff2 differ diff --git a/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-700italic.woff2 b/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-700italic.woff2 new file mode 100644 index 0000000..3acb8e5 Binary files /dev/null and b/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-700italic.woff2 differ diff --git a/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-italic.woff2 b/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-italic.woff2 new file mode 100644 index 0000000..a2929ff Binary files /dev/null and b/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-italic.woff2 differ diff --git a/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-regular.woff2 b/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-regular.woff2 new file mode 100644 index 0000000..d4ba03b Binary files /dev/null and b/_resources/fonts/source-code-pro/source-code-pro-v23-latin_latin-ext-regular.woff2 differ diff --git a/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-600.woff2 b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-600.woff2 new file mode 100644 index 0000000..e8c68b1 Binary files /dev/null and b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-600.woff2 differ diff --git a/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-600italic.woff2 b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-600italic.woff2 new file mode 100644 index 0000000..13056bf Binary files /dev/null and b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-600italic.woff2 differ diff --git a/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-700.woff2 b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-700.woff2 new file mode 100644 index 0000000..da88a28 Binary files /dev/null and b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-700.woff2 differ diff --git a/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-700italic.woff2 b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-700italic.woff2 new file mode 100644 index 0000000..7caab82 Binary files /dev/null and b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-700italic.woff2 differ diff --git a/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-italic.woff2 b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-italic.woff2 new file mode 100644 index 0000000..606028b Binary files /dev/null and b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-italic.woff2 differ diff --git a/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-regular.woff2 b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-regular.woff2 new file mode 100644 index 0000000..fa80bf9 Binary files /dev/null and b/_resources/fonts/source-sans-3/source-sans-3-v15-latin_latin-ext-regular.woff2 differ diff --git a/_resources/img/typo3-logo.svg b/_resources/img/typo3-logo.svg new file mode 100644 index 0000000..3ceb2f2 --- /dev/null +++ b/_resources/img/typo3-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_resources/js/bootstrap.min.js b/_resources/js/bootstrap.min.js new file mode 100644 index 0000000..59e4dbb --- /dev/null +++ b/_resources/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * 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){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const i=e(t),s=new Map,n={set(t,e,i){s.has(t)||s.set(t,new Map);const n=s.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>s.has(t)&&s.get(t).get(e)||null,remove(t,e){if(!s.has(t))return;const i=s.get(t);i.delete(e),0===i.size&&s.delete(t)}},o="transitionend",r=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),a=t=>{t.dispatchEvent(new Event(o))},l=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(r(t)):null,h=t=>{if(!l(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},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),u=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?u(t.parentNode):null},_=()=>{},g=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,m=[],p=()=>"rtl"===document.documentElement.dir,b=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of m)t()})),m.push(e)):e()},v=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,y=(t,e,i=!0)=>{if(!i)return void v(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let n=!1;const r=({target:i})=>{i===e&&(n=!0,e.removeEventListener(o,r),v(t))};e.addEventListener(o,r),setTimeout((()=>{n||a(e)}),s)},w=(t,e,i,s)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!i&&s?t[n-1]:t[0]:(o+=i?1:-1,s&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])},A=/[^.]*(?=\..*)\.|.*/,E=/\..*/,C=/::\d+$/,T={};let k=1;const $={mouseenter:"mouseover",mouseleave:"mouseout"},S=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 L(t,e){return e&&`${e}::${k++}`||t.uidEvent||k++}function O(t){const e=L(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function I(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function D(t,e,i){const s="string"==typeof e,n=s?i:e||i;let o=M(t);return S.has(o)||(o=t),[s,n,o]}function N(t,e,i,s,n){if("string"!=typeof e||!t)return;let[o,r,a]=D(e,i,s);if(e in $){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=O(t),c=l[a]||(l[a]={}),h=I(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=L(r,e.replace(A,"")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return F(n,{delegateTarget:r}),s.oneOff&&j.off(t,n.type,e,i),i.apply(r,[n])}}(t,i,r):function(t,e){return function i(s){return F(s,{delegateTarget:t}),i.oneOff&&j.off(t,s.type,e),e.apply(t,[s])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function P(t,e,i,s,n){const o=I(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function x(t,e,i,s){const n=e[i]||{};for(const[o,r]of Object.entries(n))o.includes(s)&&P(t,e,i,r.callable,r.delegationSelector)}function M(t){return t=t.replace(E,""),$[t]||t}const j={on(t,e,i,s){N(t,e,i,s,!1)},one(t,e,i,s){N(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,o,r]=D(e,i,s),a=r!==e,l=O(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))x(t,l,i,e.slice(1));for(const[i,s]of Object.entries(c)){const n=i.replace(C,"");a&&!e.includes(n)||P(t,l,r,s.callable,s.delegationSelector)}}else{if(!Object.keys(c).length)return;P(t,l,r,o,n?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=f();let n=null,o=!0,r=!0,a=!1;e!==M(e)&&s&&(n=s.Event(e,i),s(t).trigger(n),o=!n.isPropagationStopped(),r=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=F(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function F(t,e={}){for(const[i,s]of Object.entries(e))try{t[i]=s}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>s})}return t}function z(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 H(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${H(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${H(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const s of i){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=z(t.dataset[s])}return e},getDataAttribute:(t,e)=>z(t.getAttribute(`data-bs-${H(e)}`))};class q{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=l(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...l(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,n]of Object.entries(e)){const e=t[s],o=l(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${n}".`)}var i}}class W extends q{constructor(t,e){super(),(t=c(t))&&(this._element=t,this._config=this._getConfig(e),n.set(this._element,this.constructor.DATA_KEY,this))}dispose(){n.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){y(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return n.get(c(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 R=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=>r(t))).join(","):null},K={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 s=t.parentNode.closest(e);for(;s;)i.push(s),s=s.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=>!d(t)&&h(t)))},getSelectorFromElement(t){const e=R(t);return e&&K.findOne(e)?e:null},getElementFromSelector(t){const e=R(t);return e?K.findOne(e):null},getMultipleElementsFromSelector(t){const e=R(t);return e?K.find(e):[]}},V=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),d(this))return;const n=K.getElementFromSelector(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()}))},Q=".bs.alert",X=`close${Q}`,Y=`closed${Q}`;class U extends W{static get NAME(){return"alert"}close(){if(j.trigger(this._element,X).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(),j.trigger(this._element,Y),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=U.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)}}))}}V(U,"close"),b(U);const G='[data-bs-toggle="button"]';class J 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=J.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}j.on(document,"click.bs.button.data-api",G,(t=>{t.preventDefault();const e=t.target.closest(G);J.getOrCreateInstance(e).toggle()})),b(J);const Z=".bs.swipe",tt=`touchstart${Z}`,et=`touchmove${Z}`,it=`touchend${Z}`,st=`pointerdown${Z}`,nt=`pointerup${Z}`,ot={endCallback:null,leftCallback:null,rightCallback:null},rt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class at extends q{constructor(t,e){super(),this._element=t,t&&at.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"swipe"}dispose(){j.off(this._element,Z)}_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(),v(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&&v(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(j.on(this._element,st,(t=>this._start(t))),j.on(this._element,nt,(t=>this._end(t))),this._element.classList.add("pointer-event")):(j.on(this._element,tt,(t=>this._start(t))),j.on(this._element,et,(t=>this._move(t))),j.on(this._element,it,(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 lt=".bs.carousel",ct=".data-api",ht="next",dt="prev",ut="left",_t="right",gt=`slide${lt}`,ft=`slid${lt}`,mt=`keydown${lt}`,pt=`mouseenter${lt}`,bt=`mouseleave${lt}`,vt=`dragstart${lt}`,yt=`load${lt}${ct}`,wt=`click${lt}${ct}`,At="carousel",Et="active",Ct=".active",Tt=".carousel-item",kt=Ct+Tt,$t={ArrowLeft:_t,ArrowRight:ut},St={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Ot 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=K.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===At&&this.cycle()}static get Default(){return St}static get DefaultType(){return Lt}static get NAME(){return"carousel"}next(){this._slide(ht)}nextWhenVisible(){!document.hidden&&h(this._element)&&this.next()}prev(){this._slide(dt)}pause(){this._isSliding&&a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?j.one(this._element,ft,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,ft,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const s=t>i?ht:dt;this._slide(s,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&j.on(this._element,mt,(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,pt,(()=>this.pause())),j.on(this._element,bt,(()=>this._maybeEnableCycle()))),this._config.touch&&at.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of K.find(".carousel-item img",this._element))j.on(t,vt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ut)),rightCallback:()=>this._slide(this._directionToOrder(_t)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new at(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=$t[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=K.findOne(Ct,this._indicatorsElement);e.classList.remove(Et),e.removeAttribute("aria-current");const i=K.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Et),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(),s=t===ht,n=e||w(this._getItems(),i,s,this._config.wrap);if(n===i)return;const o=this._getItemIndex(n),r=e=>j.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(gt).defaultPrevented)return;if(!i||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=s?"carousel-item-start":"carousel-item-end",c=s?"carousel-item-next":"carousel-item-prev";n.classList.add(c),g(n),i.classList.add(l),n.classList.add(l),this._queueCallback((()=>{n.classList.remove(l,c),n.classList.add(Et),i.classList.remove(Et,c,l),this._isSliding=!1,r(ft)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return K.findOne(kt,this._element)}_getItems(){return K.find(Tt,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ut?dt:ht:t===ut?ht:dt}_orderToDirection(t){return p()?t===dt?ut:_t:t===dt?_t:ut}static jQueryInterface(t){return this.each((function(){const e=Ot.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)}))}}j.on(document,wt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=K.getElementFromSelector(this);if(!e||!e.classList.contains(At))return;t.preventDefault();const i=Ot.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),j.on(window,yt,(()=>{const t=K.find('[data-bs-ride="carousel"]');for(const e of t)Ot.getOrCreateInstance(e)})),b(Ot);const It=".bs.collapse",Dt=`show${It}`,Nt=`shown${It}`,Pt=`hide${It}`,xt=`hidden${It}`,Mt=`click${It}.data-api`,jt="show",Ft="collapse",zt="collapsing",Ht=`:scope .${Ft} .${Ft}`,Bt='[data-bs-toggle="collapse"]',qt={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Rt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=K.find(Bt);for(const t of i){const e=K.getSelectorFromElement(t),i=K.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 qt}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=>Rt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(j.trigger(this._element,Dt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ft),this._element.classList.add(zt),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(zt),this._element.classList.add(Ft,jt),this._element.style[e]="",j.trigger(this._element,Nt)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,Pt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,g(this._element),this._element.classList.add(zt),this._element.classList.remove(Ft,jt);for(const t of this._triggerArray){const e=K.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(zt),this._element.classList.add(Ft),j.trigger(this._element,xt)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(jt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=c(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Bt);for(const e of t){const t=K.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=K.find(Ht,this._config.parent);return K.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=Rt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,Mt,Bt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of K.getMultipleElementsFromSelector(this))Rt.getOrCreateInstance(t,{toggle:!1}).toggle()})),b(Rt);const Kt="dropdown",Vt=".bs.dropdown",Qt=".data-api",Xt="ArrowUp",Yt="ArrowDown",Ut=`hide${Vt}`,Gt=`hidden${Vt}`,Jt=`show${Vt}`,Zt=`shown${Vt}`,te=`click${Vt}${Qt}`,ee=`keydown${Vt}${Qt}`,ie=`keyup${Vt}${Qt}`,se="show",ne='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',oe=`${ne}.${se}`,re=".dropdown-menu",ae=p()?"top-end":"top-start",le=p()?"top-start":"top-end",ce=p()?"bottom-end":"bottom-start",he=p()?"bottom-start":"bottom-end",de=p()?"left-start":"right-start",ue=p()?"right-start":"left-start",_e={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ge={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class fe extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=K.next(this._element,re)[0]||K.prev(this._element,re)[0]||K.findOne(re,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return _e}static get DefaultType(){return ge}static get NAME(){return Kt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(d(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!j.trigger(this._element,Jt,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(se),this._element.classList.add(se),j.trigger(this._element,Zt,t)}}hide(){if(d(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!j.trigger(this._element,Ut,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._popper&&this._popper.destroy(),this._menu.classList.remove(se),this._element.classList.remove(se),this._element.setAttribute("aria-expanded","false"),B.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,Gt,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!l(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Kt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===i)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:l(this._config.reference)?t=c(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=i.createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(se)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return de;if(t.classList.contains("dropstart"))return ue;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?le:ae:e?he:ce}_detectNavbar(){return null!==this._element.closest(".navbar")}_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}_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)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...v(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=K.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>h(t)));i.length&&w(i,e,t===Yt,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=fe.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=K.find(oe);for(const i of e){const e=fe.getInstance(i);if(!e||!1===e._config.autoClose)continue;const s=t.composedPath(),n=s.includes(e._menu);if(s.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)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,s=[Xt,Yt].includes(t.key);if(!s&&!i)return;if(e&&!i)return;t.preventDefault();const n=this.matches(ne)?this:K.prev(this,ne)[0]||K.next(this,ne)[0]||K.findOne(ne,t.delegateTarget.parentNode),o=fe.getOrCreateInstance(n);if(s)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),n.focus())}}j.on(document,ee,ne,fe.dataApiKeydownHandler),j.on(document,ee,re,fe.dataApiKeydownHandler),j.on(document,te,fe.clearMenus),j.on(document,ie,fe.clearMenus),j.on(document,te,ne,(function(t){t.preventDefault(),fe.getOrCreateInstance(this).toggle()})),b(fe);const me="backdrop",pe="show",be=`mousedown.bs.${me}`,ve={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},ye={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class we extends q{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return ve}static get DefaultType(){return ye}static get NAME(){return me}show(t){if(!this._config.isVisible)return void v(t);this._append();const e=this._getElement();this._config.isAnimated&&g(e),e.classList.add(pe),this._emulateAnimation((()=>{v(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(pe),this._emulateAnimation((()=>{this.dispose(),v(t)}))):v(t)}dispose(){this._isAppended&&(j.off(this._element,be),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=c(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),j.on(t,be,(()=>{v(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const Ae=".bs.focustrap",Ee=`focusin${Ae}`,Ce=`keydown.tab${Ae}`,Te="backward",ke={autofocus:!0,trapElement:null},$e={autofocus:"boolean",trapElement:"element"};class Se extends q{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ke}static get DefaultType(){return $e}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),j.off(document,Ae),j.on(document,Ee,(t=>this._handleFocusin(t))),j.on(document,Ce,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,Ae))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=K.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Te?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Te:"forward")}}const Le=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Oe=".sticky-top",Ie="padding-right",De="margin-right";class Ne{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,Ie,(e=>e+t)),this._setElementAttributes(Le,Ie,(e=>e+t)),this._setElementAttributes(Oe,De,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ie),this._resetElementAttributes(Le,Ie),this._resetElementAttributes(Oe,De)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(l(t))e(t);else for(const i of K.find(t,this._element))e(i)}}const Pe=".bs.modal",xe=`hide${Pe}`,Me=`hidePrevented${Pe}`,je=`hidden${Pe}`,Fe=`show${Pe}`,ze=`shown${Pe}`,He=`resize${Pe}`,Be=`click.dismiss${Pe}`,qe=`mousedown.dismiss${Pe}`,We=`keydown.dismiss${Pe}`,Re=`click${Pe}.data-api`,Ke="modal-open",Ve="show",Qe="modal-static",Xe={backdrop:!0,focus:!0,keyboard:!0},Ye={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ue extends W{constructor(t,e){super(t,e),this._dialog=K.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ne,this._addEventListeners()}static get Default(){return Xe}static get DefaultType(){return Ye}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,Fe,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Ke),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(j.trigger(this._element,xe).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Ve),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){j.off(window,Pe),j.off(this._dialog,Pe),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new we({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Se({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=K.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),g(this._element),this._element.classList.add(Ve),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,ze,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){j.on(this._element,We,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),j.on(window,He,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),j.on(this._element,qe,(t=>{j.one(this._element,Be,(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(Ke),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,je)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,Me).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Qe)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Qe),this._queueCallback((()=>{this._element.classList.remove(Qe),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=Ue.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,Re,'[data-bs-toggle="modal"]',(function(t){const e=K.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,Fe,(t=>{t.defaultPrevented||j.one(e,je,(()=>{h(this)&&this.focus()}))}));const i=K.findOne(".modal.show");i&&Ue.getInstance(i).hide(),Ue.getOrCreateInstance(e).toggle(this)})),V(Ue),b(Ue);const Ge=".bs.offcanvas",Je=".data-api",Ze=`load${Ge}${Je}`,ti="show",ei="showing",ii="hiding",si=".offcanvas.show",ni=`show${Ge}`,oi=`shown${Ge}`,ri=`hide${Ge}`,ai=`hidePrevented${Ge}`,li=`hidden${Ge}`,ci=`resize${Ge}`,hi=`click${Ge}${Je}`,di=`keydown.dismiss${Ge}`,ui={backdrop:!0,keyboard:!0,scroll:!1},_i={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class gi 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 ui}static get DefaultType(){return _i}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,ni,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ne).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ei),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(ti),this._element.classList.remove(ei),j.trigger(this._element,oi,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,ri).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ii),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(ti,ii),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ne).reset(),j.trigger(this._element,li)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new we({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():j.trigger(this._element,ai)}:null})}_initializeFocusTrap(){return new Se({trapElement:this._element})}_addEventListeners(){j.on(this._element,di,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():j.trigger(this._element,ai))}))}static jQueryInterface(t){return this.each((function(){const e=gi.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)}}))}}j.on(document,hi,'[data-bs-toggle="offcanvas"]',(function(t){const e=K.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this))return;j.one(e,li,(()=>{h(this)&&this.focus()}));const i=K.findOne(si);i&&i!==e&&gi.getInstance(i).hide(),gi.getOrCreateInstance(e).toggle(this)})),j.on(window,Ze,(()=>{for(const t of K.find(si))gi.getOrCreateInstance(t).show()})),j.on(window,ci,(()=>{for(const t of K.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&gi.getOrCreateInstance(t).hide()})),V(gi),b(gi);const fi={"*":["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:[]},mi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),pi=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,bi=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!mi.has(i)||Boolean(pi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},vi={allowList:fi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},wi={entry:"(string|element|function|null)",selector:"(string|element)"};class Ai extends q{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return vi}static get DefaultType(){return yi}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},wi)}_setContent(t,e,i){const s=K.findOne(i,t);s&&((e=this._resolvePossibleFunction(e))?l(e)?this._putElementInTemplate(c(e),s):this._config.html?s.innerHTML=this._maybeSanitize(e):s.textContent=e:s.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 s=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...s.body.querySelectorAll("*"));for(const t of n){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const s=[].concat(...t.attributes),n=[].concat(e["*"]||[],e[i]||[]);for(const e of s)bi(e,n)||t.removeAttribute(e.nodeName)}return s.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return v(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ei=new Set(["sanitize","allowList","sanitizeFn"]),Ci="fade",Ti="show",ki=".modal",$i="hide.bs.modal",Si="hover",Li="focus",Oi={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},Ii={allowList:fi,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"},Di={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 Ni extends W{constructor(t,e){if(void 0===i)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 Ii}static get DefaultType(){return Di}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),j.off(this._element.closest(ki),$i,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=j.trigger(this._element,this.constructor.eventName("show")),e=(u(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:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(i),j.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(Ti),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._queueCallback((()=>{j.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!j.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(Ti),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._activeTrigger.click=!1,this._activeTrigger[Li]=!1,this._activeTrigger[Si]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),j.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(Ci,Ti),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(Ci),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ai({...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(Ci)}_isShown(){return this.tip&&this.tip.classList.contains(Ti)}_createPopper(t){const e=v(this._config.placement,[this,t,this._element]),s=Oi[e.toUpperCase()];return i.createPopper(this._element,t,this._getPopperConfig(s))}_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 v(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,...v(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)j.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===Si?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===Si?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");j.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Li:Si]=!0,e._enter()})),j.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Li:Si]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ki),$i,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=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ei.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:c(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=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(Ni);const Pi={...Ni.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},xi={...Ni.DefaultType,content:"(null|string|element|function)"};class Mi extends Ni{static get Default(){return Pi}static get DefaultType(){return xi}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=Mi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(Mi);const ji=".bs.scrollspy",Fi=`activate${ji}`,zi=`click${ji}`,Hi=`load${ji}.data-api`,Bi="active",qi="[href]",Wi=".nav-link",Ri=`${Wi}, .nav-item > ${Wi}, .list-group-item`,Ki={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Vi={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Qi 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 Ki}static get DefaultType(){return Vi}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=c(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&&(j.off(this._config.target,zi),j.on(this._config.target,zi,qi,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,s=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:s,behavior:"smooth"});i.scrollTop=s}})))}_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))},s=(this._rootElement||document.documentElement).scrollTop,n=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;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(n&&t){if(i(o),!s)return}else n||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=K.find(qi,this._config.target);for(const e of t){if(!e.hash||d(e))continue;const t=K.findOne(decodeURI(e.hash),this._element);h(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(Bi),this._activateParents(t),j.trigger(this._element,Fi,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))K.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Bi);else for(const e of K.parents(t,".nav, .list-group"))for(const t of K.prev(e,Ri))t.classList.add(Bi)}_clearActiveClass(t){t.classList.remove(Bi);const e=K.find(`${qi}.${Bi}`,t);for(const t of e)t.classList.remove(Bi)}static jQueryInterface(t){return this.each((function(){const e=Qi.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]()}}))}}j.on(window,Hi,(()=>{for(const t of K.find('[data-bs-spy="scroll"]'))Qi.getOrCreateInstance(t)})),b(Qi);const Xi=".bs.tab",Yi=`hide${Xi}`,Ui=`hidden${Xi}`,Gi=`show${Xi}`,Ji=`shown${Xi}`,Zi=`click${Xi}`,ts=`keydown${Xi}`,es=`load${Xi}`,is="ArrowLeft",ss="ArrowRight",ns="ArrowUp",os="ArrowDown",rs="Home",as="End",ls="active",cs="fade",hs="show",ds=".dropdown-toggle",us=`:not(${ds})`,_s='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',gs=`.nav-link${us}, .list-group-item${us}, [role="tab"]${us}, ${_s}`,fs=`.${ls}[data-bs-toggle="tab"], .${ls}[data-bs-toggle="pill"], .${ls}[data-bs-toggle="list"]`;class ms extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),j.on(this._element,ts,(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?j.trigger(e,Yi,{relatedTarget:t}):null;j.trigger(t,Gi,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(ls),this._activate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),j.trigger(t,Ji,{relatedTarget:e})):t.classList.add(hs)}),t,t.classList.contains(cs)))}_deactivate(t,e){t&&(t.classList.remove(ls),t.blur(),this._deactivate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),j.trigger(t,Ui,{relatedTarget:e})):t.classList.remove(hs)}),t,t.classList.contains(cs)))}_keydown(t){if(![is,ss,ns,os,rs,as].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!d(t)));let i;if([rs,as].includes(t.key))i=e[t.key===rs?0:e.length-1];else{const s=[ss,os].includes(t.key);i=w(e,t.target,s,!0)}i&&(i.focus({preventScroll:!0}),ms.getOrCreateInstance(i).show())}_getChildren(){return K.find(gs,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=K.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 s=(t,s)=>{const n=K.findOne(t,i);n&&n.classList.toggle(s,e)};s(ds,ls),s(".dropdown-menu",hs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(ls)}_getInnerElement(t){return t.matches(gs)?t:K.findOne(gs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=ms.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,Zi,_s,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this)||ms.getOrCreateInstance(this).show()})),j.on(window,es,(()=>{for(const t of K.find(fs))ms.getOrCreateInstance(t)})),b(ms);const ps=".bs.toast",bs=`mouseover${ps}`,vs=`mouseout${ps}`,ys=`focusin${ps}`,ws=`focusout${ps}`,As=`hide${ps}`,Es=`hidden${ps}`,Cs=`show${ps}`,Ts=`shown${ps}`,ks="hide",$s="show",Ss="showing",Ls={animation:"boolean",autohide:"boolean",delay:"number"},Os={animation:!0,autohide:!0,delay:5e3};class Is extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Os}static get DefaultType(){return Ls}static get NAME(){return"toast"}show(){j.trigger(this._element,Cs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(ks),g(this._element),this._element.classList.add($s,Ss),this._queueCallback((()=>{this._element.classList.remove(Ss),j.trigger(this._element,Ts),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(j.trigger(this._element,As).defaultPrevented||(this._element.classList.add(Ss),this._queueCallback((()=>{this._element.classList.add(ks),this._element.classList.remove(Ss,$s),j.trigger(this._element,Es)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($s),super.dispose()}isShown(){return this._element.classList.contains($s)}_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(){j.on(this._element,bs,(t=>this._onInteraction(t,!0))),j.on(this._element,vs,(t=>this._onInteraction(t,!1))),j.on(this._element,ys,(t=>this._onInteraction(t,!0))),j.on(this._element,ws,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Is.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return V(Is),b(Is),{Alert:U,Button:J,Carousel:Ot,Collapse:Rt,Dropdown:fe,Modal:Ue,Offcanvas:gi,Popover:Mi,ScrollSpy:Qi,Tab:ms,Toast:Is,Tooltip:Ni}})); diff --git a/_resources/js/popper.min.js b/_resources/js/popper.min.js new file mode 100644 index 0000000..2130109 --- /dev/null +++ b/_resources/js/popper.min.js @@ -0,0 +1,6 @@ +/** + * @popperjs/core v2.11.8 - MIT License + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Popper={})}(this,(function(e){"use strict";function t(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function n(e){return e instanceof t(e).Element||e instanceof Element}function r(e){return e instanceof t(e).HTMLElement||e instanceof HTMLElement}function o(e){return"undefined"!=typeof ShadowRoot&&(e instanceof t(e).ShadowRoot||e instanceof ShadowRoot)}var i=Math.max,a=Math.min,s=Math.round;function f(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function c(){return!/^((?!chrome|android).)*safari/i.test(f())}function p(e,o,i){void 0===o&&(o=!1),void 0===i&&(i=!1);var a=e.getBoundingClientRect(),f=1,p=1;o&&r(e)&&(f=e.offsetWidth>0&&s(a.width)/e.offsetWidth||1,p=e.offsetHeight>0&&s(a.height)/e.offsetHeight||1);var u=(n(e)?t(e):window).visualViewport,l=!c()&&i,d=(a.left+(l&&u?u.offsetLeft:0))/f,h=(a.top+(l&&u?u.offsetTop:0))/p,m=a.width/f,v=a.height/p;return{width:m,height:v,top:h,right:d+m,bottom:h+v,left:d,x:d,y:h}}function u(e){var n=t(e);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function l(e){return e?(e.nodeName||"").toLowerCase():null}function d(e){return((n(e)?e.ownerDocument:e.document)||window.document).documentElement}function h(e){return p(d(e)).left+u(e).scrollLeft}function m(e){return t(e).getComputedStyle(e)}function v(e){var t=m(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function y(e,n,o){void 0===o&&(o=!1);var i,a,f=r(n),c=r(n)&&function(e){var t=e.getBoundingClientRect(),n=s(t.width)/e.offsetWidth||1,r=s(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(n),m=d(n),y=p(e,c,o),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(f||!f&&!o)&&(("body"!==l(n)||v(m))&&(g=(i=n)!==t(i)&&r(i)?{scrollLeft:(a=i).scrollLeft,scrollTop:a.scrollTop}:u(i)),r(n)?((b=p(n,!0)).x+=n.clientLeft,b.y+=n.clientTop):m&&(b.x=h(m))),{x:y.left+g.scrollLeft-b.x,y:y.top+g.scrollTop-b.y,width:y.width,height:y.height}}function g(e){var t=p(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function b(e){return"html"===l(e)?e:e.assignedSlot||e.parentNode||(o(e)?e.host:null)||d(e)}function x(e){return["html","body","#document"].indexOf(l(e))>=0?e.ownerDocument.body:r(e)&&v(e)?e:x(b(e))}function w(e,n){var r;void 0===n&&(n=[]);var o=x(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=t(o),s=i?[a].concat(a.visualViewport||[],v(o)?o:[]):o,f=n.concat(s);return i?f:f.concat(w(b(s)))}function O(e){return["table","td","th"].indexOf(l(e))>=0}function j(e){return r(e)&&"fixed"!==m(e).position?e.offsetParent:null}function E(e){for(var n=t(e),i=j(e);i&&O(i)&&"static"===m(i).position;)i=j(i);return i&&("html"===l(i)||"body"===l(i)&&"static"===m(i).position)?n:i||function(e){var t=/firefox/i.test(f());if(/Trident/i.test(f())&&r(e)&&"fixed"===m(e).position)return null;var n=b(e);for(o(n)&&(n=n.host);r(n)&&["html","body"].indexOf(l(n))<0;){var i=m(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||n}var D="top",A="bottom",L="right",P="left",M="auto",k=[D,A,L,P],W="start",B="end",H="viewport",T="popper",R=k.reduce((function(e,t){return e.concat([t+"-"+W,t+"-"+B])}),[]),S=[].concat(k,[M]).reduce((function(e,t){return e.concat([t,t+"-"+W,t+"-"+B])}),[]),V=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function q(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function C(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&o(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function N(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function I(e,r,o){return r===H?N(function(e,n){var r=t(e),o=d(e),i=r.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,p=0;if(i){a=i.width,s=i.height;var u=c();(u||!u&&"fixed"===n)&&(f=i.offsetLeft,p=i.offsetTop)}return{width:a,height:s,x:f+h(e),y:p}}(e,o)):n(r)?function(e,t){var n=p(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(r,o):N(function(e){var t,n=d(e),r=u(e),o=null==(t=e.ownerDocument)?void 0:t.body,a=i(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=i(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+h(e),c=-r.scrollTop;return"rtl"===m(o||n).direction&&(f+=i(n.clientWidth,o?o.clientWidth:0)-a),{width:a,height:s,x:f,y:c}}(d(e)))}function _(e,t,o,s){var f="clippingParents"===t?function(e){var t=w(b(e)),o=["absolute","fixed"].indexOf(m(e).position)>=0&&r(e)?E(e):e;return n(o)?t.filter((function(e){return n(e)&&C(e,o)&&"body"!==l(e)})):[]}(e):[].concat(t),c=[].concat(f,[o]),p=c[0],u=c.reduce((function(t,n){var r=I(e,n,s);return t.top=i(r.top,t.top),t.right=a(r.right,t.right),t.bottom=a(r.bottom,t.bottom),t.left=i(r.left,t.left),t}),I(e,p,s));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function F(e){return e.split("-")[0]}function U(e){return e.split("-")[1]}function z(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function X(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?F(o):null,a=o?U(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case D:t={x:s,y:n.y-r.height};break;case A:t={x:s,y:n.y+n.height};break;case L:t={x:n.x+n.width,y:f};break;case P:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?z(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case W:t[c]=t[c]-(n[p]/2-r[p]/2);break;case B:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}function Y(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function G(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function J(e,t){void 0===t&&(t={});var r=t,o=r.placement,i=void 0===o?e.placement:o,a=r.strategy,s=void 0===a?e.strategy:a,f=r.boundary,c=void 0===f?"clippingParents":f,u=r.rootBoundary,l=void 0===u?H:u,h=r.elementContext,m=void 0===h?T:h,v=r.altBoundary,y=void 0!==v&&v,g=r.padding,b=void 0===g?0:g,x=Y("number"!=typeof b?b:G(b,k)),w=m===T?"reference":T,O=e.rects.popper,j=e.elements[y?w:m],E=_(n(j)?j:j.contextElement||d(e.elements.popper),c,l,s),P=p(e.elements.reference),M=X({reference:P,element:O,strategy:"absolute",placement:i}),W=N(Object.assign({},O,M)),B=m===T?W:P,R={top:E.top-B.top+x.top,bottom:B.bottom-E.bottom+x.bottom,left:E.left-B.left+x.left,right:B.right-E.right+x.right},S=e.modifiersData.offset;if(m===T&&S){var V=S[i];Object.keys(R).forEach((function(e){var t=[L,A].indexOf(e)>=0?1:-1,n=[D,A].indexOf(e)>=0?"y":"x";R[e]+=V[n]*t}))}return R}var K={placement:"bottom",modifiers:[],strategy:"absolute"};function Q(){for(var e=arguments.length,t=new Array(e),n=0;n=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[P,L].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}},se={left:"right",right:"left",bottom:"top",top:"bottom"};function fe(e){return e.replace(/left|right|bottom|top/g,(function(e){return se[e]}))}var ce={start:"end",end:"start"};function pe(e){return e.replace(/start|end/g,(function(e){return ce[e]}))}function ue(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?S:f,p=U(r),u=p?s?R:R.filter((function(e){return U(e)===p})):k,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=J(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[F(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}var le={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,y=F(v),g=f||(y===v||!h?[fe(v)]:function(e){if(F(e)===M)return[];var t=fe(e);return[pe(e),t,pe(t)]}(v)),b=[v].concat(g).reduce((function(e,n){return e.concat(F(n)===M?ue(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,w=t.rects.popper,O=new Map,j=!0,E=b[0],k=0;k=0,S=R?"width":"height",V=J(t,{placement:B,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),q=R?T?L:P:T?A:D;x[S]>w[S]&&(q=fe(q));var C=fe(q),N=[];if(i&&N.push(V[H]<=0),s&&N.push(V[q]<=0,V[C]<=0),N.every((function(e){return e}))){E=B,j=!1;break}O.set(B,N)}if(j)for(var I=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},_=h?3:1;_>0;_--){if("break"===I(_))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function de(e,t,n){return i(e,a(t,n))}var he={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,s=void 0===o||o,f=n.altAxis,c=void 0!==f&&f,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,v=n.tetherOffset,y=void 0===v?0:v,b=J(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),x=F(t.placement),w=U(t.placement),O=!w,j=z(x),M="x"===j?"y":"x",k=t.modifiersData.popperOffsets,B=t.rects.reference,H=t.rects.popper,T="function"==typeof y?y(Object.assign({},t.rects,{placement:t.placement})):y,R="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,V={x:0,y:0};if(k){if(s){var q,C="y"===j?D:P,N="y"===j?A:L,I="y"===j?"height":"width",_=k[j],X=_+b[C],Y=_-b[N],G=m?-H[I]/2:0,K=w===W?B[I]:H[I],Q=w===W?-H[I]:-B[I],Z=t.elements.arrow,$=m&&Z?g(Z):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[C],ne=ee[N],re=de(0,B[I],$[I]),oe=O?B[I]/2-G-re-te-R.mainAxis:K-re-te-R.mainAxis,ie=O?-B[I]/2+G+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=t.elements.arrow&&E(t.elements.arrow),se=ae?"y"===j?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(q=null==S?void 0:S[j])?q:0,ce=_+ie-fe,pe=de(m?a(X,_+oe-fe-se):X,_,m?i(Y,ce):Y);k[j]=pe,V[j]=pe-_}if(c){var ue,le="x"===j?D:P,he="x"===j?A:L,me=k[M],ve="y"===M?"height":"width",ye=me+b[le],ge=me-b[he],be=-1!==[D,P].indexOf(x),xe=null!=(ue=null==S?void 0:S[M])?ue:0,we=be?ye:me-B[ve]-H[ve]-xe+R.altAxis,Oe=be?me+B[ve]+H[ve]-xe-R.altAxis:ge,je=m&&be?function(e,t,n){var r=de(e,t,n);return r>n?n:r}(we,me,Oe):de(m?we:ye,me,m?Oe:ge);k[M]=je,V[M]=je-me}t.modifiersData[r]=V}},requiresIfExists:["offset"]};var me={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=F(n.placement),f=z(s),c=[P,L].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return Y("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:G(e,k))}(o.padding,n),u=g(i),l="y"===f?D:P,d="y"===f?A:L,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],v=E(i),y=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,b=h/2-m/2,x=p[l],w=y-u[c]-p[d],O=y/2-u[c]/2+b,j=de(x,O,w),M=f;n.modifiersData[r]=((t={})[M]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&C(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ve(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ye(e){return[D,L,A,P].some((function(t){return e[t]>=0}))}var ge={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=J(t,{elementContext:"reference"}),s=J(t,{altBoundary:!0}),f=ve(a,r),c=ve(s,o,i),p=ye(f),u=ye(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}},be=Z({defaultModifiers:[ee,te,oe,ie]}),xe=[ee,te,oe,ie,ae,le,he,me,ge],we=Z({defaultModifiers:xe});e.applyStyles=ie,e.arrow=me,e.computeStyles=oe,e.createPopper=we,e.createPopperLite=be,e.defaultModifiers=xe,e.detectOverflow=J,e.eventListeners=ee,e.flip=le,e.hide=ge,e.offset=ae,e.popperGenerator=Z,e.popperOffsets=te,e.preventOverflow=he,Object.defineProperty(e,"__esModule",{value:!0})})); + diff --git a/_resources/js/theme.min.js b/_resources/js/theme.min.js new file mode 100644 index 0000000..f9bb559 --- /dev/null +++ b/_resources/js/theme.min.js @@ -0,0 +1 @@ +(()=>{const a="code-block-hide";if(navigator.clipboard||navigator.clipboard.writeText){const o=e=>{var t=e.querySelector(".code-block-copy-icon"),o=e.querySelector(".code-block-check-icon"),e=e.querySelector(".code-block-check-tooltip");t.classList.toggle(a),o.classList.toggle(a),e.classList.toggle(a)};[...document.querySelectorAll(".code-block-copy")].forEach(e=>{e.addEventListener("click",e=>{const t=e.target.closest(".code-block-wrapper");e=t.querySelector(".code-block");e?(navigator.clipboard.writeText(e.textContent),o(t),setTimeout(()=>{o(t)},3e3)):console.warn("Cannot copy code as no code block is available!")})})}else console.info('"navigator.clipboard.writeText" is not available. Update to a modern browser to copy code to the system\'s clipboard')})(),[].slice.call(document.querySelectorAll(".code-inline[aria-description]")).map(function(e){var t=e.getAttribute("aria-description"),o=e.getAttribute("aria-details");return new bootstrap.Popover(e,{title:o?t:"",content:o||t,trigger:"hover",placement:"bottom"})}),(()=>{const l="#permalink-uri",s="#permalink-html";function d(a){const n=a.querySelector("#permalink-alert-success");var e=a.querySelectorAll(".copy-button");navigator.clipboard&&navigator.clipboard.writeText?e.forEach(e=>{e.addEventListener("click",function(){var e,t,o=this.getAttribute("data-target"),o=a.querySelector("#"+o);o?(n.classList.remove("d-none"),n.innerHTML=`Snippet ${e=o.value,t=document.createElement("div"),t.textContent=e,t.innerHTML} was copied to your clipboard.`,navigator.clipboard.writeText(o.value)):console.warn("Cannot copy link as no input is available!")})}):(console.info('"navigator.clipboard.writeText" is not available. Update to a modern browser to copy code to the system\'s clipboard'),e.forEach(e=>e.disabled=!0))}const u=document.querySelector("#linkReferenceModal");u.addEventListener("show.bs.modal",function(e){var t,e=e.relatedTarget,o=e.closest("section"),a=e.dataset.id||(o?o.dataset.rstAnchor:null),n=e.closest("h1, h2, h3, h4, h5, h6, dt"),n=n?n.innerText:"",r=e.dataset.rstcode,e=e.title,c=(c=u,i=a||r,c=c.querySelector(".alert-permalink-rst"),i?c.classList.add("d-none"):c.classList.remove("d-none"),i=o,c=a,"null"===window.location.origin||"file://"===window.location.origin?null:c?""+window.location.origin+window.location.pathname+"#"+c:""+window.location.origin+window.location.pathname+"#"+(i?.id||"")),i=u.dataset.currentFilename,a=r||(r=u,o=o,t=n,a=a,i=i,r=r.dataset.interlinkShortcode||"somemanual",a?`:ref:\`${t} <${r}:${a}>\``:""===i?"":`:doc:\`${t} <${r}:${i}#${o?.id||""}>\``);t=u,r=n,i=c,o=a,(n=e)&&(t.querySelector("h5").innerHTML=n),null===i?(t.querySelector(l).value="",t.querySelector(s).value=""):(t.querySelector(l).value=i,t.querySelector(s).value=`${r}`),n=t.querySelector("#permalink-rst"),i=n.closest("div"),""===o?i.classList.add("d-none"):(i.classList.remove("d-none"),n.value=o),d(u)})})(),(()=>{"use strict";function o(e){e.preventDefault();const t=e.currentTarget.parentElement.parentElement;e=t.parentElement.parentElement.querySelectorAll("li.active");Array.from(e).forEach(e=>{e!==t&&e.classList.remove("active")}),t.classList.toggle("active")}var e;e=document.getElementsByClassName("main_menu"),Array.from(e).forEach(e=>{e=e.getElementsByTagName("a");Array.from(e).forEach(e=>{var t;e.nextSibling&&((t=document.createElement("span")).classList.add("toctree-expand"),t.addEventListener("click",o,!0),e.prepend(t))})})})(),window.addEventListener("load",()=>{var e,t,o=window.location.pathname.match(/^\/(c|m|p|h|other)\/[A-Za-z0-9\-_]+\/[A-Za-z0-9\-_]+\/[A-Za-z0-9\-.]+\/[A-Za-z0-9\-]+\/(Changelog\/[A-Za-z0-9\-.]+\/)?/),o=o?o[0]:null;o&&(e=document.getElementById("searchscope"),(t=document.createElement("option")).value=o,t.text="Search current",e.add(t))}),(()=>{"use strict";const t="https://docs.typo3.org/services/ajaxversions.php?url=";var e=document.getElementById("toc-version");e&&e.addEventListener("click",function(){var e=document.getElementById("toc-version-wrapper");const a=document.getElementById("toc-version-options");e.classList.toggle("toc-version-wrapper-active"),a.dataset.ready||async function(){var e=t+encodeURI(document.URL);return(e=await fetch(e)).ok?e.text():""}().then(e=>{var t,o;""===e&&(e="

No data available.

"),t=a,e=e,(o=document.createElement("dl")).innerHTML=e,t.innerHTML="",t.appendChild(o),a.dataset.ready="true"})})})(); \ No newline at end of file diff --git a/_sources/Administration/Index.rst.txt b/_sources/Administration/Index.rst.txt new file mode 100644 index 0000000..c8f4be8 --- /dev/null +++ b/_sources/Administration/Index.rst.txt @@ -0,0 +1,59 @@ +.. include:: /Includes.rst.txt + +.. _administration: + +============== +Administration +============== + +Installation for both TYPO3 CMS installation types (manual/composer) +are supported. For both a compatible installation is provided. + + +Manual installations +-------------------- + +Download the extension recaptcha either with the browser from typo3.org_ +or github_ and upload it into the installation in the admin tools extensions, +or directly in the admin tools extensions with the integrated search. + + +Composer installations +---------------------- + +On the console in the folder where the project composer.json resides +just type: + +.. code-block:: bash + :caption: Installation via composer + + composer require evoweb/recaptcha ^8.2 + composer update + + +Activation +---------- + +After the extension is installed by either way you always need to activate +it. Normally this is done in the admin tools extensions. But its also possible +to activate it via console: + +.. code-block:: bash + :caption: Activate extension on shell + + $ ./bin/typo3 extensionmanager:extension:install recaptcha + + +Configuration +------------- + +If, the captcha should be usable in backend context or you like to have +a default configuration without touching TypoScript, the extensions +need to be configured in the admin tools extensions. Via the cog as shown +on the screenshot. + +.. figure:: Images/configure.png + :alt: Configure extension settings + +.. _typo3.org: http://extenions.typo3.org/ +.. _github: https://github.com/evoweb/recaptcha diff --git a/_sources/BreakingChanges/Index.rst.txt b/_sources/BreakingChanges/Index.rst.txt new file mode 100644 index 0000000..59f4687 --- /dev/null +++ b/_sources/BreakingChanges/Index.rst.txt @@ -0,0 +1,29 @@ +.. include:: /Includes.rst.txt + +.. _breaking-changes: + +================ +Breaking Changes +================ + +13. August 2023 +=============== + +Partials +-------- + +Frontend partials have be changed. If modified check if your partials on changed +made to hidden fields. + +Configuration removed +--------------------- + +TypoScript setup + - invisibleCallback + - captchaCssClass + +TypoScript constants + - invisible_recaptcha_formname + - include_invisible_recaptcha_callback + +Remove support for EXT:formhandler diff --git a/_sources/Configuration/Index.rst.txt b/_sources/Configuration/Index.rst.txt new file mode 100644 index 0000000..a72ed8b --- /dev/null +++ b/_sources/Configuration/Index.rst.txt @@ -0,0 +1,213 @@ +.. include:: /Includes.rst.txt + +.. _configuration: + +============= +Configuration +============= + +Backend related +=============== + +If you like to use the recaptcha service in backend context, you have +to make sure that the settings are set in the admin tools extensions. + + +Frontend related +================ + +For all frontend usage of the recaptcha service the backend settings +are taken and then overridden with TypoScript. But setting the backend +portion is optional. If these are empty the TypoScript configuration is +mandatory. + + +Reference +========= + +Following parameter are available as constants. And with the same +name also as setup parameter. + +plugin.tx\_recaptcha: + +.. ### BEGIN~OF~TABLE ### + +.. container:: table-row + + Property + api_server + + Data type + string + + Default + https://www.google.com/recaptcha/api.js + + Description + This url is used to include the basic frontend functionality. + In general it's not necessary to modify this url. In case + that the api changes and the extension is not updated quick + enough changing this parameter keeps the frontend working. + + +.. container:: table-row + + Property + verify_server + + Data type + string + + Default + https://www.google.com/recaptcha/api/siteverify + + Description + Every verification uses this url to check if the captcha was + solved. + In general it's not necessary to modify this url. In case + that the api changes and the extension is not updated quick + enough changing this parameter keeps the validation working. + + +.. container:: table-row + + Property + public_key + + Data type + string + + Default + 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI + + Description + The public key is needed for the frontend rendering. + + Google provides a key for automatic testing purpose and this + is used as default. + To remove the warning that is caused by using the default key + please go to the recaptcha admin_ and register an own key for + use in your site. + + +.. container:: table-row + + Property + private_key + + Data type + string + + Default + 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe + + Description + The public key is needed for the validation of submits. + + Google provides a key for automatic testing purpose and this + is used as default. + To remove the warning that is caused by using the default key + please go to the recaptcha admin_ and register an own key for + use in your site. + + +.. container:: table-row + + Property + lang + + Data type + string + + Default + empty + + Description + Recaptcha is very good in automatic detecting which language + to use based on the users browser settings and with which IP + the page get's visited. + Only in case if it is really necessary set this parameter to + take influence on the rendered language. + + +.. container:: table-row + + Property + enforceCaptcha + + Data type + bool + + Default + 0 + + + Description + This configuration parameter will enforce the captcha to test + the functionality on development systems. + EXT:recaptcha uses the application context to detect if an + installation is running in Development mode. If so the captcha + is not rendered or validated. + This is a to reduce external calls and b to not bother the + integrator every time he has to test forms. Because after a + limited amount of tests the captcha testing games must always + be solved instead only clicking a checkbox. + + +.. container:: table-row + + Property + invisibleCallback + + Data type + string + + Default + onRecaptchaSubmit + + Description + [Only TypoScript] + For invisible reCAPTCHA its necessary to have a callback + function in JavaScript. It is possible to have own code + that derives from the included. If in this case the name + of the callback is changed please adjust this parameter + to match the new name. + + +.. container:: table-row + + Property + theme + + Data type + string + + Default + light + + Description + [Only TypoScript] + For change the theme for recaptcha (light or dark). + + + +.. container:: table-row + + Property + robotMode + + Data type + bool + + Default + 0 + + Description + [Only TypoScript] + Add the possibility to set the recaptcha into robot mode in production environment. + The recaptcha will not be displayed like in development mode. + + +.. ###### END~OF~TABLE ###### + +.. _admin: https://www.google.com/recaptcha/admin diff --git a/_sources/ContentSecurityPolicy/Index.rst.txt b/_sources/ContentSecurityPolicy/Index.rst.txt new file mode 100644 index 0000000..1fc8f9e --- /dev/null +++ b/_sources/ContentSecurityPolicy/Index.rst.txt @@ -0,0 +1,50 @@ +.. include:: /Includes.rst.txt + +.. _csp: + +======================= +Content Security Policy +======================= + + +Reason +====== + +Since TYPO3 12 handling of content security policies are introduced. If this +feature is active, the recaptcha javascript can not be loaded without additional +configuration. + + +CSP Configuration +================= + +To get the recaptcha working with csp feature active, it's necessary to add an +extending mutation to the site configuration in a csp.yaml named file. + +.. code-block:: yaml + :caption: project_root/config/sites/main/csp.yaml + + inheritDefault: true + mutations: + - mode: extend + directive: 'frame-src' + sources: + - 'https://www.google.com/recaptcha/' + - 'https://recaptcha.google.com/recaptcha/' + + - mode: extend + directive: 'script-src' + sources: + - 'https://www.google.com/recaptcha/' + - 'https://www.gstatic.com/recaptcha/' + + +Template modifications +====================== + +In previous releases some onclick javascript was used. While the CSP rules are +in place, this should be omitted. Some code was moved to the Frontend/form.js. +Other was replaced with hidden inputs. + +If you override the Frontend/Partials/Form/Navigation.html please check if it's +in line with the provided file. diff --git a/_sources/Index.rst.txt b/_sources/Index.rst.txt new file mode 100644 index 0000000..12b2448 --- /dev/null +++ b/_sources/Index.rst.txt @@ -0,0 +1,64 @@ +.. include:: /Includes.rst.txt + +======================================= +reCAPTCHA: Easy on Humans, Hard on Bots +======================================= + +:Extension Key: + recaptcha + +:Package name: + evoweb/recaptcha + +:Version: + |release| + +:Language: + en + +:Description: + Extension to provide reCAPTCHA and invisible reCAPTCHA to form related actions. + +:Copyright: + 2015-2024 + +:Author: + Sebastian Fischer + +:License: + This document is published under the + `Open Publication `__. + license. + +:Rendered: + |today| + +---- + +The content of this document is related to TYPO3, +a GNU/GPL CMS/Framework available from http://typo3.org + +---- + +**Table of Contents:** + +.. toctree:: + :maxdepth: 2 + :titlesonly: + + Introduction/Index + UsersManual/Index + Administration/Index + BreakingChanges/Index + Configuration/Index + ContentSecurityPolicy/Index + Integration/Index + Templating/Index + Tutorial/Index + +.. Meta Menu + +.. toctree:: + :hidden: + + Sitemap diff --git a/_sources/Integration/Index.rst.txt b/_sources/Integration/Index.rst.txt new file mode 100644 index 0000000..5bd72e0 --- /dev/null +++ b/_sources/Integration/Index.rst.txt @@ -0,0 +1,121 @@ +.. include:: /Includes.rst.txt + +.. _integration: + +=========== +Integration +=========== + + +Use in your extension +--------------------- + +To make use of this extension is quite easy as there is only one +service needed. By instantiating the +\Evoweb\Recaptcha\Services\CaptchaService it's possible to render +and validate the captcha. +Beside the service there are a ViewHelper and a Validator for use in +extbase extensions. + + +Integration in your own code +---------------------------- + + +Rendering hole captcha +~~~~~~~~~~~~~~~~~~~~~~ + +To render you are able to let the service take care of the output +by calling getReCaptcha. + +.. code-block:: php + :caption: Get rendered captcha from service + + $captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class); + $output = $captchaService->getReCaptcha(); + +Please keep in mind that it only renders the captcha. If you need +something to trigger the validation in your controller it's up to +you to add the code. + + +Render on your own +~~~~~~~~~~~~~~~~~~ + +If you prefer to render on your own its possible to let the service +prepare the settings for you. + +.. code-block:: php + :caption: Get settings to render individually + + $captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class); + $configuration = $captchaService->getConfiguration(); + $showCaptcha = $captchaService->getShowCaptcha(); + +By using this you need to render the html completely on your own. + + +Validate submitted form +~~~~~~~~~~~~~~~~~~~~~~~ + +To validate just call the validateReCaptcha method and you get the +result of the validation to check against. + +.. code-block:: php + :caption: Validate captcha in extension + + $validCaptcha = false; + + $captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class); + $captchaServiceValidation = $captchaService->validateReCaptcha(); + if (isset($captchaServiceValidation['verified'])) { + if ($captchaServiceValidation['verified'] === true) { + $validCaptcha = true; + } + } + + +Integration in extbase extension +-------------------------------- + +Rendering the captcha +~~~~~~~~~~~~~~~~~~~~~ + +For rendering the captcha in a fluid template there is a ViewHelper +that prepares the configuration and then renders the captcha. + +.. code-block:: html + :caption: ViewHelper example integration + + + + + +
+
+ +
+ Development mode active. Do not expect the captcha to appear. +
+
+
+
+ + +Validation in model +~~~~~~~~~~~~~~~~~~~ + +After the form was submitted the validation of the form model is quite +easy. Just annotate as usual. + +.. code-block:: php + :caption: Add captcha validator to model property + + /** + * virtual not stored in database + * + * @var string + * @validate \Evoweb\Recaptcha\Validation\RecaptchaValidator + */ + protected $captcha; + diff --git a/_sources/Introduction/Index.rst.txt b/_sources/Introduction/Index.rst.txt new file mode 100644 index 0000000..360205d --- /dev/null +++ b/_sources/Introduction/Index.rst.txt @@ -0,0 +1,36 @@ +.. include:: /Includes.rst.txt + +.. _introduction: + +============ +Introduction +============ + +This Documentation was written for version 8.2.0 of the extension. + + +Functionality +------------- + +Only purpose is to render the reCAPTCHA and validate the response. +But provide these to other extensions which consumes the service. + +Also there are limited integrations into other extensions implemented. +These act more as an living example and integrate only in extensions +used by the author self. + +.. figure:: Images/recaptcha.png + :alt: Show example of captcha output + +Features +-------- + +As a very focused extension only the following features are integrated + + - service for display and validation + - integration in form rendering of EXT:form + - integration of invisible captcha in EXT:form + - viewHelper for display in fluid templates + - validator for usage in extbase domain model validation + - adapter for in-/visible captcha in sf_register + - adapter for in-/visible captcha in typoscript diff --git a/_sources/Sitemap.rst.txt b/_sources/Sitemap.rst.txt new file mode 100644 index 0000000..b092d8f --- /dev/null +++ b/_sources/Sitemap.rst.txt @@ -0,0 +1,9 @@ +:template: sitemap.html + +.. include:: /Includes.rst.txt + +======= +Sitemap +======= + +.. The sitemap.html template will insert here the page tree automatically. \ No newline at end of file diff --git a/_sources/Templating/Index.rst.txt b/_sources/Templating/Index.rst.txt new file mode 100644 index 0000000..5377bcb --- /dev/null +++ b/_sources/Templating/Index.rst.txt @@ -0,0 +1,96 @@ +.. include:: /Includes.rst.txt + +.. _templating: + +========== +Templating +========== + +For templating there are only two interesting parts to consider. How +to use the ViewHelper and direct inclusion in custom extension are +the only parts to modify. + + +ViewHelper integration +---------------------- + +Using the ViewHelper has the benefit that it covers the hole configuration +discovery with fallback. Inside the ViewHelper three variables are set. + + +.. ##### BEGIN~OF~TABLE ##### + +.. container:: table-row + + Property + name + + Data type + string + + Default + formName[formObject][captcha] + + Description + This value depends heavily on fluids field name generation + and will vary through out the templates where it gets used. + + +.. container:: table-row + + Property + showCaptcha + + Data type + bool + + Default + true on Development and false on Production + + Description + Contains whether the catpcha should be rendered at all and + depends on the application mode. + + +.. container:: table-row + + Property + configuration + + Data type + array + + Default + settings from TypoScript + + Description + Provides the configuration set in TypoScript with fallback + to extension configuration set in admin tools extensions. + + +.. ###### END~OF~TABLE ###### + +.. code-block:: html + :caption: ViewHelper example integration + + + + + +
+
+ +
+ Development mode active. Do not expect the captcha to appear. +
+
+
+
+ + +Integration in extension +------------------------ + +Here the extension delivers only limited settings. In TypoScript there +is the **public_key** defined which can be rendered as stdWrap to resolve +an div container with all needed information to output the captcha. diff --git a/_sources/Tutorial/Index.rst.txt b/_sources/Tutorial/Index.rst.txt new file mode 100644 index 0000000..6db68fb --- /dev/null +++ b/_sources/Tutorial/Index.rst.txt @@ -0,0 +1,27 @@ +.. include:: /Includes.rst.txt + +.. _tutorial: + +======== +Tutorial +======== + +Use invisible recaptcha in EXT:form forms +----------------------------------------- + +To use the invisible captcha in the form you need to add the advanced +element "reCAPTCHA". This field has the validation automatically added. +Next step is to open the "Settings" of the form and need to check the +"Use invisible recaptcha". + +At last you need to add the TypoScript constants. One is to enable to +the inclusion of the invisible recaptcha callback and the other is to +tell the callback which id the form to handle has. + +.. code-block:: typoscript + :linenos: + + plugin.tx\_recaptcha { + include\_invisible\_recaptcha\_callback = 1 + invisible\_recaptcha\_formname = captchaForm-4 + } diff --git a/_sources/UsersManual/Index.rst.txt b/_sources/UsersManual/Index.rst.txt new file mode 100644 index 0000000..fb967e7 --- /dev/null +++ b/_sources/UsersManual/Index.rst.txt @@ -0,0 +1,66 @@ +.. include:: /Includes.rst.txt + +.. _user-manual: + +============ +Users manual +============ + +Usage in ext:form manager +------------------------- + +This extension doesn't come with a content element of any sort. As +it is only a service the captcha can't be used on its own. But there +is one part where editors are able to have the possibility to configure +captcha related settings. + +Add captcha to form +~~~~~~~~~~~~~~~~~~~ + +In the form manager it's possible to add the captcha to a form by +choosing it in the new field wizard. + +.. figure:: Images/add_recaptcha.png + :alt: Recaptcha on the form element wizard + +Configure label +~~~~~~~~~~~~~~~ + +After the selection the user is able to choose if the label should be +rendered in frontend and if so what label text should be used. + +.. figure:: Images/added_recaptcha.png + :alt: Add recaptcha element in form + +Use invisible captcha +~~~~~~~~~~~~~~~~~~~~~ + +To use the invisible reCAPTCHA it's necessary to add an captcha field. +Once this is done the form needs to be configured via the settings +button on top of the form editor. There the checkbox for +"Use invisible recaptcha" needs to be checked. + +.. figure:: Images/invisible_recaptcha.png + :alt: Configuration of invisible recaptcha + + + +Usage in ext:formhandler +------------------------ + +The invisible mode is only supported at the moment. + +Marker for the hidden field: + +.. code-block:: html + :linenos: + + ###recaptcha_invisible### + + +Marker for the submit button: + +.. code-block:: html + :linenos: + + ###recaptcha_button_invisible### diff --git a/index.html b/index.html new file mode 100644 index 0000000..f8905d4 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ + diff --git a/objects.inv b/objects.inv new file mode 100644 index 0000000..b9eb2a0 Binary files /dev/null and b/objects.inv differ diff --git a/objects.inv.json b/objects.inv.json new file mode 100644 index 0000000..8700afa --- /dev/null +++ b/objects.inv.json @@ -0,0 +1,380 @@ +{ + "std:doc": { + "Administration\/Index": [ + "-", + "-", + "Administration\/Index.html", + "Administration" + ], + "BreakingChanges\/Index": [ + "-", + "-", + "BreakingChanges\/Index.html", + "Breaking Changes" + ], + "Configuration\/Index": [ + "-", + "-", + "Configuration\/Index.html", + "Configuration" + ], + "ContentSecurityPolicy\/Index": [ + "-", + "-", + "ContentSecurityPolicy\/Index.html", + "Content Security Policy" + ], + "Index": [ + "-", + "-", + "Index.html", + "reCAPTCHA: Easy on Humans, Hard on Bots" + ], + "Integration\/Index": [ + "-", + "-", + "Integration\/Index.html", + "Integration" + ], + "Introduction\/Index": [ + "-", + "-", + "Introduction\/Index.html", + "Introduction" + ], + "Sitemap": [ + "-", + "-", + "Sitemap.html", + "Sitemap" + ], + "Templating\/Index": [ + "-", + "-", + "Templating\/Index.html", + "Templating" + ], + "Tutorial\/Index": [ + "-", + "-", + "Tutorial\/Index.html", + "Tutorial" + ], + "UsersManual\/Index": [ + "-", + "-", + "UsersManual\/Index.html", + "Users manual" + ] + }, + "std:label": { + "administration": [ + "-", + "-", + "Administration\/Index.html#administration", + "Administration" + ], + "breaking-changes": [ + "-", + "-", + "BreakingChanges\/Index.html#breaking-changes", + "Breaking Changes" + ], + "configuration": [ + "-", + "-", + "Configuration\/Index.html#configuration", + "Configuration" + ], + "csp": [ + "-", + "-", + "ContentSecurityPolicy\/Index.html#csp", + "Content Security Policy" + ], + "integration": [ + "-", + "-", + "Integration\/Index.html#integration", + "Integration" + ], + "introduction": [ + "-", + "-", + "Introduction\/Index.html#introduction", + "Introduction" + ], + "templating": [ + "-", + "-", + "Templating\/Index.html#templating", + "Templating" + ], + "tutorial": [ + "-", + "-", + "Tutorial\/Index.html#tutorial", + "Tutorial" + ], + "user-manual": [ + "-", + "-", + "UsersManual\/Index.html#user-manual", + "Users manual" + ] + }, + "std:title": { + "administration-1": [ + "-", + "-", + "Administration\/Index.html#administration-1", + "Administration" + ], + "manual-installations": [ + "-", + "-", + "Administration\/Index.html#manual-installations", + "Manual installations" + ], + "composer-installations": [ + "-", + "-", + "Administration\/Index.html#composer-installations", + "Composer installations" + ], + "activation": [ + "-", + "-", + "Administration\/Index.html#activation", + "Activation" + ], + "configuration": [ + "-", + "-", + "Administration\/Index.html#configuration", + "Configuration" + ], + "breaking-changes-1": [ + "-", + "-", + "BreakingChanges\/Index.html#breaking-changes-1", + "Breaking Changes" + ], + "13-august-2023": [ + "-", + "-", + "BreakingChanges\/Index.html#13-august-2023", + "13. August 2023" + ], + "partials": [ + "-", + "-", + "BreakingChanges\/Index.html#partials", + "Partials" + ], + "configuration-removed": [ + "-", + "-", + "BreakingChanges\/Index.html#configuration-removed", + "Configuration removed" + ], + "configuration-1": [ + "-", + "-", + "Configuration\/Index.html#configuration-1", + "Configuration" + ], + "backend-related": [ + "-", + "-", + "Configuration\/Index.html#backend-related", + "Backend related" + ], + "frontend-related": [ + "-", + "-", + "Configuration\/Index.html#frontend-related", + "Frontend related" + ], + "reference": [ + "-", + "-", + "Configuration\/Index.html#reference", + "Reference" + ], + "content-security-policy": [ + "-", + "-", + "ContentSecurityPolicy\/Index.html#content-security-policy", + "Content Security Policy" + ], + "reason": [ + "-", + "-", + "ContentSecurityPolicy\/Index.html#reason", + "Reason" + ], + "csp-configuration": [ + "-", + "-", + "ContentSecurityPolicy\/Index.html#csp-configuration", + "CSP Configuration" + ], + "template-modifications": [ + "-", + "-", + "ContentSecurityPolicy\/Index.html#template-modifications", + "Template modifications" + ], + "recaptcha-easy-on-humans-hard-on-bots": [ + "-", + "-", + "Index.html#recaptcha-easy-on-humans-hard-on-bots", + "reCAPTCHA: Easy on Humans, Hard on Bots" + ], + "integration-1": [ + "-", + "-", + "Integration\/Index.html#integration-1", + "Integration" + ], + "use-in-your-extension": [ + "-", + "-", + "Integration\/Index.html#use-in-your-extension", + "Use in your extension" + ], + "integration-in-your-own-code": [ + "-", + "-", + "Integration\/Index.html#integration-in-your-own-code", + "Integration in your own code" + ], + "rendering-hole-captcha": [ + "-", + "-", + "Integration\/Index.html#rendering-hole-captcha", + "Rendering hole captcha" + ], + "render-on-your-own": [ + "-", + "-", + "Integration\/Index.html#render-on-your-own", + "Render on your own" + ], + "validate-submitted-form": [ + "-", + "-", + "Integration\/Index.html#validate-submitted-form", + "Validate submitted form" + ], + "integration-in-extbase-extension": [ + "-", + "-", + "Integration\/Index.html#integration-in-extbase-extension", + "Integration in extbase extension" + ], + "rendering-the-captcha": [ + "-", + "-", + "Integration\/Index.html#rendering-the-captcha", + "Rendering the captcha" + ], + "validation-in-model": [ + "-", + "-", + "Integration\/Index.html#validation-in-model", + "Validation in model" + ], + "introduction-1": [ + "-", + "-", + "Introduction\/Index.html#introduction-1", + "Introduction" + ], + "functionality": [ + "-", + "-", + "Introduction\/Index.html#functionality", + "Functionality" + ], + "features": [ + "-", + "-", + "Introduction\/Index.html#features", + "Features" + ], + "sitemap": [ + "-", + "-", + "Sitemap.html#sitemap", + "Sitemap" + ], + "templating-1": [ + "-", + "-", + "Templating\/Index.html#templating-1", + "Templating" + ], + "viewhelper-integration": [ + "-", + "-", + "Templating\/Index.html#viewhelper-integration", + "ViewHelper integration" + ], + "integration-in-extension": [ + "-", + "-", + "Templating\/Index.html#integration-in-extension", + "Integration in extension" + ], + "tutorial-1": [ + "-", + "-", + "Tutorial\/Index.html#tutorial-1", + "Tutorial" + ], + "use-invisible-recaptcha-in-ext-form-forms": [ + "-", + "-", + "Tutorial\/Index.html#use-invisible-recaptcha-in-ext-form-forms", + "Use invisible recaptcha in EXT:form forms" + ], + "users-manual": [ + "-", + "-", + "UsersManual\/Index.html#users-manual", + "Users manual" + ], + "usage-in-ext-form-manager": [ + "-", + "-", + "UsersManual\/Index.html#usage-in-ext-form-manager", + "Usage in ext:form manager" + ], + "add-captcha-to-form": [ + "-", + "-", + "UsersManual\/Index.html#add-captcha-to-form", + "Add captcha to form" + ], + "configure-label": [ + "-", + "-", + "UsersManual\/Index.html#configure-label", + "Configure label" + ], + "use-invisible-captcha": [ + "-", + "-", + "UsersManual\/Index.html#use-invisible-captcha", + "Use invisible captcha" + ], + "usage-in-ext-formhandler": [ + "-", + "-", + "UsersManual\/Index.html#usage-in-ext-formhandler", + "Usage in ext:formhandler" + ] + } +} \ No newline at end of file diff --git a/singlehtml/Index.html b/singlehtml/Index.html new file mode 100644 index 0000000..54625b4 --- /dev/null +++ b/singlehtml/Index.html @@ -0,0 +1,1276 @@ + + + + documentation + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+ +
+

reCAPTCHA: Easy on Humans, Hard on Bots

+
+
Extension Key
+ +
+ +

recaptcha

+
+
Package name
+ +
+ +

evoweb/recaptcha

+
+
Version
+ +
+ +
+
Language
+ +
+ +

en

+
+
Description
+ +
+ +

Extension to provide reCAPTCHA and invisible reCAPTCHA to form related actions.

+
+
Copyright
+ +
+ +

2015-2024

+
+
Author
+ +
+ +

Sebastian Fischer

+
+
License
+ +
+ +

This document is published under the +Open Publication. +license.

+
+
Rendered
+ +
+ +

Sun, 19 May 2024 17:39:08 +0000

+
+
+
+ +

The content of this document is related to TYPO3, +a GNU/GPL CMS/Framework available from http://typo3.org

+ +
+ +

Table of Contents:

+ +
+ +
+ +
+ +
+
+ +
+

reCAPTCHA: Easy on Humans, Hard on Bots

+
+
Extension Key
+ +
+ +

recaptcha

+
+
Package name
+ +
+ +

evoweb/recaptcha

+
+
Version
+ +
+ +
+
Language
+ +
+ +

en

+
+
Description
+ +
+ +

Extension to provide reCAPTCHA and invisible reCAPTCHA to form related actions.

+
+
Copyright
+ +
+ +

2015-2024

+
+
Author
+ +
+ +

Sebastian Fischer

+
+
License
+ +
+ +

This document is published under the +Open Publication. +license.

+
+
Rendered
+ +
+ +

Sun, 19 May 2024 17:39:08 +0000

+
+
+
+ +

The content of this document is related to TYPO3, +a GNU/GPL CMS/Framework available from http://typo3.org

+ +
+ +

Table of Contents:

+ +
+ +
+ +
+ +
+
+ +
+ +

Introduction

+ +

This Documentation was written for version 8.2.0 of the extension.

+ +
+

Functionality

+ +

Only purpose is to render the reCAPTCHA and validate the response. +But provide these to other extensions which consumes the service.

+ + +

Also there are limited integrations into other extensions implemented. +These act more as an living example and integrate only in extensions +used by the author self.

+ +
+ Show example of captcha output + + + +
+
+
+

Features

+ +

As a very focused extension only the following features are integrated

+ +
+ +
    +
  • service for display and validation
  • +
  • integration in form rendering of EXT:form
  • +
  • integration of invisible captcha in EXT:form
  • +
  • viewHelper for display in fluid templates
  • +
  • validator for usage in extbase domain model validation
  • +
  • adapter for in-/visible captcha in sf_register
  • +
  • adapter for in-/visible captcha in typoscript
  • +
+
+
+
+ +
+
+ +
+ +

Users manual

+
+

Usage in ext:form manager

+ +

This extension doesn't come with a content element of any sort. As +it is only a service the captcha can't be used on its own. But there +is one part where editors are able to have the possibility to configure +captcha related settings.

+ +
+

Add captcha to form

+ +

In the form manager it's possible to add the captcha to a form by +choosing it in the new field wizard.

+ +
+ Recaptcha on the form element wizard + + + +
+
+
+

Configure label

+ +

After the selection the user is able to choose if the label should be +rendered in frontend and if so what label text should be used.

+ +
+ Add recaptcha element in form + + + +
+
+
+

Use invisible captcha

+ +

To use the invisible reCAPTCHA it's necessary to add an captcha field. +Once this is done the form needs to be configured via the settings +button on top of the form editor. There the checkbox for +"Use invisible recaptcha" needs to be checked.

+ +
+ Configuration of invisible recaptcha + + + +
+
+
+
+

Usage in ext:formhandler

+ +

The invisible mode is only supported at the moment.

+ + +

Marker for the hidden field:

+ +
+ +
###recaptcha_invisible###
+
+ + Copied! +
+
+ +

Marker for the submit button:

+ +
+ +
###recaptcha_button_invisible###
+
+ + Copied! +
+
+
+
+ +
+
+ +
+ +

Administration

+ +

Installation for both TYPO3 CMS installation types (manual/composer) +are supported. For both a compatible installation is provided.

+ +
+

Manual installations

+ +

Download the extension recaptcha either with the browser from typo3.org_ +or github and upload it into the installation in the admin tools extensions, +or directly in the admin tools extensions with the integrated search.

+ +
+
+

Composer installations

+ +

On the console in the folder where the project composer.json resides +just type:

+ +
+ Installation via composer +
+ +
composer require evoweb/recaptcha ^8.2
+composer update
+
+ + Copied! +
+
+
+
+

Activation

+ +

After the extension is installed by either way you always need to activate +it. Normally this is done in the admin tools extensions. But its also possible +to activate it via console:

+ +
+ Activate extension on shell +
+ +
$ ./bin/typo3 extensionmanager:extension:install recaptcha
+
+ + Copied! +
+
+
+
+

Configuration

+ +

If, the captcha should be usable in backend context or you like to have +a default configuration without touching TypoScript, the extensions +need to be configured in the admin tools extensions. Via the cog as shown +on the screenshot.

+ +
+ Configure extension settings + + + +
+
+
+ +
+
+ +
+ +

Breaking Changes

+
+

13. August 2023

+
+

Partials

+ +

Frontend partials have be changed. If modified check if your partials on changed +made to hidden fields.

+ +
+
+

Configuration removed

+
+
TypoScript setup
+ +
+ +
    +
  • invisibleCallback
  • +
  • captchaCssClass
  • +
+
+
TypoScript constants
+ +
+ +
    +
  • invisible_recaptcha_formname
  • +
  • include_invisible_recaptcha_callback
  • +
+
+
+ +

Remove support for EXT:formhandler

+ +
+
+
+ +
+
+ +
+ +

Configuration

+ + +
+

Reference

+ +

Following parameter are available as constants. And with the same +name also as setup parameter.

+ + +

plugin.tx_recaptcha:

+ +
+
+
Property
+ +
api_server
+
Data type
+ +
string
+
Default
+ +
https://www.google.com/recaptcha/api.js
+
Description
+ +
This url is used to include the basic frontend functionality. +In general it's not necessary to modify this url. In case +that the api changes and the extension is not updated quick +enough changing this parameter keeps the frontend working.
+
+
+ +
+
+
Property
+ +
verify_server
+
Data type
+ +
string
+
Default
+ +
https://www.google.com/recaptcha/api/siteverify
+
Description
+ +
Every verification uses this url to check if the captcha was +solved. +In general it's not necessary to modify this url. In case +that the api changes and the extension is not updated quick +enough changing this parameter keeps the validation working.
+
+
+ +
+
+
Property
+ +
public_key
+
Data type
+ +
string
+
Default
+ +
6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
+
Description
+ +
+

The public key is needed for the frontend rendering.

+ +

Google provides a key for automatic testing purpose and this +is used as default. +To remove the warning that is caused by using the default key +please go to the recaptcha admin and register an own key for +use in your site.

+
+
+
+ +
+
+
Property
+ +
private_key
+
Data type
+ +
string
+
Default
+ +
6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
+
Description
+ +
+

The public key is needed for the validation of submits.

+ +

Google provides a key for automatic testing purpose and this +is used as default. +To remove the warning that is caused by using the default key +please go to the recaptcha admin and register an own key for +use in your site.

+
+
+
+ +
+
+
Property
+ +
lang
+
Data type
+ +
string
+
Default
+ +
empty
+
Description
+ +
Recaptcha is very good in automatic detecting which language +to use based on the users browser settings and with which IP +the page get's visited. +Only in case if it is really necessary set this parameter to +take influence on the rendered language.
+
+
+ +
+
+
Property
+ +
enforceCaptcha
+
Data type
+ +
bool
+
Default
+ +
0
+
Description
+ +
This configuration parameter will enforce the captcha to test +the functionality on development systems. +EXT:recaptcha uses the application context to detect if an +installation is running in Development mode. If so the captcha +is not rendered or validated. +This is a to reduce external calls and b to not bother the +integrator every time he has to test forms. Because after a +limited amount of tests the captcha testing games must always +be solved instead only clicking a checkbox.
+
+
+ +
+
+
Property
+ +
invisibleCallback
+
Data type
+ +
string
+
Default
+ +
onRecaptchaSubmit
+
Description
+ +
[Only TypoScript] +For invisible reCAPTCHA its necessary to have a callback +function in JavaScript. It is possible to have own code +that derives from the included. If in this case the name +of the callback is changed please adjust this parameter +to match the new name.
+
+
+ +
+
+
Property
+ +
theme
+
Data type
+ +
string
+
Default
+ +
light
+
Description
+ +
[Only TypoScript] +For change the theme for recaptcha (light or dark).
+
+
+ +
+
+
Property
+ +
robotMode
+
Data type
+ +
bool
+
Default
+ +
0
+
Description
+ +
[Only TypoScript] +Add the possibility to set the recaptcha into robot mode in production environment. +The recaptcha will not be displayed like in development mode.
+
+
+ +
+
+ +
+
+ +
+ +

Content Security Policy

+
+

Reason

+ +

Since TYPO3 12 handling of content security policies are introduced. If this +feature is active, the recaptcha javascript can not be loaded without additional +configuration.

+ +
+
+

CSP Configuration

+ +

To get the recaptcha working with csp feature active, it's necessary to add an +extending mutation to the site configuration in a csp.yaml named file.

+ +
+ project_root/config/sites/main/csp.yaml +
+ +
inheritDefault: true
+mutations:
+  - mode: extend
+    directive: 'frame-src'
+    sources:
+      - 'https://www.google.com/recaptcha/'
+      - 'https://recaptcha.google.com/recaptcha/'
+
+  - mode: extend
+    directive: 'script-src'
+    sources:
+      - 'https://www.google.com/recaptcha/'
+      - 'https://www.gstatic.com/recaptcha/'
+
+ + Copied! +
+
+
+
+

Template modifications

+ +

In previous releases some onclick javascript was used. While the CSP rules are +in place, this should be omitted. Some code was moved to the Frontend/form.js. +Other was replaced with hidden inputs.

+ + +

If you override the Frontend/Partials/Form/Navigation.html please check if it's +in line with the provided file.

+ +
+
+ +
+
+ +
+ +

Integration

+
+

Use in your extension

+ +

To make use of this extension is quite easy as there is only one +service needed. By instantiating the +EvowebRecaptchaServicesCaptchaService it's possible to render +and validate the captcha. +Beside the service there are a ViewHelper and a Validator for use in +extbase extensions.

+ +
+
+

Integration in your own code

+
+

Rendering hole captcha

+ +

To render you are able to let the service take care of the output +by calling getReCaptcha.

+ +
+ Get rendered captcha from service +
+ +
$captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class);
+$output = $captchaService->getReCaptcha();
+
+ + Copied! +
+
+ +

Please keep in mind that it only renders the captcha. If you need +something to trigger the validation in your controller it's up to +you to add the code.

+ +
+
+

Render on your own

+ +

If you prefer to render on your own its possible to let the service +prepare the settings for you.

+ +
+ Get settings to render individually +
+ +
$captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class);
+$configuration = $captchaService->getConfiguration();
+$showCaptcha = $captchaService->getShowCaptcha();
+
+ + Copied! +
+
+ +

By using this you need to render the html completely on your own.

+ +
+
+

Validate submitted form

+ +

To validate just call the validateReCaptcha method and you get the +result of the validation to check against.

+ +
+ Validate captcha in extension +
+ +
$validCaptcha = false;
+
+$captchaService = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\Evoweb\Recaptcha\Services\CaptchaService::class);
+$captchaServiceValidation = $captchaService->validateReCaptcha();
+if (isset($captchaServiceValidation['verified'])) {
+	if ($captchaServiceValidation['verified'] === true) {
+		$validCaptcha = true;
+	}
+}
+
+ + Copied! +
+
+
+
+
+

Integration in extbase extension

+
+

Rendering the captcha

+ +

For rendering the captcha in a fluid template there is a ViewHelper +that prepares the configuration and then renders the captcha.

+ +
+ ViewHelper example integration +
+ +
<r:form.recaptcha>
+   <f:if condition="{showCaptcha}">
+      <f:then>
+         <f:form.hidden property="{name}" value="1" />
+         <div class="g-recaptcha" data-sitekey="{configuration.public_key}"></div>
+      </f:then>
+      <f:else>
+         <div class="recaptcha-development-mode">
+            Development mode active. Do not expect the captcha to appear.
+         </div>
+      </f:else>
+   </f:if>
+</r:form.recaptcha>
+
+ + Copied! +
+
+
+
+

Validation in model

+ +

After the form was submitted the validation of the form model is quite +easy. Just annotate as usual.

+ +
+ Add captcha validator to model property +
+ +
/**
+ * virtual not stored in database
+ *
+ * @var string
+ * @validate \Evoweb\Recaptcha\Validation\RecaptchaValidator
+ */
+protected $captcha;
+
+ + Copied! +
+
+
+
+
+ +
+
+ +
+ +

Templating

+ +

For templating there are only two interesting parts to consider. How +to use the ViewHelper and direct inclusion in custom extension are +the only parts to modify.

+ +
+

ViewHelper integration

+ +

Using the ViewHelper has the benefit that it covers the hole configuration +discovery with fallback. Inside the ViewHelper three variables are set.

+ +
+
+
Property
+ +
name
+
Data type
+ +
string
+
Default
+ +
formName[formObject][captcha]
+
Description
+ +
This value depends heavily on fluids field name generation +and will vary through out the templates where it gets used.
+
+
+ +
+
+
Property
+ +
showCaptcha
+
Data type
+ +
bool
+
Default
+ +
true on Development and false on Production
+
Description
+ +
Contains whether the catpcha should be rendered at all and +depends on the application mode.
+
+
+ +
+
+
Property
+ +
configuration
+
Data type
+ +
array
+
Default
+ +
settings from TypoScript
+
Description
+ +
Provides the configuration set in TypoScript with fallback +to extension configuration set in admin tools extensions.
+
+
+ +
+ ViewHelper example integration +
+ +
<r:form.recaptcha>
+   <f:if condition="{showCaptcha}">
+      <f:then>
+         <f:form.hidden property="{name}" value="1" />
+         <div class="g-recaptcha" data-sitekey="{configuration.public_key}"></div>
+      </f:then>
+      <f:else>
+         <div class="recaptcha-development-mode">
+            Development mode active. Do not expect the captcha to appear.
+         </div>
+      </f:else>
+   </f:if>
+</r:form.recaptcha>
+
+ + Copied! +
+
+
+
+

Integration in extension

+ +

Here the extension delivers only limited settings. In TypoScript there +is the public_key defined which can be rendered as stdWrap to resolve +an div container with all needed information to output the captcha.

+ +
+
+ +
+
+ +
+ +

Tutorial

+
+

Use invisible recaptcha in EXT:form forms

+ +

To use the invisible captcha in the form you need to add the advanced +element "reCAPTCHA". This field has the validation automatically added. +Next step is to open the "Settings" of the form and need to check the +"Use invisible recaptcha".

+ + +

At last you need to add the TypoScript constants. One is to enable to +the inclusion of the invisible recaptcha callback and the other is to +tell the callback which id the form to handle has.

+ +
+ +
plugin.tx\_recaptcha {
+    include\_invisible\_recaptcha\_callback = 1
+    invisible\_recaptcha\_formname = captchaForm-4
+}
+
+ + Copied! +
+
+
+
+ +
+
+ +
+

Sitemap

+
+ +
+ +
+
+
+
+ +
+ + + + + + + + + + \ No newline at end of file