diff --git a/data/igate_conf.json b/data/igate_conf.json
index 15ad1fc..9c6974f 100644
--- a/data/igate_conf.json
+++ b/data/igate_conf.json
@@ -3,23 +3,29 @@
"stationMode": 2,
"iGateComment": "LoRa_APRS_iGate",
"wifi": {
+ "autoAP": {
+ "password": "1234567890",
+ "powerOff": 10
+ },
"AP": [
- { "ssid": "WIFI_1",
+ {
+ "ssid": "WIFI_1",
"password": "WIFI_1_password",
- "latitude": 0.0000000,
- "longitude": 0.0000000
+ "latitude": 0.0,
+ "longitude": 0.0
},
- { "ssid": "WIFI_2",
+ {
+ "ssid": "WIFI_2",
"password": "WIFI_2_password",
- "latitude": 0.0000000,
- "longitude": 0.0000000
+ "latitude": 0.0,
+ "longitude": 0.0
}
]
},
"digi": {
"comment": "LoRa_APRS_Digirepeater",
- "latitude": 0.0000000,
- "longitude": 0.0000000
+ "latitude": 0.0,
+ "longitude": 0.0
},
"aprs_is": {
"passcode": "XYZVW",
@@ -39,7 +45,7 @@
"display": {
"alwaysOn": true,
"timeout": 4,
- "turn180" : false
+ "turn180": false
},
"syslog": {
"active": false,
@@ -50,7 +56,7 @@
"active": false
},
"ota": {
- "username":"",
+ "username": "",
"password": ""
},
"other": {
@@ -59,7 +65,7 @@
"igateRepeatsLoRaPackets": false,
"rememberStationTime": 30,
"sendBatteryVoltage": false,
- "externalVoltageMeasurement" : false,
+ "externalVoltageMeasurement": false,
"externalVoltagePin": 34
- }
-}
\ No newline at end of file
+ }
+}
diff --git a/data/process_form.php b/data/process_form.php
deleted file mode 100644
index 4351854..0000000
--- a/data/process_form.php
+++ /dev/null
@@ -1,19 +0,0 @@
- $_POST['name'],
- 'email' => $_POST['email']
- ];
-
- // Convert the data array to JSON format
- $json_data = json_encode($data);
-
- // Specify the path where you want to save the JSON file
- $file_path = 'userdata.json';
-
- // Save the JSON data to the file
- file_put_contents($file_path, $json_data);
-
- echo "Data saved as JSON successfully.";
-}
-?>
\ No newline at end of file
diff --git a/data/script.js b/data/script.js
deleted file mode 100644
index f0914d0..0000000
--- a/data/script.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Retrieve JSON data from the JSON file in SPIFFS
-fetch('igate_conf.json')
- .then(response => response.json())
- .then(data => {
- // Process the JSON data
- //displayJSONData(data);
-
- const jsonDataDiv = document.getElementById('json-container');
- jsonDataDiv.innerHTML = ''; // Clear the previous content
-
- if (Array.isArray(data)) {
- // If data is an array, iterate through it
- data.forEach(item => {
- const itemDiv = document.createElement('div');
- itemDiv.textContent = JSON.stringify(item, null, 2);
- jsonDataDiv.appendChild(itemDiv);
- });
- } else {
- // If data is not an array, display it directly
- const itemDiv = document.createElement('div');
- itemDiv.textContent = JSON.stringify(data, null, 2);
- jsonDataDiv.appendChild(itemDiv);
- }
- })
- .catch(error => {
- console.error('There was a problem fetching the JSON data:', error);
- });
-
-// Display JSON data in the HTML
-function displayJSONData(data) {
- //const jsonContainer = document.getElementById('json-container');
- //jsonContainer.innerHTML = JSON.stringify(data, null, 2);
-
-}
diff --git a/data/test1.html b/data/test1.html
deleted file mode 100644
index 13db39d..0000000
--- a/data/test1.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- Save Form Data to JSON
-
-
- Save Form Data to JSON
-
-
-
-
\ No newline at end of file
diff --git a/data/test_info_1.html b/data/test_info_1.html
deleted file mode 100644
index 42411f8..0000000
--- a/data/test_info_1.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
- JSON Data Example
-
-
-
-
-
-
\ No newline at end of file
diff --git a/data_embed/bootstrap.css b/data_embed/bootstrap.css
new file mode 100644
index 0000000..f38d232
--- /dev/null
+++ b/data_embed/bootstrap.css
@@ -0,0 +1,12200 @@
+@charset "UTF-8";
+/*!
+* Bootstrap v5.3.2 (https://getbootstrap.com/)
+* Copyright 2011-2023 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;
+}
+*,
+::after,
+::before {
+ box-sizing: border-box;
+}
+@media (prefers-reduced-motion: no-preference) {
+ :root {
+ scroll-behavior: smooth;
+ }
+}
+body {
+ margin: 0;
+ font-family: var(--bs-body-font-family);
+ font-size: var(--bs-body-font-size);
+ font-weight: var(--bs-body-font-weight);
+ line-height: var(--bs-body-line-height);
+ color: var(--bs-body-color);
+ text-align: var(--bs-body-text-align);
+ background-color: var(--bs-body-bg);
+ -webkit-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: transparent;
+}
+hr {
+ margin: 1rem 0;
+ color: inherit;
+ border: 0;
+ border-top: var(--bs-border-width) solid;
+ opacity: 0.25;
+}
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ font-weight: 500;
+ line-height: 1.2;
+ color: var(--bs-heading-color);
+}
+.h1,
+h1 {
+ font-size: calc(1.375rem + 1.5vw);
+}
+@media (min-width: 1200px) {
+ .h1,
+ h1 {
+ font-size: 2.5rem;
+ }
+}
+.h2,
+h2 {
+ font-size: calc(1.325rem + 0.9vw);
+}
+@media (min-width: 1200px) {
+ .h2,
+ h2 {
+ font-size: 2rem;
+ }
+}
+.h3,
+h3 {
+ font-size: calc(1.3rem + 0.6vw);
+}
+@media (min-width: 1200px) {
+ .h3,
+ h3 {
+ font-size: 1.75rem;
+ }
+}
+.h4,
+h4 {
+ font-size: calc(1.275rem + 0.3vw);
+}
+@media (min-width: 1200px) {
+ .h4,
+ h4 {
+ font-size: 1.5rem;
+ }
+}
+.h5,
+h5 {
+ font-size: 1.25rem;
+}
+.h6,
+h6 {
+ font-size: 1rem;
+}
+p {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+abbr[title] {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+ cursor: help;
+ -webkit-text-decoration-skip-ink: none;
+ text-decoration-skip-ink: none;
+}
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+ol,
+ul {
+ padding-left: 2rem;
+}
+dl,
+ol,
+ul {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+ol ol,
+ol ul,
+ul ol,
+ul ul {
+ 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;
+}
+code,
+kbd,
+pre,
+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;
+}
+tbody,
+td,
+tfoot,
+th,
+thead,
+tr {
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+}
+label {
+ display: inline-block;
+}
+button {
+ border-radius: 0;
+}
+button:focus:not(:focus-visible) {
+ outline: 0;
+}
+button,
+input,
+optgroup,
+select,
+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;
+}
+[type="button"],
+[type="reset"],
+[type="submit"],
+button {
+ -webkit-appearance: button;
+}
+[type="button"]:not(:disabled),
+[type="reset"]:not(:disabled),
+[type="submit"]:not(:disabled),
+button: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-day-field,
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-year-field {
+ padding: 0;
+}
+::-webkit-inner-spin-button {
+ height: auto;
+}
+[type="search"] {
+ -webkit-appearance: textfield;
+ outline-offset: -2px;
+}
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+::-webkit-color-swatch-wrapper {
+ padding: 0;
+}
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+::file-selector-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+output {
+ display: inline-block;
+}
+iframe {
+ border: 0;
+}
+summary {
+ display: list-item;
+ cursor: pointer;
+}
+progress {
+ vertical-align: baseline;
+}
+[hidden] {
+ display: none !important;
+}
+.lead {
+ font-size: 1.25rem;
+ font-weight: 300;
+}
+.display-1 {
+ font-size: calc(1.625rem + 4.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-1 {
+ font-size: 5rem;
+ }
+}
+.display-2 {
+ font-size: calc(1.575rem + 3.9vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-2 {
+ font-size: 4.5rem;
+ }
+}
+.display-3 {
+ font-size: calc(1.525rem + 3.3vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-3 {
+ font-size: 4rem;
+ }
+}
+.display-4 {
+ font-size: calc(1.475rem + 2.7vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-4 {
+ font-size: 3.5rem;
+ }
+}
+.display-5 {
+ font-size: calc(1.425rem + 2.1vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-5 {
+ font-size: 3rem;
+ }
+}
+.display-6 {
+ font-size: calc(1.375rem + 1.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-6 {
+ font-size: 2.5rem;
+ }
+}
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+.list-inline {
+ padding-left: 0;
+ list-style: none;
+}
+.list-inline-item {
+ display: inline-block;
+}
+.list-inline-item:not(:last-child) {
+ margin-right: 0.5rem;
+}
+.initialism {
+ font-size: 0.875em;
+ text-transform: uppercase;
+}
+.blockquote {
+ margin-bottom: 1rem;
+ font-size: 1.25rem;
+}
+.blockquote > :last-child {
+ margin-bottom: 0;
+}
+.blockquote-footer {
+ margin-top: -1rem;
+ margin-bottom: 1rem;
+ font-size: 0.875em;
+ color: #6c757d;
+}
+.blockquote-footer::before {
+ content: "— ";
+}
+.img-fluid {
+ max-width: 100%;
+ height: auto;
+}
+.img-thumbnail {
+ padding: 0.25rem;
+ background-color: var(--bs-body-bg);
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ max-width: 100%;
+ height: auto;
+}
+.figure {
+ display: inline-block;
+}
+.figure-img {
+ margin-bottom: 0.5rem;
+ line-height: 1;
+}
+.figure-caption {
+ font-size: 0.875em;
+ color: var(--bs-secondary-color);
+}
+.container,
+.container-fluid,
+.container-lg,
+.container-md,
+.container-sm,
+.container-xl,
+.container-xxl {
+ --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,
+ .container-sm {
+ max-width: 540px;
+ }
+}
+@media (min-width: 768px) {
+ .container,
+ .container-md,
+ .container-sm {
+ max-width: 720px;
+ }
+}
+@media (min-width: 992px) {
+ .container,
+ .container-lg,
+ .container-md,
+ .container-sm {
+ max-width: 960px;
+ }
+}
+@media (min-width: 1200px) {
+ .container,
+ .container-lg,
+ .container-md,
+ .container-sm,
+ .container-xl {
+ max-width: 1140px;
+ }
+}
+@media (min-width: 1400px) {
+ .container,
+ .container-lg,
+ .container-md,
+ .container-sm,
+ .container-xl,
+ .container-xxl {
+ max-width: 1320px;
+ }
+}
+:root {
+ --bs-breakpoint-xs: 0;
+ --bs-breakpoint-sm: 576px;
+ --bs-breakpoint-md: 768px;
+ --bs-breakpoint-lg: 992px;
+ --bs-breakpoint-xl: 1200px;
+ --bs-breakpoint-xxl: 1400px;
+}
+.row {
+ --bs-gutter-x: 1.5rem;
+ --bs-gutter-y: 0;
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: calc(-1 * var(--bs-gutter-y));
+ margin-right: calc(-0.5 * var(--bs-gutter-x));
+ margin-left: calc(-0.5 * var(--bs-gutter-x));
+}
+.row > * {
+ flex-shrink: 0;
+ width: 100%;
+ max-width: 100%;
+ padding-right: calc(var(--bs-gutter-x) * 0.5);
+ padding-left: calc(var(--bs-gutter-x) * 0.5);
+ margin-top: var(--bs-gutter-y);
+}
+.col {
+ flex: 1 0 0%;
+}
+.row-cols-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+}
+.row-cols-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+}
+.row-cols-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+}
+.row-cols-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+}
+.row-cols-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+}
+.row-cols-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+}
+.row-cols-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+}
+.col-auto {
+ flex: 0 0 auto;
+ width: auto;
+}
+.col-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+}
+.col-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+}
+.col-3 {
+ flex: 0 0 auto;
+ width: 25%;
+}
+.col-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+}
+.col-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+}
+.col-6 {
+ flex: 0 0 auto;
+ width: 50%;
+}
+.col-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+}
+.col-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+}
+.col-9 {
+ flex: 0 0 auto;
+ width: 75%;
+}
+.col-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+}
+.col-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+}
+.col-12 {
+ flex: 0 0 auto;
+ width: 100%;
+}
+.offset-1 {
+ margin-left: 8.33333333%;
+}
+.offset-2 {
+ margin-left: 16.66666667%;
+}
+.offset-3 {
+ margin-left: 25%;
+}
+.offset-4 {
+ margin-left: 33.33333333%;
+}
+.offset-5 {
+ margin-left: 41.66666667%;
+}
+.offset-6 {
+ margin-left: 50%;
+}
+.offset-7 {
+ margin-left: 58.33333333%;
+}
+.offset-8 {
+ margin-left: 66.66666667%;
+}
+.offset-9 {
+ margin-left: 75%;
+}
+.offset-10 {
+ margin-left: 83.33333333%;
+}
+.offset-11 {
+ margin-left: 91.66666667%;
+}
+.g-0,
+.gx-0 {
+ --bs-gutter-x: 0;
+}
+.g-0,
+.gy-0 {
+ --bs-gutter-y: 0;
+}
+.g-1,
+.gx-1 {
+ --bs-gutter-x: 0.25rem;
+}
+.g-1,
+.gy-1 {
+ --bs-gutter-y: 0.25rem;
+}
+.g-2,
+.gx-2 {
+ --bs-gutter-x: 0.5rem;
+}
+.g-2,
+.gy-2 {
+ --bs-gutter-y: 0.5rem;
+}
+.g-3,
+.gx-3 {
+ --bs-gutter-x: 1rem;
+}
+.g-3,
+.gy-3 {
+ --bs-gutter-y: 1rem;
+}
+.g-4,
+.gx-4 {
+ --bs-gutter-x: 1.5rem;
+}
+.g-4,
+.gy-4 {
+ --bs-gutter-y: 1.5rem;
+}
+.g-5,
+.gx-5 {
+ --bs-gutter-x: 3rem;
+}
+.g-5,
+.gy-5 {
+ --bs-gutter-y: 3rem;
+}
+@media (min-width: 576px) {
+ .col-sm {
+ flex: 1 0 0%;
+ }
+ .row-cols-sm-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-sm-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-sm-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-sm-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-sm-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-sm-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-sm-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-sm-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-sm-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-sm-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-sm-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-sm-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-sm-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-sm-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-sm-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-sm-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-sm-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-sm-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-sm-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-sm-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-sm-0 {
+ margin-left: 0;
+ }
+ .offset-sm-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-sm-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-sm-3 {
+ margin-left: 25%;
+ }
+ .offset-sm-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-sm-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-sm-6 {
+ margin-left: 50%;
+ }
+ .offset-sm-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-sm-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-sm-9 {
+ margin-left: 75%;
+ }
+ .offset-sm-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-sm-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-sm-0,
+ .gx-sm-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-sm-0,
+ .gy-sm-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-sm-1,
+ .gx-sm-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-sm-1,
+ .gy-sm-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-sm-2,
+ .gx-sm-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-sm-2,
+ .gy-sm-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-sm-3,
+ .gx-sm-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-sm-3,
+ .gy-sm-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-sm-4,
+ .gx-sm-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-sm-4,
+ .gy-sm-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-sm-5,
+ .gx-sm-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-sm-5,
+ .gy-sm-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 768px) {
+ .col-md {
+ flex: 1 0 0%;
+ }
+ .row-cols-md-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-md-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-md-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-md-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-md-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-md-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-md-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-md-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-md-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-md-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-md-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-md-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-md-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-md-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-md-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-md-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-md-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-md-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-md-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-md-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-md-0 {
+ margin-left: 0;
+ }
+ .offset-md-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-md-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-md-3 {
+ margin-left: 25%;
+ }
+ .offset-md-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-md-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-md-6 {
+ margin-left: 50%;
+ }
+ .offset-md-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-md-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-md-9 {
+ margin-left: 75%;
+ }
+ .offset-md-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-md-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-md-0,
+ .gx-md-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-md-0,
+ .gy-md-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-md-1,
+ .gx-md-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-md-1,
+ .gy-md-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-md-2,
+ .gx-md-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-md-2,
+ .gy-md-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-md-3,
+ .gx-md-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-md-3,
+ .gy-md-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-md-4,
+ .gx-md-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-md-4,
+ .gy-md-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-md-5,
+ .gx-md-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-md-5,
+ .gy-md-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 992px) {
+ .col-lg {
+ flex: 1 0 0%;
+ }
+ .row-cols-lg-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-lg-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-lg-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-lg-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-lg-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-lg-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-lg-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-lg-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-lg-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-lg-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-lg-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-lg-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-lg-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-lg-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-lg-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-lg-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-lg-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-lg-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-lg-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-lg-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-lg-0 {
+ margin-left: 0;
+ }
+ .offset-lg-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-lg-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-lg-3 {
+ margin-left: 25%;
+ }
+ .offset-lg-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-lg-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-lg-6 {
+ margin-left: 50%;
+ }
+ .offset-lg-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-lg-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-lg-9 {
+ margin-left: 75%;
+ }
+ .offset-lg-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-lg-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-lg-0,
+ .gx-lg-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-lg-0,
+ .gy-lg-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-lg-1,
+ .gx-lg-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-lg-1,
+ .gy-lg-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-lg-2,
+ .gx-lg-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-lg-2,
+ .gy-lg-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-lg-3,
+ .gx-lg-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-lg-3,
+ .gy-lg-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-lg-4,
+ .gx-lg-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-lg-4,
+ .gy-lg-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-lg-5,
+ .gx-lg-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-lg-5,
+ .gy-lg-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1200px) {
+ .col-xl {
+ flex: 1 0 0%;
+ }
+ .row-cols-xl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-xl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-xl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-xl-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-xl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-xl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-xl-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-xl-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-xl-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-xl-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-xl-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-xl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-xl-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-xl-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-xl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-xl-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-xl-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-xl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-xl-0 {
+ margin-left: 0;
+ }
+ .offset-xl-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-xl-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-xl-3 {
+ margin-left: 25%;
+ }
+ .offset-xl-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-xl-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-xl-6 {
+ margin-left: 50%;
+ }
+ .offset-xl-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-xl-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-xl-9 {
+ margin-left: 75%;
+ }
+ .offset-xl-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-xl-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-xl-0,
+ .gx-xl-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-xl-0,
+ .gy-xl-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-xl-1,
+ .gx-xl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-xl-1,
+ .gy-xl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-xl-2,
+ .gx-xl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-xl-2,
+ .gy-xl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-xl-3,
+ .gx-xl-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-xl-3,
+ .gy-xl-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-xl-4,
+ .gx-xl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-xl-4,
+ .gy-xl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-xl-5,
+ .gx-xl-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-xl-5,
+ .gy-xl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1400px) {
+ .col-xxl {
+ flex: 1 0 0%;
+ }
+ .row-cols-xxl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-xxl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-xxl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-xxl-3 > * {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .row-cols-xxl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-xxl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-xxl-6 > * {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xxl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-xxl-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-xxl-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xxl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-xxl-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-xxl-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-xxl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-xxl-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-xxl-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-xxl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-xxl-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-xxl-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-xxl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-xxl-0 {
+ margin-left: 0;
+ }
+ .offset-xxl-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-xxl-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-xxl-3 {
+ margin-left: 25%;
+ }
+ .offset-xxl-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-xxl-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-xxl-6 {
+ margin-left: 50%;
+ }
+ .offset-xxl-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-xxl-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-xxl-9 {
+ margin-left: 75%;
+ }
+ .offset-xxl-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-xxl-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-xxl-0,
+ .gx-xxl-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-xxl-0,
+ .gy-xxl-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-xxl-1,
+ .gx-xxl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-xxl-1,
+ .gy-xxl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-xxl-2,
+ .gx-xxl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-xxl-2,
+ .gy-xxl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-xxl-3,
+ .gx-xxl-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-xxl-3,
+ .gy-xxl-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-xxl-4,
+ .gx-xxl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-xxl-4,
+ .gy-xxl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-xxl-5,
+ .gx-xxl-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-xxl-5,
+ .gy-xxl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+.table {
+ --bs-table-color-type: initial;
+ --bs-table-bg-type: initial;
+ --bs-table-color-state: initial;
+ --bs-table-bg-state: initial;
+ --bs-table-color: var(--bs-emphasis-color);
+ --bs-table-bg: var(--bs-body-bg);
+ --bs-table-border-color: var(--bs-border-color);
+ --bs-table-accent-bg: transparent;
+ --bs-table-striped-color: var(--bs-emphasis-color);
+ --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
+ --bs-table-active-color: var(--bs-emphasis-color);
+ --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
+ --bs-table-hover-color: var(--bs-emphasis-color);
+ --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
+ width: 100%;
+ margin-bottom: 1rem;
+ vertical-align: top;
+ border-color: var(--bs-table-border-color);
+}
+.table > :not(caption) > * > * {
+ padding: 0.5rem 0.5rem;
+ color: var(
+ --bs-table-color-state,
+ var(--bs-table-color-type, var(--bs-table-color))
+ );
+ background-color: var(--bs-table-bg);
+ border-bottom-width: var(--bs-border-width);
+ box-shadow: inset 0 0 0 9999px
+ var(
+ --bs-table-bg-state,
+ var(--bs-table-bg-type, var(--bs-table-accent-bg))
+ );
+}
+.table > tbody {
+ vertical-align: inherit;
+}
+.table > thead {
+ vertical-align: bottom;
+}
+.table-group-divider {
+ border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
+}
+.caption-top {
+ caption-side: top;
+}
+.table-sm > :not(caption) > * > * {
+ padding: 0.25rem 0.25rem;
+}
+.table-bordered > :not(caption) > * {
+ border-width: var(--bs-border-width) 0;
+}
+.table-bordered > :not(caption) > * > * {
+ border-width: 0 var(--bs-border-width);
+}
+.table-borderless > :not(caption) > * > * {
+ border-bottom-width: 0;
+}
+.table-borderless > :not(:first-child) {
+ border-top-width: 0;
+}
+.table-striped > tbody > tr:nth-of-type(odd) > * {
+ --bs-table-color-type: var(--bs-table-striped-color);
+ --bs-table-bg-type: var(--bs-table-striped-bg);
+}
+.table-striped-columns > :not(caption) > tr > :nth-child(2n) {
+ --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);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-body-bg);
+ background-clip: padding-box;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ transition: border-color 0.15s ease-in-out,
+ box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control {
+ transition: none;
+ }
+}
+.form-control[type="file"] {
+ overflow: hidden;
+}
+.form-control[type="file"]:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control:focus {
+ color: var(--bs-body-color);
+ background-color: var(--bs-body-bg);
+ border-color: #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::-moz-placeholder {
+ color: var(--bs-secondary-color);
+ opacity: 1;
+}
+.form-control::placeholder {
+ color: var(--bs-secondary-color);
+ opacity: 1;
+}
+.form-control:disabled {
+ background-color: var(--bs-secondary-bg);
+ opacity: 1;
+}
+.form-control::-webkit-file-upload-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 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;
+ -webkit-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;
+ 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;
+}
+.form-control::file-selector-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 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::-webkit-file-upload-button {
+ -webkit-transition: none;
+ transition: none;
+ }
+ .form-control::file-selector-button {
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not(
+ [readonly]
+ )::-webkit-file-upload-button {
+ background-color: var(--bs-secondary-bg);
+}
+.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-lg,
+.form-control-plaintext.form-control-sm {
+ 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::-webkit-file-upload-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 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::-webkit-file-upload-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+.form-control-lg::file-selector-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+textarea.form-control {
+ min-height: calc(
+ 1.5em + 0.75rem + calc(var(--bs-border-width) * 2)
+ );
+}
+textarea.form-control-sm {
+ min-height: calc(
+ 1.5em + 0.5rem + calc(var(--bs-border-width) * 2)
+ );
+}
+textarea.form-control-lg {
+ min-height: calc(
+ 1.5em + 1rem + calc(var(--bs-border-width) * 2)
+ );
+}
+.form-control-color {
+ width: 3rem;
+ height: calc(
+ 1.5em + 0.75rem + calc(var(--bs-border-width) * 2)
+ );
+ padding: 0.375rem;
+}
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control-color::-moz-color-swatch {
+ border: 0 !important;
+ border-radius: var(--bs-border-radius);
+}
+.form-control-color::-webkit-color-swatch {
+ border: 0 !important;
+ border-radius: var(--bs-border-radius);
+}
+.form-control-color.form-control-sm {
+ height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
+}
+.form-control-color.form-control-lg {
+ height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
+}
+.form-select {
+ --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+ display: block;
+ width: 100%;
+ padding: 0.375rem 2.25rem 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-body-bg);
+ background-image: var(--bs-form-select-bg-img),
+ var(--bs-form-select-bg-icon, none);
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ background-size: 16px 12px;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+ transition: border-color 0.15s ease-in-out,
+ box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-select {
+ transition: none;
+ }
+}
+.form-select:focus {
+ border-color: #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;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: var(--bs-form-check-bg);
+ background-image: var(--bs-form-check-bg-image);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: contain;
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+ print-color-adjust: exact;
+}
+.form-check-input[type="checkbox"] {
+ border-radius: 0.25em;
+}
+.form-check-input[type="radio"] {
+ border-radius: 50%;
+}
+.form-check-input:active {
+ filter: brightness(90%);
+}
+.form-check-input:focus {
+ border-color: #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] + .btn {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.65;
+}
+[data-bs-theme="dark"]
+ .form-switch
+ .form-check-input:not(:checked):not(:focus) {
+ --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
+}
+.form-range {
+ width: 100%;
+ height: 1.5rem;
+ padding: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: transparent;
+}
+.form-range:focus {
+ outline: 0;
+}
+.form-range:focus::-webkit-slider-thumb {
+ box-shadow: 0 0 0 1px #fff,
+ 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-range:focus::-moz-range-thumb {
+ box-shadow: 0 0 0 1px #fff,
+ 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-range::-moz-focus-outer {
+ border: 0;
+}
+.form-range::-webkit-slider-thumb {
+ width: 1rem;
+ height: 1rem;
+ margin-top: -0.25rem;
+ -webkit-appearance: none;
+ appearance: none;
+ background-color: #0d6efd;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out,
+ border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out,
+ border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-webkit-slider-thumb {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-range::-webkit-slider-thumb:active {
+ background-color: #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;
+ -moz-appearance: none;
+ appearance: none;
+ background-color: #0d6efd;
+ border: 0;
+ border-radius: 1rem;
+ -moz-transition: background-color 0.15s ease-in-out,
+ border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out,
+ border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-moz-range-thumb {
+ -moz-transition: none;
+ transition: none;
+ }
+}
+.form-range::-moz-range-thumb:active {
+ background-color: #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-plaintext::-moz-placeholder,
+.form-floating > .form-control::-moz-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control-plaintext::placeholder,
+.form-floating > .form-control::placeholder {
+ color: transparent;
+}
+.form-floating
+ > .form-control-plaintext:not(:-moz-placeholder-shown),
+.form-floating > .form-control:not(:-moz-placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control-plaintext:focus,
+.form-floating > .form-control-plaintext:not(:placeholder-shown),
+.form-floating > .form-control:focus,
+.form-floating > .form-control:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control-plaintext:-webkit-autofill,
+.form-floating > .form-control:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating
+ > .form-control:not(:-moz-placeholder-shown)
+ ~ 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,
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-select ~ label {
+ color: rgba(var(--bs-body-color-rgb), 0.65);
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating
+ > .form-control:not(:-moz-placeholder-shown)
+ ~ label::after {
+ position: absolute;
+ inset: 1rem 0.375rem;
+ z-index: -1;
+ height: 1.5em;
+ content: "";
+ background-color: var(--bs-body-bg);
+ border-radius: var(--bs-border-radius);
+}
+.form-floating > .form-control-plaintext ~ label::after,
+.form-floating > .form-control:focus ~ label::after,
+.form-floating
+ > .form-control:not(:placeholder-shown)
+ ~ 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 > .form-control:disabled ~ label,
+.form-floating > :disabled ~ label {
+ color: #6c757d;
+}
+.form-floating > .form-control:disabled ~ label::after,
+.form-floating > :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-floating,
+.input-group > .form-select {
+ position: relative;
+ flex: 1 1 auto;
+ width: 1%;
+ min-width: 0;
+}
+.input-group > .form-control:focus,
+.input-group > .form-floating:focus-within,
+.input-group > .form-select:focus {
+ z-index: 5;
+}
+.input-group .btn {
+ position: relative;
+ z-index: 2;
+}
+.input-group .btn:focus {
+ z-index: 5;
+}
+.input-group-text {
+ display: flex;
+ align-items: center;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: var(--bs-body-color);
+ text-align: center;
+ white-space: nowrap;
+ background-color: var(--bs-tertiary-bg);
+ border: var(--bs-border-width) solid var(--bs-border-color);
+ border-radius: var(--bs-border-radius);
+}
+.input-group-lg > .btn,
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text {
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: var(--bs-border-radius-lg);
+}
+.input-group-sm > .btn,
+.input-group-sm > .form-control,
+.input-group-sm > .form-select,
+.input-group-sm > .input-group-text {
+ 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)
+ > .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,
+.input-group:not(.has-validation)
+ > :not(:last-child):not(.dropdown-toggle):not(
+ .dropdown-menu
+ ):not(.form-floating) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.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,
+.input-group.has-validation
+ > :nth-last-child(n + 3):not(.dropdown-toggle):not(
+ .dropdown-menu
+ ):not(.form-floating) {
+ 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);
+}
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip,
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip {
+ display: block;
+}
+.form-control.is-valid,
+.was-validated .form-control: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);
+}
+.form-control.is-valid:focus,
+.was-validated .form-control: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);
+}
+.form-select.is-valid,
+.was-validated .form-select:valid {
+ border-color: var(--bs-form-valid-border-color);
+}
+.form-select.is-valid:not([multiple]):not([size]),
+.form-select.is-valid:not([multiple])[size="1"],
+.was-validated .form-select:valid:not([multiple]):not([size]),
+.was-validated .form-select: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);
+}
+.form-select.is-valid:focus,
+.was-validated .form-select:valid:focus {
+ border-color: var(--bs-form-valid-border-color);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+}
+.form-control-color.is-valid,
+.was-validated .form-control-color:valid {
+ width: calc(3rem + calc(1.5em + 0.75rem));
+}
+.form-check-input.is-valid,
+.was-validated .form-check-input:valid {
+ border-color: var(--bs-form-valid-border-color);
+}
+.form-check-input.is-valid:checked,
+.was-validated .form-check-input:valid:checked {
+ background-color: var(--bs-form-valid-color);
+}
+.form-check-input.is-valid:focus,
+.was-validated .form-check-input:valid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+}
+.form-check-input.is-valid ~ .form-check-label,
+.was-validated .form-check-input:valid ~ .form-check-label {
+ color: var(--bs-form-valid-color);
+}
+.form-check-inline .form-check-input ~ .valid-feedback {
+ margin-left: 0.5em;
+}
+.input-group > .form-control:not(:focus).is-valid,
+.input-group > .form-floating:not(:focus-within).is-valid,
+.input-group > .form-select:not(:focus).is-valid,
+.was-validated .input-group > .form-control:not(:focus):valid,
+.was-validated
+ .input-group
+ > .form-floating:not(:focus-within):valid,
+.was-validated .input-group > .form-select:not(:focus):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);
+}
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip,
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip {
+ display: block;
+}
+.form-control.is-invalid,
+.was-validated .form-control: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);
+}
+.form-control.is-invalid:focus,
+.was-validated .form-control: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);
+}
+.form-select.is-invalid,
+.was-validated .form-select:invalid {
+ border-color: var(--bs-form-invalid-border-color);
+}
+.form-select.is-invalid:not([multiple]):not([size]),
+.form-select.is-invalid:not([multiple])[size="1"],
+.was-validated .form-select:invalid:not([multiple]):not([size]),
+.was-validated .form-select: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);
+}
+.form-select.is-invalid:focus,
+.was-validated .form-select:invalid:focus {
+ border-color: var(--bs-form-invalid-border-color);
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+}
+.form-control-color.is-invalid,
+.was-validated .form-control-color:invalid {
+ width: calc(3rem + calc(1.5em + 0.75rem));
+}
+.form-check-input.is-invalid,
+.was-validated .form-check-input:invalid {
+ border-color: var(--bs-form-invalid-border-color);
+}
+.form-check-input.is-invalid:checked,
+.was-validated .form-check-input:invalid:checked {
+ background-color: var(--bs-form-invalid-color);
+}
+.form-check-input.is-invalid:focus,
+.was-validated .form-check-input:invalid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+}
+.form-check-input.is-invalid ~ .form-check-label,
+.was-validated .form-check-input:invalid ~ .form-check-label {
+ color: var(--bs-form-invalid-color);
+}
+.form-check-inline .form-check-input ~ .invalid-feedback {
+ margin-left: 0.5em;
+}
+.input-group > .form-control:not(:focus).is-invalid,
+.input-group > .form-floating:not(:focus-within).is-invalid,
+.input-group > .form-select:not(:focus).is-invalid,
+.was-validated .input-group > .form-control:not(:focus):invalid,
+.was-validated
+ .input-group
+ > .form-floating:not(:focus-within):invalid,
+.was-validated .input-group > .form-select:not(:focus):invalid {
+ z-index: 4;
+}
+.btn {
+ --bs-btn-padding-x: 0.75rem;
+ --bs-btn-padding-y: 0.375rem;
+ --bs-btn-font-family: ;
+ --bs-btn-font-size: 1rem;
+ --bs-btn-font-weight: 400;
+ --bs-btn-line-height: 1.5;
+ --bs-btn-color: var(--bs-body-color);
+ --bs-btn-bg: transparent;
+ --bs-btn-border-width: var(--bs-border-width);
+ --bs-btn-border-color: transparent;
+ --bs-btn-border-radius: var(--bs-border-radius);
+ --bs-btn-hover-border-color: transparent;
+ --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),
+ 0 1px 1px rgba(0, 0, 0, 0.075);
+ --bs-btn-disabled-opacity: 0.65;
+ --bs-btn-focus-box-shadow: 0 0 0 0.25rem
+ rgba(var(--bs-btn-focus-shadow-rgb), 0.5);
+ display: inline-block;
+ padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
+ font-family: var(--bs-btn-font-family);
+ font-size: var(--bs-btn-font-size);
+ font-weight: var(--bs-btn-font-weight);
+ line-height: var(--bs-btn-line-height);
+ color: var(--bs-btn-color);
+ text-align: center;
+ text-decoration: none;
+ vertical-align: middle;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ border: var(--bs-btn-border-width) solid
+ var(--bs-btn-border-color);
+ border-radius: var(--bs-btn-border-radius);
+ background-color: var(--bs-btn-bg);
+ transition: color 0.15s ease-in-out,
+ background-color 0.15s ease-in-out,
+ border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .btn {
+ transition: none;
+ }
+}
+.btn:hover {
+ color: var(--bs-btn-hover-color);
+ background-color: var(--bs-btn-hover-bg);
+ border-color: var(--bs-btn-hover-border-color);
+}
+.btn-check + .btn:hover {
+ color: var(--bs-btn-color);
+ background-color: var(--bs-btn-bg);
+ border-color: var(--bs-btn-border-color);
+}
+.btn:focus-visible {
+ color: var(--bs-btn-hover-color);
+ background-color: var(--bs-btn-hover-bg);
+ border-color: var(--bs-btn-hover-border-color);
+ outline: 0;
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn-check:focus-visible + .btn {
+ border-color: var(--bs-btn-hover-border-color);
+ outline: 0;
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn-check:checked + .btn,
+.btn.active,
+.btn.show,
+.btn:first-child:active,
+:not(.btn-check) + .btn:active {
+ 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.active:focus-visible,
+.btn.show:focus-visible,
+.btn:first-child:active:focus-visible,
+:not(.btn-check) + .btn:active:focus-visible {
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn.disabled,
+.btn:disabled,
+fieldset:disabled .btn {
+ color: var(--bs-btn-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-btn-disabled-bg);
+ border-color: var(--bs-btn-disabled-border-color);
+ opacity: var(--bs-btn-disabled-opacity);
+}
+.btn-primary {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #0d6efd;
+ --bs-btn-border-color: #0d6efd;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #0b5ed7;
+ --bs-btn-hover-border-color: #0a58ca;
+ --bs-btn-focus-shadow-rgb: 49, 132, 253;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #0a58ca;
+ --bs-btn-active-border-color: #0a53be;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #0d6efd;
+ --bs-btn-disabled-border-color: #0d6efd;
+}
+.btn-secondary {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #6c757d;
+ --bs-btn-border-color: #6c757d;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #5c636a;
+ --bs-btn-hover-border-color: #565e64;
+ --bs-btn-focus-shadow-rgb: 130, 138, 145;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #565e64;
+ --bs-btn-active-border-color: #51585e;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #6c757d;
+ --bs-btn-disabled-border-color: #6c757d;
+}
+.btn-success {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #198754;
+ --bs-btn-border-color: #198754;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #157347;
+ --bs-btn-hover-border-color: #146c43;
+ --bs-btn-focus-shadow-rgb: 60, 153, 110;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #146c43;
+ --bs-btn-active-border-color: #13653f;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #198754;
+ --bs-btn-disabled-border-color: #198754;
+}
+.btn-info {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #0dcaf0;
+ --bs-btn-border-color: #0dcaf0;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #31d2f2;
+ --bs-btn-hover-border-color: #25cff2;
+ --bs-btn-focus-shadow-rgb: 11, 172, 204;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #3dd5f3;
+ --bs-btn-active-border-color: #25cff2;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #0dcaf0;
+ --bs-btn-disabled-border-color: #0dcaf0;
+}
+.btn-warning {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #ffc107;
+ --bs-btn-border-color: #ffc107;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #ffca2c;
+ --bs-btn-hover-border-color: #ffc720;
+ --bs-btn-focus-shadow-rgb: 217, 164, 6;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #ffcd39;
+ --bs-btn-active-border-color: #ffc720;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #ffc107;
+ --bs-btn-disabled-border-color: #ffc107;
+}
+.btn-danger {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #dc3545;
+ --bs-btn-border-color: #dc3545;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #bb2d3b;
+ --bs-btn-hover-border-color: #b02a37;
+ --bs-btn-focus-shadow-rgb: 225, 83, 97;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #b02a37;
+ --bs-btn-active-border-color: #a52834;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #dc3545;
+ --bs-btn-disabled-border-color: #dc3545;
+}
+.btn-light {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #f8f9fa;
+ --bs-btn-border-color: #f8f9fa;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #d3d4d5;
+ --bs-btn-hover-border-color: #c6c7c8;
+ --bs-btn-focus-shadow-rgb: 211, 212, 213;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #c6c7c8;
+ --bs-btn-active-border-color: #babbbc;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #f8f9fa;
+ --bs-btn-disabled-border-color: #f8f9fa;
+}
+.btn-dark {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #212529;
+ --bs-btn-border-color: #212529;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #424649;
+ --bs-btn-hover-border-color: #373b3e;
+ --bs-btn-focus-shadow-rgb: 66, 70, 73;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #4d5154;
+ --bs-btn-active-border-color: #373b3e;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #212529;
+ --bs-btn-disabled-border-color: #212529;
+}
+.btn-outline-primary {
+ --bs-btn-color: #0d6efd;
+ --bs-btn-border-color: #0d6efd;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #0d6efd;
+ --bs-btn-hover-border-color: #0d6efd;
+ --bs-btn-focus-shadow-rgb: 13, 110, 253;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #0d6efd;
+ --bs-btn-active-border-color: #0d6efd;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #0d6efd;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #0d6efd;
+ --bs-gradient: none;
+}
+.btn-outline-secondary {
+ --bs-btn-color: #6c757d;
+ --bs-btn-border-color: #6c757d;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #6c757d;
+ --bs-btn-hover-border-color: #6c757d;
+ --bs-btn-focus-shadow-rgb: 108, 117, 125;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #6c757d;
+ --bs-btn-active-border-color: #6c757d;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #6c757d;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #6c757d;
+ --bs-gradient: none;
+}
+.btn-outline-success {
+ --bs-btn-color: #198754;
+ --bs-btn-border-color: #198754;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #198754;
+ --bs-btn-hover-border-color: #198754;
+ --bs-btn-focus-shadow-rgb: 25, 135, 84;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #198754;
+ --bs-btn-active-border-color: #198754;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #198754;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #198754;
+ --bs-gradient: none;
+}
+.btn-outline-info {
+ --bs-btn-color: #0dcaf0;
+ --bs-btn-border-color: #0dcaf0;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #0dcaf0;
+ --bs-btn-hover-border-color: #0dcaf0;
+ --bs-btn-focus-shadow-rgb: 13, 202, 240;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #0dcaf0;
+ --bs-btn-active-border-color: #0dcaf0;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #0dcaf0;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #0dcaf0;
+ --bs-gradient: none;
+}
+.btn-outline-warning {
+ --bs-btn-color: #ffc107;
+ --bs-btn-border-color: #ffc107;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #ffc107;
+ --bs-btn-hover-border-color: #ffc107;
+ --bs-btn-focus-shadow-rgb: 255, 193, 7;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #ffc107;
+ --bs-btn-active-border-color: #ffc107;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #ffc107;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #ffc107;
+ --bs-gradient: none;
+}
+.btn-outline-danger {
+ --bs-btn-color: #dc3545;
+ --bs-btn-border-color: #dc3545;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #dc3545;
+ --bs-btn-hover-border-color: #dc3545;
+ --bs-btn-focus-shadow-rgb: 220, 53, 69;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #dc3545;
+ --bs-btn-active-border-color: #dc3545;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #dc3545;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #dc3545;
+ --bs-gradient: none;
+}
+.btn-outline-light {
+ --bs-btn-color: #f8f9fa;
+ --bs-btn-border-color: #f8f9fa;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #f8f9fa;
+ --bs-btn-hover-border-color: #f8f9fa;
+ --bs-btn-focus-shadow-rgb: 248, 249, 250;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #f8f9fa;
+ --bs-btn-active-border-color: #f8f9fa;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #f8f9fa;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #f8f9fa;
+ --bs-gradient: none;
+}
+.btn-outline-dark {
+ --bs-btn-color: #212529;
+ --bs-btn-border-color: #212529;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #212529;
+ --bs-btn-hover-border-color: #212529;
+ --bs-btn-focus-shadow-rgb: 33, 37, 41;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #212529;
+ --bs-btn-active-border-color: #212529;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #212529;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #212529;
+ --bs-gradient: none;
+}
+.btn-link {
+ --bs-btn-font-weight: 400;
+ --bs-btn-color: var(--bs-link-color);
+ --bs-btn-bg: transparent;
+ --bs-btn-border-color: transparent;
+ --bs-btn-hover-color: var(--bs-link-hover-color);
+ --bs-btn-hover-border-color: transparent;
+ --bs-btn-active-color: var(--bs-link-hover-color);
+ --bs-btn-active-border-color: transparent;
+ --bs-btn-disabled-color: #6c757d;
+ --bs-btn-disabled-border-color: transparent;
+ --bs-btn-box-shadow: 0 0 0 #000;
+ --bs-btn-focus-shadow-rgb: 49, 132, 253;
+ text-decoration: underline;
+}
+.btn-link:focus-visible {
+ color: var(--bs-btn-color);
+}
+.btn-link:hover {
+ color: var(--bs-btn-hover-color);
+}
+.btn-group-lg > .btn,
+.btn-lg {
+ --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-group-sm > .btn,
+.btn-sm {
+ --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;
+ }
+}
+.dropdown,
+.dropdown-center,
+.dropend,
+.dropstart,
+.dropup,
+.dropup-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:focus,
+.dropdown-item:hover {
+ 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-vertical > .btn,
+.btn-group > .btn {
+ position: relative;
+ flex: 1 1 auto;
+}
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
+.btn-group-vertical > .btn.active,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:hover,
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
+.btn-group > .btn.active,
+.btn-group > .btn:active,
+.btn-group > .btn:focus,
+.btn-group > .btn:hover {
+ 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 > .btn-group:not(:first-child),
+.btn-group > :not(.btn-check:first-child) + .btn {
+ margin-left: calc(var(--bs-border-width) * -1);
+}
+.btn-group > .btn-group:not(:last-child) > .btn,
+.btn-group > .btn.dropdown-toggle-split:first-child,
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn-group:not(:first-child) > .btn,
+.btn-group > .btn:nth-child(n + 3),
+.btn-group > :not(.btn-check) + .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.dropdown-toggle-split {
+ padding-right: 0.5625rem;
+ padding-left: 0.5625rem;
+}
+.dropdown-toggle-split::after,
+.dropend .dropdown-toggle-split::after,
+.dropup .dropdown-toggle-split::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle-split::before {
+ margin-right: 0;
+}
+.btn-group-sm > .btn + .dropdown-toggle-split,
+.btn-sm + .dropdown-toggle-split {
+ padding-right: 0.375rem;
+ padding-left: 0.375rem;
+}
+.btn-group-lg > .btn + .dropdown-toggle-split,
+.btn-lg + .dropdown-toggle-split {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+.btn-group-vertical {
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+ width: 100%;
+}
+.btn-group-vertical > .btn-group:not(:first-child),
+.btn-group-vertical > .btn:not(:first-child) {
+ margin-top: calc(var(--bs-border-width) * -1);
+}
+.btn-group-vertical > .btn-group:not(:last-child) > .btn,
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle) {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn-group:not(:first-child) > .btn,
+.btn-group-vertical > .btn ~ .btn {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+.nav {
+ --bs-nav-link-padding-x: 1rem;
+ --bs-nav-link-padding-y: 0.5rem;
+ --bs-nav-link-font-weight: ;
+ --bs-nav-link-color: var(--bs-link-color);
+ --bs-nav-link-hover-color: var(--bs-link-hover-color);
+ --bs-nav-link-disabled-color: var(--bs-secondary-color);
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.nav-link {
+ display: block;
+ padding: var(--bs-nav-link-padding-y)
+ var(--bs-nav-link-padding-x);
+ font-size: var(--bs-nav-link-font-size);
+ font-weight: var(--bs-nav-link-font-weight);
+ color: var(--bs-nav-link-color);
+ text-decoration: none;
+ background: 0 0;
+ border: 0;
+ transition: color 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:focus,
+.nav-link:hover {
+ 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:focus,
+.nav-tabs .nav-link:hover {
+ isolation: isolate;
+ border-color: var(--bs-nav-tabs-link-hover-border-color);
+}
+.nav-tabs .nav-item.show .nav-link,
+.nav-tabs .nav-link.active {
+ 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:focus,
+.nav-underline .nav-link:hover {
+ border-bottom-color: currentcolor;
+}
+.nav-underline .nav-link.active,
+.nav-underline .show > .nav-link {
+ font-weight: 700;
+ color: var(--bs-nav-underline-link-active-color);
+ border-bottom-color: currentcolor;
+}
+.nav-fill .nav-item,
+.nav-fill > .nav-link {
+ flex: 1 1 auto;
+ text-align: center;
+}
+.nav-justified .nav-item,
+.nav-justified > .nav-link {
+ 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-lg,
+.navbar > .container-md,
+.navbar > .container-sm,
+.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:focus,
+.navbar-brand:hover {
+ 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:focus,
+.navbar-text a:hover {
+ color: var(--bs-navbar-active-color);
+}
+.navbar-collapse {
+ flex-basis: 100%;
+ flex-grow: 1;
+ align-items: center;
+}
+.navbar-toggler {
+ padding: var(--bs-navbar-toggler-padding-y)
+ var(--bs-navbar-toggler-padding-x);
+ font-size: var(--bs-navbar-toggler-font-size);
+ line-height: 1;
+ color: var(--bs-navbar-color);
+ background-color: transparent;
+ border: var(--bs-border-width) solid
+ var(--bs-navbar-toggler-border-color);
+ border-radius: var(--bs-navbar-toggler-border-radius);
+ transition: var(--bs-navbar-toggler-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .navbar-toggler {
+ transition: none;
+ }
+}
+.navbar-toggler:hover {
+ text-decoration: none;
+}
+.navbar-toggler:focus {
+ text-decoration: none;
+ outline: 0;
+ box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
+}
+.navbar-toggler-icon {
+ display: inline-block;
+ width: 1.5em;
+ height: 1.5em;
+ vertical-align: middle;
+ background-image: var(--bs-navbar-toggler-icon-bg);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 100%;
+}
+.navbar-nav-scroll {
+ max-height: var(--bs-scroll-height, 75vh);
+ overflow-y: auto;
+}
+@media (min-width: 576px) {
+ .navbar-expand-sm {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-sm .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-sm .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-sm .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-sm .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-sm .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-expand-md {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-md .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-md .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-md .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-md .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-md .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-md .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-md .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 992px) {
+ .navbar-expand-lg {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-lg .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-lg .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-lg .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-lg .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-lg .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-lg .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 1200px) {
+ .navbar-expand-xl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xl .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-xl .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-xl .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-xl .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-xl .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 1400px) {
+ .navbar-expand-xxl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xxl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xxl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xxl .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-xxl .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-xxl .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-xxl .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-xxl .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+.navbar-expand {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+}
+.navbar-expand .navbar-nav {
+ flex-direction: row;
+}
+.navbar-expand .navbar-nav .dropdown-menu {
+ position: absolute;
+}
+.navbar-expand .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+}
+.navbar-expand .navbar-nav-scroll {
+ overflow: visible;
+}
+.navbar-expand .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+}
+.navbar-expand .navbar-toggler {
+ display: none;
+}
+.navbar-expand .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+}
+.navbar-expand .offcanvas .offcanvas-header {
+ display: none;
+}
+.navbar-expand .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+}
+.navbar-dark,
+.navbar[data-bs-theme="dark"] {
+ --bs-navbar-color: rgba(255, 255, 255, 0.55);
+ --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
+ --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
+ --bs-navbar-active-color: #fff;
+ --bs-navbar-brand-color: #fff;
+ --bs-navbar-brand-hover-color: #fff;
+ --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
+ --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+[data-bs-theme="dark"] .navbar-toggler-icon {
+ --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+.card {
+ --bs-card-spacer-y: 1rem;
+ --bs-card-spacer-x: 1rem;
+ --bs-card-title-spacer-y: 0.5rem;
+ --bs-card-title-color: ;
+ --bs-card-subtitle-color: ;
+ --bs-card-border-width: var(--bs-border-width);
+ --bs-card-border-color: var(--bs-border-color-translucent);
+ --bs-card-border-radius: var(--bs-border-radius);
+ --bs-card-box-shadow: ;
+ --bs-card-inner-border-radius: calc(
+ var(--bs-border-radius) - (var(--bs-border-width))
+ );
+ --bs-card-cap-padding-y: 0.5rem;
+ --bs-card-cap-padding-x: 1rem;
+ --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
+ --bs-card-cap-color: ;
+ --bs-card-height: ;
+ --bs-card-color: ;
+ --bs-card-bg: var(--bs-body-bg);
+ --bs-card-img-overlay-padding: 1rem;
+ --bs-card-group-margin: 0.75rem;
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ height: var(--bs-card-height);
+ color: var(--bs-body-color);
+ word-wrap: break-word;
+ background-color: var(--bs-card-bg);
+ background-clip: border-box;
+ border: var(--bs-card-border-width) solid
+ var(--bs-card-border-color);
+ border-radius: var(--bs-card-border-radius);
+}
+.card > hr {
+ margin-right: 0;
+ margin-left: 0;
+}
+.card > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
+}
+.card > .list-group:first-child {
+ border-top-width: 0;
+ border-top-left-radius: var(--bs-card-inner-border-radius);
+ border-top-right-radius: var(--bs-card-inner-border-radius);
+}
+.card > .list-group:last-child {
+ border-bottom-width: 0;
+ border-bottom-right-radius: var(--bs-card-inner-border-radius);
+ border-bottom-left-radius: var(--bs-card-inner-border-radius);
+}
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+ border-top: 0;
+}
+.card-body {
+ flex: 1 1 auto;
+ padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
+ color: var(--bs-card-color);
+}
+.card-title {
+ margin-bottom: var(--bs-card-title-spacer-y);
+ color: var(--bs-card-title-color);
+}
+.card-subtitle {
+ margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
+ margin-bottom: 0;
+ color: var(--bs-card-subtitle-color);
+}
+.card-text:last-child {
+ margin-bottom: 0;
+}
+.card-link + .card-link {
+ margin-left: var(--bs-card-spacer-x);
+}
+.card-header {
+ padding: var(--bs-card-cap-padding-y)
+ var(--bs-card-cap-padding-x);
+ margin-bottom: 0;
+ color: var(--bs-card-cap-color);
+ background-color: var(--bs-card-cap-bg);
+ border-bottom: var(--bs-card-border-width) solid
+ var(--bs-card-border-color);
+}
+.card-header:first-child {
+ border-radius: var(--bs-card-inner-border-radius)
+ var(--bs-card-inner-border-radius) 0 0;
+}
+.card-footer {
+ padding: var(--bs-card-cap-padding-y)
+ var(--bs-card-cap-padding-x);
+ color: var(--bs-card-cap-color);
+ background-color: var(--bs-card-cap-bg);
+ border-top: var(--bs-card-border-width) solid
+ var(--bs-card-border-color);
+}
+.card-footer:last-child {
+ border-radius: 0 0 var(--bs-card-inner-border-radius)
+ var(--bs-card-inner-border-radius);
+}
+.card-header-tabs {
+ margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+ margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
+ margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+ border-bottom: 0;
+}
+.card-header-tabs .nav-link.active {
+ background-color: var(--bs-card-bg);
+ border-bottom-color: var(--bs-card-bg);
+}
+.card-header-pills {
+ margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+ margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+}
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: var(--bs-card-img-overlay-padding);
+ border-radius: var(--bs-card-inner-border-radius);
+}
+.card-img,
+.card-img-bottom,
+.card-img-top {
+ 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-header,
+ .card-group > .card:not(:last-child) .card-img-top {
+ border-top-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-footer,
+ .card-group > .card:not(:last-child) .card-img-bottom {
+ 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-header,
+ .card-group > .card:not(:first-child) .card-img-top {
+ border-top-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-footer,
+ .card-group > .card:not(:first-child) .card-img-bottom {
+ 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='%23212529'%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-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='%23052c65'%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-focus-border-color: #86b7fe;
+ --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;
+ border-color: var(--bs-accordion-btn-focus-border-color);
+ 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-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-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-collapse {
+ border-width: 0;
+}
+.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-button,
+.accordion-flush .accordion-item .accordion-button.collapsed {
+ border-radius: 0;
+}
+[data-bs-theme="dark"] .accordion-button::after {
+ --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+}
+.breadcrumb {
+ --bs-breadcrumb-padding-x: 0;
+ --bs-breadcrumb-padding-y: 0;
+ --bs-breadcrumb-margin-bottom: 1rem;
+ --bs-breadcrumb-bg: ;
+ --bs-breadcrumb-border-radius: ;
+ --bs-breadcrumb-divider-color: var(--bs-secondary-color);
+ --bs-breadcrumb-item-padding-x: 0.5rem;
+ --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
+ display: flex;
+ flex-wrap: wrap;
+ padding: var(--bs-breadcrumb-padding-y)
+ var(--bs-breadcrumb-padding-x);
+ margin-bottom: var(--bs-breadcrumb-margin-bottom);
+ font-size: var(--bs-breadcrumb-font-size);
+ list-style: none;
+ background-color: var(--bs-breadcrumb-bg);
+ border-radius: var(--bs-breadcrumb-border-radius);
+}
+.breadcrumb-item + .breadcrumb-item {
+ padding-left: var(--bs-breadcrumb-item-padding-x);
+}
+.breadcrumb-item + .breadcrumb-item::before {
+ float: left;
+ padding-right: var(--bs-breadcrumb-item-padding-x);
+ color: var(--bs-breadcrumb-divider-color);
+ content: var(--bs-breadcrumb-divider, "/");
+}
+.breadcrumb-item.active {
+ color: var(--bs-breadcrumb-item-active-color);
+}
+.pagination {
+ --bs-pagination-padding-x: 0.75rem;
+ --bs-pagination-padding-y: 0.375rem;
+ --bs-pagination-font-size: 1rem;
+ --bs-pagination-color: var(--bs-link-color);
+ --bs-pagination-bg: var(--bs-body-bg);
+ --bs-pagination-border-width: var(--bs-border-width);
+ --bs-pagination-border-color: var(--bs-border-color);
+ --bs-pagination-border-radius: var(--bs-border-radius);
+ --bs-pagination-hover-color: var(--bs-link-hover-color);
+ --bs-pagination-hover-bg: var(--bs-tertiary-bg);
+ --bs-pagination-hover-border-color: var(--bs-border-color);
+ --bs-pagination-focus-color: var(--bs-link-hover-color);
+ --bs-pagination-focus-bg: var(--bs-secondary-bg);
+ --bs-pagination-focus-box-shadow: 0 0 0 0.25rem
+ rgba(13, 110, 253, 0.25);
+ --bs-pagination-active-color: #fff;
+ --bs-pagination-active-bg: #0d6efd;
+ --bs-pagination-active-border-color: #0d6efd;
+ --bs-pagination-disabled-color: var(--bs-secondary-color);
+ --bs-pagination-disabled-bg: var(--bs-secondary-bg);
+ --bs-pagination-disabled-border-color: var(--bs-border-color);
+ display: flex;
+ padding-left: 0;
+ list-style: none;
+}
+.page-link {
+ position: relative;
+ display: block;
+ padding: var(--bs-pagination-padding-y)
+ var(--bs-pagination-padding-x);
+ font-size: var(--bs-pagination-font-size);
+ color: var(--bs-pagination-color);
+ text-decoration: none;
+ background-color: var(--bs-pagination-bg);
+ border: var(--bs-pagination-border-width) solid
+ var(--bs-pagination-border-color);
+ transition: color 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);
+}
+.active > .page-link,
+.page-link.active {
+ z-index: 3;
+ color: var(--bs-pagination-active-color);
+ background-color: var(--bs-pagination-active-bg);
+ border-color: var(--bs-pagination-active-border-color);
+}
+.disabled > .page-link,
+.page-link.disabled {
+ color: var(--bs-pagination-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-pagination-disabled-bg);
+ border-color: var(--bs-pagination-disabled-border-color);
+}
+.page-item:not(:first-child) .page-link {
+ margin-left: calc(var(--bs-border-width) * -1);
+}
+.page-item:first-child .page-link {
+ border-top-left-radius: var(--bs-pagination-border-radius);
+ border-bottom-left-radius: var(--bs-pagination-border-radius);
+}
+.page-item:last-child .page-link {
+ border-top-right-radius: var(--bs-pagination-border-radius);
+ border-bottom-right-radius: var(--bs-pagination-border-radius);
+}
+.pagination-lg {
+ --bs-pagination-padding-x: 1.5rem;
+ --bs-pagination-padding-y: 0.75rem;
+ --bs-pagination-font-size: 1.25rem;
+ --bs-pagination-border-radius: var(--bs-border-radius-lg);
+}
+.pagination-sm {
+ --bs-pagination-padding-x: 0.5rem;
+ --bs-pagination-padding-y: 0.25rem;
+ --bs-pagination-font-size: 0.875rem;
+ --bs-pagination-border-radius: var(--bs-border-radius-sm);
+}
+.badge {
+ --bs-badge-padding-x: 0.65em;
+ --bs-badge-padding-y: 0.35em;
+ --bs-badge-font-size: 0.75em;
+ --bs-badge-font-weight: 700;
+ --bs-badge-color: #fff;
+ --bs-badge-border-radius: var(--bs-border-radius);
+ display: inline-block;
+ padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
+ font-size: var(--bs-badge-font-size);
+ font-weight: var(--bs-badge-font-weight);
+ line-height: 1;
+ color: var(--bs-badge-color);
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: var(--bs-badge-border-radius);
+}
+.badge:empty {
+ display: none;
+}
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+.alert {
+ --bs-alert-bg: transparent;
+ --bs-alert-padding-x: 1rem;
+ --bs-alert-padding-y: 1rem;
+ --bs-alert-margin-bottom: 1rem;
+ --bs-alert-color: inherit;
+ --bs-alert-border-color: transparent;
+ --bs-alert-border: var(--bs-border-width) solid
+ var(--bs-alert-border-color);
+ --bs-alert-border-radius: var(--bs-border-radius);
+ --bs-alert-link-color: inherit;
+ position: relative;
+ padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
+ margin-bottom: var(--bs-alert-margin-bottom);
+ color: var(--bs-alert-color);
+ background-color: var(--bs-alert-bg);
+ border: var(--bs-alert-border);
+ border-radius: var(--bs-alert-border-radius);
+}
+.alert-heading {
+ color: inherit;
+}
+.alert-link {
+ font-weight: 700;
+ color: var(--bs-alert-link-color);
+}
+.alert-dismissible {
+ padding-right: 3rem;
+}
+.alert-dismissible .btn-close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ padding: 1.25rem 1rem;
+}
+.alert-primary {
+ --bs-alert-color: var(--bs-primary-text-emphasis);
+ --bs-alert-bg: var(--bs-primary-bg-subtle);
+ --bs-alert-border-color: var(--bs-primary-border-subtle);
+ --bs-alert-link-color: var(--bs-primary-text-emphasis);
+}
+.alert-secondary {
+ --bs-alert-color: var(--bs-secondary-text-emphasis);
+ --bs-alert-bg: var(--bs-secondary-bg-subtle);
+ --bs-alert-border-color: var(--bs-secondary-border-subtle);
+ --bs-alert-link-color: var(--bs-secondary-text-emphasis);
+}
+.alert-success {
+ --bs-alert-color: var(--bs-success-text-emphasis);
+ --bs-alert-bg: var(--bs-success-bg-subtle);
+ --bs-alert-border-color: var(--bs-success-border-subtle);
+ --bs-alert-link-color: var(--bs-success-text-emphasis);
+}
+.alert-info {
+ --bs-alert-color: var(--bs-info-text-emphasis);
+ --bs-alert-bg: var(--bs-info-bg-subtle);
+ --bs-alert-border-color: var(--bs-info-border-subtle);
+ --bs-alert-link-color: var(--bs-info-text-emphasis);
+}
+.alert-warning {
+ --bs-alert-color: var(--bs-warning-text-emphasis);
+ --bs-alert-bg: var(--bs-warning-bg-subtle);
+ --bs-alert-border-color: var(--bs-warning-border-subtle);
+ --bs-alert-link-color: var(--bs-warning-text-emphasis);
+}
+.alert-danger {
+ --bs-alert-color: var(--bs-danger-text-emphasis);
+ --bs-alert-bg: var(--bs-danger-bg-subtle);
+ --bs-alert-border-color: var(--bs-danger-border-subtle);
+ --bs-alert-link-color: var(--bs-danger-text-emphasis);
+}
+.alert-light {
+ --bs-alert-color: var(--bs-light-text-emphasis);
+ --bs-alert-bg: var(--bs-light-bg-subtle);
+ --bs-alert-border-color: var(--bs-light-border-subtle);
+ --bs-alert-link-color: var(--bs-light-text-emphasis);
+}
+.alert-dark {
+ --bs-alert-color: var(--bs-dark-text-emphasis);
+ --bs-alert-bg: var(--bs-dark-bg-subtle);
+ --bs-alert-border-color: var(--bs-dark-border-subtle);
+ --bs-alert-link-color: var(--bs-dark-text-emphasis);
+}
+@keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+.progress,
+.progress-stacked {
+ --bs-progress-height: 1rem;
+ --bs-progress-font-size: 0.75rem;
+ --bs-progress-bg: var(--bs-secondary-bg);
+ --bs-progress-border-radius: var(--bs-border-radius);
+ --bs-progress-box-shadow: var(--bs-box-shadow-inset);
+ --bs-progress-bar-color: #fff;
+ --bs-progress-bar-bg: #0d6efd;
+ --bs-progress-bar-transition: width 0.6s ease;
+ display: flex;
+ height: var(--bs-progress-height);
+ overflow: hidden;
+ font-size: var(--bs-progress-font-size);
+ background-color: var(--bs-progress-bg);
+ border-radius: var(--bs-progress-border-radius);
+}
+.progress-bar {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ color: var(--bs-progress-bar-color);
+ text-align: center;
+ white-space: nowrap;
+ background-color: var(--bs-progress-bar-bg);
+ transition: var(--bs-progress-bar-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar {
+ transition: none;
+ }
+}
+.progress-bar-striped {
+ background-image: linear-gradient(
+ 45deg,
+ rgba(255, 255, 255, 0.15) 25%,
+ transparent 25%,
+ transparent 50%,
+ rgba(255, 255, 255, 0.15) 50%,
+ rgba(255, 255, 255, 0.15) 75%,
+ transparent 75%,
+ transparent
+ );
+ background-size: var(--bs-progress-height)
+ var(--bs-progress-height);
+}
+.progress-stacked > .progress {
+ overflow: visible;
+}
+.progress-stacked > .progress > .progress-bar {
+ width: 100%;
+}
+.progress-bar-animated {
+ animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar-animated {
+ animation: none;
+ }
+}
+.list-group {
+ --bs-list-group-color: var(--bs-body-color);
+ --bs-list-group-bg: var(--bs-body-bg);
+ --bs-list-group-border-color: var(--bs-border-color);
+ --bs-list-group-border-width: var(--bs-border-width);
+ --bs-list-group-border-radius: var(--bs-border-radius);
+ --bs-list-group-item-padding-x: 1rem;
+ --bs-list-group-item-padding-y: 0.5rem;
+ --bs-list-group-action-color: var(--bs-secondary-color);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
+ --bs-list-group-action-active-color: var(--bs-body-color);
+ --bs-list-group-action-active-bg: var(--bs-secondary-bg);
+ --bs-list-group-disabled-color: var(--bs-secondary-color);
+ --bs-list-group-disabled-bg: var(--bs-body-bg);
+ --bs-list-group-active-color: #fff;
+ --bs-list-group-active-bg: #0d6efd;
+ --bs-list-group-active-border-color: #0d6efd;
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ border-radius: var(--bs-list-group-border-radius);
+}
+.list-group-numbered {
+ list-style-type: none;
+ counter-reset: section;
+}
+.list-group-numbered > .list-group-item::before {
+ content: counters(section, ".") ". ";
+ counter-increment: section;
+}
+.list-group-item-action {
+ width: 100%;
+ color: var(--bs-list-group-action-color);
+ text-align: inherit;
+}
+.list-group-item-action:focus,
+.list-group-item-action:hover {
+ z-index: 1;
+ color: var(--bs-list-group-action-hover-color);
+ text-decoration: none;
+ background-color: var(--bs-list-group-action-hover-bg);
+}
+.list-group-item-action:active {
+ color: var(--bs-list-group-action-active-color);
+ background-color: var(--bs-list-group-action-active-bg);
+}
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: var(--bs-list-group-item-padding-y)
+ var(--bs-list-group-item-padding-x);
+ color: var(--bs-list-group-color);
+ text-decoration: none;
+ background-color: var(--bs-list-group-bg);
+ border: var(--bs-list-group-border-width) solid
+ var(--bs-list-group-border-color);
+}
+.list-group-item:first-child {
+ border-top-left-radius: inherit;
+ border-top-right-radius: inherit;
+}
+.list-group-item:last-child {
+ border-bottom-right-radius: inherit;
+ border-bottom-left-radius: inherit;
+}
+.list-group-item.disabled,
+.list-group-item:disabled {
+ color: var(--bs-list-group-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-list-group-disabled-bg);
+}
+.list-group-item.active {
+ z-index: 2;
+ color: var(--bs-list-group-active-color);
+ background-color: var(--bs-list-group-active-bg);
+ border-color: var(--bs-list-group-active-border-color);
+}
+.list-group-item + .list-group-item {
+ border-top-width: 0;
+}
+.list-group-item + .list-group-item.active {
+ margin-top: calc(-1 * var(--bs-list-group-border-width));
+ border-top-width: var(--bs-list-group-border-width);
+}
+.list-group-horizontal {
+ flex-direction: row;
+}
+.list-group-horizontal
+ > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+}
+.list-group-horizontal
+ > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+}
+.list-group-horizontal > .list-group-item.active {
+ margin-top: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+}
+.list-group-horizontal
+ > .list-group-item
+ + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+}
+@media (min-width: 576px) {
+ .list-group-horizontal-sm {
+ flex-direction: row;
+ }
+ .list-group-horizontal-sm
+ > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(
+ --bs-list-group-border-radius
+ );
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-sm
+ > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-sm
+ > .list-group-item
+ + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-sm
+ > .list-group-item
+ + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 768px) {
+ .list-group-horizontal-md {
+ flex-direction: row;
+ }
+ .list-group-horizontal-md
+ > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(
+ --bs-list-group-border-radius
+ );
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-md
+ > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-md
+ > .list-group-item
+ + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-md
+ > .list-group-item
+ + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 992px) {
+ .list-group-horizontal-lg {
+ flex-direction: row;
+ }
+ .list-group-horizontal-lg
+ > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(
+ --bs-list-group-border-radius
+ );
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-lg
+ > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-lg
+ > .list-group-item
+ + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-lg
+ > .list-group-item
+ + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 1200px) {
+ .list-group-horizontal-xl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xl
+ > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(
+ --bs-list-group-border-radius
+ );
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xl
+ > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xl
+ > .list-group-item
+ + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xl
+ > .list-group-item
+ + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 1400px) {
+ .list-group-horizontal-xxl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xxl
+ > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(
+ --bs-list-group-border-radius
+ );
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xxl
+ > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xxl
+ > .list-group-item
+ + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xxl
+ > .list-group-item
+ + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+.list-group-flush {
+ border-radius: 0;
+}
+.list-group-flush > .list-group-item {
+ border-width: 0 0 var(--bs-list-group-border-width);
+}
+.list-group-flush > .list-group-item:last-child {
+ border-bottom-width: 0;
+}
+.list-group-item-primary {
+ --bs-list-group-color: var(--bs-primary-text-emphasis);
+ --bs-list-group-bg: var(--bs-primary-bg-subtle);
+ --bs-list-group-border-color: var(--bs-primary-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(
+ --bs-primary-border-subtle
+ );
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(
+ --bs-primary-border-subtle
+ );
+ --bs-list-group-active-color: var(--bs-primary-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
+ --bs-list-group-active-border-color: var(
+ --bs-primary-text-emphasis
+ );
+}
+.list-group-item-secondary {
+ --bs-list-group-color: var(--bs-secondary-text-emphasis);
+ --bs-list-group-bg: var(--bs-secondary-bg-subtle);
+ --bs-list-group-border-color: var(--bs-secondary-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(
+ --bs-secondary-border-subtle
+ );
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(
+ --bs-secondary-border-subtle
+ );
+ --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
+ --bs-list-group-active-border-color: var(
+ --bs-secondary-text-emphasis
+ );
+}
+.list-group-item-success {
+ --bs-list-group-color: var(--bs-success-text-emphasis);
+ --bs-list-group-bg: var(--bs-success-bg-subtle);
+ --bs-list-group-border-color: var(--bs-success-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(
+ --bs-success-border-subtle
+ );
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(
+ --bs-success-border-subtle
+ );
+ --bs-list-group-active-color: var(--bs-success-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-success-text-emphasis);
+ --bs-list-group-active-border-color: var(
+ --bs-success-text-emphasis
+ );
+}
+.list-group-item-info {
+ --bs-list-group-color: var(--bs-info-text-emphasis);
+ --bs-list-group-bg: var(--bs-info-bg-subtle);
+ --bs-list-group-border-color: var(--bs-info-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
+ --bs-list-group-active-color: var(--bs-info-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-info-text-emphasis);
+ --bs-list-group-active-border-color: var(
+ --bs-info-text-emphasis
+ );
+}
+.list-group-item-warning {
+ --bs-list-group-color: var(--bs-warning-text-emphasis);
+ --bs-list-group-bg: var(--bs-warning-bg-subtle);
+ --bs-list-group-border-color: var(--bs-warning-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(
+ --bs-warning-border-subtle
+ );
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(
+ --bs-warning-border-subtle
+ );
+ --bs-list-group-active-color: var(--bs-warning-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
+ --bs-list-group-active-border-color: var(
+ --bs-warning-text-emphasis
+ );
+}
+.list-group-item-danger {
+ --bs-list-group-color: var(--bs-danger-text-emphasis);
+ --bs-list-group-bg: var(--bs-danger-bg-subtle);
+ --bs-list-group-border-color: var(--bs-danger-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(
+ --bs-danger-border-subtle
+ );
+ --bs-list-group-active-color: var(--bs-danger-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
+ --bs-list-group-active-border-color: var(
+ --bs-danger-text-emphasis
+ );
+}
+.list-group-item-light {
+ --bs-list-group-color: var(--bs-light-text-emphasis);
+ --bs-list-group-bg: var(--bs-light-bg-subtle);
+ --bs-list-group-border-color: var(--bs-light-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
+ --bs-list-group-active-color: var(--bs-light-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-light-text-emphasis);
+ --bs-list-group-active-border-color: var(
+ --bs-light-text-emphasis
+ );
+}
+.list-group-item-dark {
+ --bs-list-group-color: var(--bs-dark-text-emphasis);
+ --bs-list-group-bg: var(--bs-dark-bg-subtle);
+ --bs-list-group-border-color: var(--bs-dark-border-subtle);
+ --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+ --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
+ --bs-list-group-action-active-color: var(--bs-emphasis-color);
+ --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
+ --bs-list-group-active-color: var(--bs-dark-bg-subtle);
+ --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
+ --bs-list-group-active-border-color: var(
+ --bs-dark-text-emphasis
+ );
+}
+.btn-close {
+ --bs-btn-close-color: #000;
+ --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
+ --bs-btn-close-opacity: 0.5;
+ --bs-btn-close-hover-opacity: 0.75;
+ --bs-btn-close-focus-shadow: 0 0 0 0.25rem
+ rgba(13, 110, 253, 0.25);
+ --bs-btn-close-focus-opacity: 1;
+ --bs-btn-close-disabled-opacity: 0.25;
+ --bs-btn-close-white-filter: invert(1) grayscale(100%)
+ brightness(200%);
+ box-sizing: content-box;
+ width: 1em;
+ height: 1em;
+ padding: 0.25em 0.25em;
+ color: var(--bs-btn-close-color);
+ background: transparent var(--bs-btn-close-bg) center/1em auto
+ no-repeat;
+ border: 0;
+ border-radius: 0.375rem;
+ opacity: var(--bs-btn-close-opacity);
+}
+.btn-close:hover {
+ color: var(--bs-btn-close-color);
+ text-decoration: none;
+ opacity: var(--bs-btn-close-hover-opacity);
+}
+.btn-close:focus {
+ outline: 0;
+ box-shadow: var(--bs-btn-close-focus-shadow);
+ opacity: var(--bs-btn-close-focus-opacity);
+}
+.btn-close.disabled,
+.btn-close:disabled {
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ opacity: var(--bs-btn-close-disabled-opacity);
+}
+.btn-close-white {
+ filter: var(--bs-btn-close-white-filter);
+}
+[data-bs-theme="dark"] .btn-close {
+ filter: var(--bs-btn-close-white-filter);
+}
+.toast {
+ --bs-toast-zindex: 1090;
+ --bs-toast-padding-x: 0.75rem;
+ --bs-toast-padding-y: 0.5rem;
+ --bs-toast-spacing: 1.5rem;
+ --bs-toast-max-width: 350px;
+ --bs-toast-font-size: 0.875rem;
+ --bs-toast-color: ;
+ --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
+ --bs-toast-border-width: var(--bs-border-width);
+ --bs-toast-border-color: var(--bs-border-color-translucent);
+ --bs-toast-border-radius: var(--bs-border-radius);
+ --bs-toast-box-shadow: var(--bs-box-shadow);
+ --bs-toast-header-color: var(--bs-secondary-color);
+ --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
+ --bs-toast-header-border-color: var(
+ --bs-border-color-translucent
+ );
+ width: var(--bs-toast-max-width);
+ max-width: 100%;
+ font-size: var(--bs-toast-font-size);
+ color: var(--bs-toast-color);
+ pointer-events: auto;
+ background-color: var(--bs-toast-bg);
+ background-clip: padding-box;
+ border: var(--bs-toast-border-width) solid
+ var(--bs-toast-border-color);
+ box-shadow: var(--bs-toast-box-shadow);
+ border-radius: var(--bs-toast-border-radius);
+}
+.toast.showing {
+ opacity: 0;
+}
+.toast:not(.show) {
+ display: none;
+}
+.toast-container {
+ --bs-toast-zindex: 1090;
+ position: absolute;
+ z-index: var(--bs-toast-zindex);
+ width: -webkit-max-content;
+ width: -moz-max-content;
+ width: max-content;
+ max-width: 100%;
+ pointer-events: none;
+}
+.toast-container > :not(:last-child) {
+ margin-bottom: var(--bs-toast-spacing);
+}
+.toast-header {
+ display: flex;
+ align-items: center;
+ padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
+ color: var(--bs-toast-header-color);
+ background-color: var(--bs-toast-header-bg);
+ background-clip: padding-box;
+ border-bottom: var(--bs-toast-border-width) solid
+ var(--bs-toast-header-border-color);
+ border-top-left-radius: calc(
+ var(--bs-toast-border-radius) - var(--bs-toast-border-width)
+ );
+ border-top-right-radius: calc(
+ var(--bs-toast-border-radius) - var(--bs-toast-border-width)
+ );
+}
+.toast-header .btn-close {
+ margin-right: calc(-0.5 * var(--bs-toast-padding-x));
+ margin-left: var(--bs-toast-padding-x);
+}
+.toast-body {
+ padding: var(--bs-toast-padding-x);
+ word-wrap: break-word;
+}
+.modal {
+ --bs-modal-zindex: 1055;
+ --bs-modal-width: 500px;
+ --bs-modal-padding: 1rem;
+ --bs-modal-margin: 0.5rem;
+ --bs-modal-color: ;
+ --bs-modal-bg: var(--bs-body-bg);
+ --bs-modal-border-color: var(--bs-border-color-translucent);
+ --bs-modal-border-width: var(--bs-border-width);
+ --bs-modal-border-radius: var(--bs-border-radius-lg);
+ --bs-modal-box-shadow: var(--bs-box-shadow-sm);
+ --bs-modal-inner-border-radius: calc(
+ var(--bs-border-radius-lg) - (var(--bs-border-width))
+ );
+ --bs-modal-header-padding-x: 1rem;
+ --bs-modal-header-padding-y: 1rem;
+ --bs-modal-header-padding: 1rem 1rem;
+ --bs-modal-header-border-color: var(--bs-border-color);
+ --bs-modal-header-border-width: var(--bs-border-width);
+ --bs-modal-title-line-height: 1.5;
+ --bs-modal-footer-gap: 0.5rem;
+ --bs-modal-footer-bg: ;
+ --bs-modal-footer-border-color: var(--bs-border-color);
+ --bs-modal-footer-border-width: var(--bs-border-width);
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: var(--bs-modal-zindex);
+ display: none;
+ width: 100%;
+ height: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ outline: 0;
+}
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: var(--bs-modal-margin);
+ pointer-events: none;
+}
+.modal.fade .modal-dialog {
+ transition: transform 0.3s ease-out;
+ transform: translate(0, -50px);
+}
+@media (prefers-reduced-motion: reduce) {
+ .modal.fade .modal-dialog {
+ transition: none;
+ }
+}
+.modal.show .modal-dialog {
+ transform: none;
+}
+.modal.modal-static .modal-dialog {
+ transform: scale(1.02);
+}
+.modal-dialog-scrollable {
+ height: calc(100% - var(--bs-modal-margin) * 2);
+}
+.modal-dialog-scrollable .modal-content {
+ max-height: 100%;
+ overflow: hidden;
+}
+.modal-dialog-scrollable .modal-body {
+ overflow-y: auto;
+}
+.modal-dialog-centered {
+ display: flex;
+ align-items: center;
+ min-height: calc(100% - var(--bs-modal-margin) * 2);
+}
+.modal-content {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ color: var(--bs-modal-color);
+ pointer-events: auto;
+ background-color: var(--bs-modal-bg);
+ background-clip: padding-box;
+ border: var(--bs-modal-border-width) solid
+ var(--bs-modal-border-color);
+ border-radius: var(--bs-modal-border-radius);
+ outline: 0;
+}
+.modal-backdrop {
+ --bs-backdrop-zindex: 1050;
+ --bs-backdrop-bg: #000;
+ --bs-backdrop-opacity: 0.5;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: var(--bs-backdrop-zindex);
+ width: 100vw;
+ height: 100vh;
+ background-color: var(--bs-backdrop-bg);
+}
+.modal-backdrop.fade {
+ opacity: 0;
+}
+.modal-backdrop.show {
+ opacity: var(--bs-backdrop-opacity);
+}
+.modal-header {
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: space-between;
+ 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-footer,
+.modal-fullscreen .modal-header {
+ 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-footer,
+ .modal-fullscreen-sm-down .modal-header {
+ 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-footer,
+ .modal-fullscreen-md-down .modal-header {
+ 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-footer,
+ .modal-fullscreen-lg-down .modal-header {
+ 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-footer,
+ .modal-fullscreen-xl-down .modal-header {
+ 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-footer,
+ .modal-fullscreen-xxl-down .modal-header {
+ 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-auto[data-popper-placement^="top"] .tooltip-arrow,
+.bs-tooltip-top .tooltip-arrow {
+ bottom: calc(-1 * var(--bs-tooltip-arrow-height));
+}
+.bs-tooltip-auto[data-popper-placement^="top"]
+ .tooltip-arrow::before,
+.bs-tooltip-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);
+}
+.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow,
+.bs-tooltip-end .tooltip-arrow {
+ left: calc(-1 * var(--bs-tooltip-arrow-height));
+ width: var(--bs-tooltip-arrow-height);
+ height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-auto[data-popper-placement^="right"]
+ .tooltip-arrow::before,
+.bs-tooltip-end .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);
+}
+.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow,
+.bs-tooltip-bottom .tooltip-arrow {
+ top: calc(-1 * var(--bs-tooltip-arrow-height));
+}
+.bs-tooltip-auto[data-popper-placement^="bottom"]
+ .tooltip-arrow::before,
+.bs-tooltip-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);
+}
+.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow,
+.bs-tooltip-start .tooltip-arrow {
+ right: calc(-1 * var(--bs-tooltip-arrow-height));
+ width: var(--bs-tooltip-arrow-height);
+ height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-auto[data-popper-placement^="left"]
+ .tooltip-arrow::before,
+.bs-tooltip-start .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);
+}
+.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::after,
+.popover .popover-arrow::before {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+ border-width: 0;
+}
+.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow,
+.bs-popover-top > .popover-arrow {
+ bottom: calc(
+ -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)
+ );
+}
+.bs-popover-auto[data-popper-placement^="top"]
+ > .popover-arrow::after,
+.bs-popover-auto[data-popper-placement^="top"]
+ > .popover-arrow::before,
+.bs-popover-top > .popover-arrow::after,
+.bs-popover-top > .popover-arrow::before {
+ border-width: var(--bs-popover-arrow-height)
+ calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-auto[data-popper-placement^="top"]
+ > .popover-arrow::before,
+.bs-popover-top > .popover-arrow::before {
+ bottom: 0;
+ border-top-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-auto[data-popper-placement^="top"]
+ > .popover-arrow::after,
+.bs-popover-top > .popover-arrow::after {
+ bottom: var(--bs-popover-border-width);
+ border-top-color: var(--bs-popover-bg);
+}
+.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow,
+.bs-popover-end > .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-auto[data-popper-placement^="right"]
+ > .popover-arrow::after,
+.bs-popover-auto[data-popper-placement^="right"]
+ > .popover-arrow::before,
+.bs-popover-end > .popover-arrow::after,
+.bs-popover-end > .popover-arrow::before {
+ 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-auto[data-popper-placement^="right"]
+ > .popover-arrow::before,
+.bs-popover-end > .popover-arrow::before {
+ left: 0;
+ border-right-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-auto[data-popper-placement^="right"]
+ > .popover-arrow::after,
+.bs-popover-end > .popover-arrow::after {
+ left: var(--bs-popover-border-width);
+ border-right-color: var(--bs-popover-bg);
+}
+.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow,
+.bs-popover-bottom > .popover-arrow {
+ top: calc(
+ -1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)
+ );
+}
+.bs-popover-auto[data-popper-placement^="bottom"]
+ > .popover-arrow::after,
+.bs-popover-auto[data-popper-placement^="bottom"]
+ > .popover-arrow::before,
+.bs-popover-bottom > .popover-arrow::after,
+.bs-popover-bottom > .popover-arrow::before {
+ border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5)
+ var(--bs-popover-arrow-height);
+}
+.bs-popover-auto[data-popper-placement^="bottom"]
+ > .popover-arrow::before,
+.bs-popover-bottom > .popover-arrow::before {
+ top: 0;
+ border-bottom-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-auto[data-popper-placement^="bottom"]
+ > .popover-arrow::after,
+.bs-popover-bottom > .popover-arrow::after {
+ top: var(--bs-popover-border-width);
+ border-bottom-color: var(--bs-popover-bg);
+}
+.bs-popover-auto[data-popper-placement^="bottom"]
+ .popover-header::before,
+.bs-popover-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);
+}
+.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow,
+.bs-popover-start > .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-auto[data-popper-placement^="left"]
+ > .popover-arrow::after,
+.bs-popover-auto[data-popper-placement^="left"]
+ > .popover-arrow::before,
+.bs-popover-start > .popover-arrow::after,
+.bs-popover-start > .popover-arrow::before {
+ 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-auto[data-popper-placement^="left"]
+ > .popover-arrow::before,
+.bs-popover-start > .popover-arrow::before {
+ right: 0;
+ border-left-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-auto[data-popper-placement^="left"]
+ > .popover-arrow::after,
+.bs-popover-start > .popover-arrow::after {
+ right: var(--bs-popover-border-width);
+ border-left-color: var(--bs-popover-bg);
+}
+.popover-header {
+ padding: var(--bs-popover-header-padding-y)
+ var(--bs-popover-header-padding-x);
+ margin-bottom: 0;
+ font-size: var(--bs-popover-header-font-size);
+ color: var(--bs-popover-header-color);
+ background-color: var(--bs-popover-header-bg);
+ border-bottom: var(--bs-popover-border-width) solid
+ var(--bs-popover-border-color);
+ border-top-left-radius: var(--bs-popover-inner-border-radius);
+ border-top-right-radius: var(--bs-popover-inner-border-radius);
+}
+.popover-header:empty {
+ display: none;
+}
+.popover-body {
+ padding: var(--bs-popover-body-padding-y)
+ var(--bs-popover-body-padding-x);
+ color: var(--bs-popover-body-color);
+}
+.carousel {
+ position: relative;
+}
+.carousel.pointer-event {
+ touch-action: pan-y;
+}
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+.carousel-item {
+ position: relative;
+ display: none;
+ float: left;
+ width: 100%;
+ margin-right: -100%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ transition: transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ transition: none;
+ }
+}
+.carousel-item-next,
+.carousel-item-prev,
+.carousel-item.active {
+ display: block;
+}
+.active.carousel-item-end,
+.carousel-item-next:not(.carousel-item-start) {
+ transform: translateX(100%);
+}
+.active.carousel-item-start,
+.carousel-item-prev:not(.carousel-item-end) {
+ transform: translateX(-100%);
+}
+.carousel-fade .carousel-item {
+ opacity: 0;
+ transition-property: opacity;
+ transform: none;
+}
+.carousel-fade .carousel-item-next.carousel-item-start,
+.carousel-fade .carousel-item-prev.carousel-item-end,
+.carousel-fade .carousel-item.active {
+ z-index: 1;
+ opacity: 1;
+}
+.carousel-fade .active.carousel-item-end,
+.carousel-fade .active.carousel-item-start {
+ z-index: 0;
+ opacity: 0;
+ transition: opacity 0s 0.6s;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-fade .active.carousel-item-end,
+ .carousel-fade .active.carousel-item-start {
+ transition: none;
+ }
+}
+.carousel-control-next,
+.carousel-control-prev {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 15%;
+ padding: 0;
+ color: #fff;
+ text-align: center;
+ background: 0 0;
+ border: 0;
+ opacity: 0.5;
+ transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-control-next,
+ .carousel-control-prev {
+ transition: none;
+ }
+}
+.carousel-control-next:focus,
+.carousel-control-next:hover,
+.carousel-control-prev:focus,
+.carousel-control-prev:hover {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: 0.9;
+}
+.carousel-control-prev {
+ left: 0;
+}
+.carousel-control-next {
+ right: 0;
+}
+.carousel-control-next-icon,
+.carousel-control-prev-icon {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100% 100%;
+}
+.carousel-control-prev-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
+}
+.carousel-control-next-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+}
+.carousel-indicators {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 2;
+ display: flex;
+ justify-content: center;
+ padding: 0;
+ margin-right: 15%;
+ margin-bottom: 1rem;
+ margin-left: 15%;
+}
+.carousel-indicators [data-bs-target] {
+ box-sizing: content-box;
+ flex: 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-next-icon,
+.carousel-dark .carousel-control-prev-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-next-icon,
+[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 {
+ 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-border,
+.spinner-grow {
+ display: inline-block;
+ width: var(--bs-spinner-width);
+ height: var(--bs-spinner-height);
+ vertical-align: var(--bs-spinner-vertical-align);
+ border-radius: 50%;
+ animation: var(--bs-spinner-animation-speed) linear infinite
+ var(--bs-spinner-animation-name);
+}
+@keyframes spinner-border {
+ to {
+ transform: rotate(360deg);
+ }
+}
+.spinner-border {
+ --bs-spinner-width: 2rem;
+ --bs-spinner-height: 2rem;
+ --bs-spinner-vertical-align: -0.125em;
+ --bs-spinner-border-width: 0.25em;
+ --bs-spinner-animation-speed: 0.75s;
+ --bs-spinner-animation-name: spinner-border;
+ border: var(--bs-spinner-border-width) solid 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-lg,
+.offcanvas-md,
+.offcanvas-sm,
+.offcanvas-xl,
+.offcanvas-xxl {
+ --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.show:not(.hiding),
+ .offcanvas-sm.showing {
+ transform: none;
+ }
+ .offcanvas-sm.hiding,
+ .offcanvas-sm.show,
+ .offcanvas-sm.showing {
+ 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.show:not(.hiding),
+ .offcanvas-md.showing {
+ transform: none;
+ }
+ .offcanvas-md.hiding,
+ .offcanvas-md.show,
+ .offcanvas-md.showing {
+ 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.show:not(.hiding),
+ .offcanvas-lg.showing {
+ transform: none;
+ }
+ .offcanvas-lg.hiding,
+ .offcanvas-lg.show,
+ .offcanvas-lg.showing {
+ 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.show:not(.hiding),
+ .offcanvas-xl.showing {
+ transform: none;
+ }
+ .offcanvas-xl.hiding,
+ .offcanvas-xl.show,
+ .offcanvas-xl.showing {
+ 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.show:not(.hiding),
+ .offcanvas-xxl.showing {
+ transform: none;
+ }
+ .offcanvas-xxl.hiding,
+ .offcanvas-xxl.show,
+ .offcanvas-xxl.showing {
+ 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.show:not(.hiding),
+.offcanvas.showing {
+ transform: none;
+}
+.offcanvas.hiding,
+.offcanvas.show,
+.offcanvas.showing {
+ 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;
+ justify-content: space-between;
+ 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-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
+ margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
+ margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
+}
+.offcanvas-title {
+ margin-bottom: 0;
+ line-height: var(--bs-offcanvas-title-line-height);
+}
+.offcanvas-body {
+ flex-grow: 1;
+ padding: var(--bs-offcanvas-padding-y)
+ var(--bs-offcanvas-padding-x);
+ overflow-y: auto;
+}
+.placeholder {
+ display: inline-block;
+ min-height: 1em;
+ vertical-align: middle;
+ cursor: wait;
+ background-color: currentcolor;
+ opacity: 0.5;
+}
+.placeholder.btn::before {
+ display: inline-block;
+ content: "";
+}
+.placeholder-xs {
+ min-height: 0.6em;
+}
+.placeholder-sm {
+ min-height: 0.8em;
+}
+.placeholder-lg {
+ min-height: 1.2em;
+}
+.placeholder-glow .placeholder {
+ animation: placeholder-glow 2s ease-in-out infinite;
+}
+@keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+.placeholder-wave {
+ -webkit-mask-image: linear-gradient(
+ 130deg,
+ #000 55%,
+ rgba(0, 0, 0, 0.8) 75%,
+ #000 95%
+ );
+ mask-image: linear-gradient(
+ 130deg,
+ #000 55%,
+ rgba(0, 0, 0, 0.8) 75%,
+ #000 95%
+ );
+ -webkit-mask-size: 200% 100%;
+ mask-size: 200% 100%;
+ animation: placeholder-wave 2s linear infinite;
+}
+@keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+.clearfix::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+.text-bg-primary {
+ color: #fff !important;
+ background-color: RGBA(
+ var(--bs-primary-rgb),
+ var(--bs-bg-opacity, 1)
+ ) !important;
+}
+.text-bg-secondary {
+ color: #fff !important;
+ background-color: RGBA(
+ var(--bs-secondary-rgb),
+ var(--bs-bg-opacity, 1)
+ ) !important;
+}
+.text-bg-success {
+ color: #fff !important;
+ background-color: RGBA(
+ var(--bs-success-rgb),
+ var(--bs-bg-opacity, 1)
+ ) !important;
+}
+.text-bg-info {
+ color: #000 !important;
+ background-color: RGBA(
+ var(--bs-info-rgb),
+ var(--bs-bg-opacity, 1)
+ ) !important;
+}
+.text-bg-warning {
+ color: #000 !important;
+ background-color: RGBA(
+ var(--bs-warning-rgb),
+ var(--bs-bg-opacity, 1)
+ ) !important;
+}
+.text-bg-danger {
+ color: #fff !important;
+ background-color: RGBA(
+ var(--bs-danger-rgb),
+ var(--bs-bg-opacity, 1)
+ ) !important;
+}
+.text-bg-light {
+ color: #000 !important;
+ background-color: RGBA(
+ var(--bs-light-rgb),
+ var(--bs-bg-opacity, 1)
+ ) !important;
+}
+.text-bg-dark {
+ color: #fff !important;
+ background-color: RGBA(
+ var(--bs-dark-rgb),
+ var(--bs-bg-opacity, 1)
+ ) !important;
+}
+.link-primary {
+ color: RGBA(
+ var(--bs-primary-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-primary-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-primary-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-primary:focus,
+.link-primary:hover {
+ color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(
+ 10,
+ 88,
+ 202,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ 10,
+ 88,
+ 202,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-secondary {
+ color: RGBA(
+ var(--bs-secondary-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-secondary-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-secondary-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-secondary:focus,
+.link-secondary:hover {
+ color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(
+ 86,
+ 94,
+ 100,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ 86,
+ 94,
+ 100,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-success {
+ color: RGBA(
+ var(--bs-success-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-success-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-success-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-success:focus,
+.link-success:hover {
+ color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(
+ 20,
+ 108,
+ 67,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ 20,
+ 108,
+ 67,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-info {
+ color: RGBA(
+ var(--bs-info-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-info-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-info-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-info:focus,
+.link-info:hover {
+ color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(
+ 61,
+ 213,
+ 243,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ 61,
+ 213,
+ 243,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-warning {
+ color: RGBA(
+ var(--bs-warning-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-warning-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-warning-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-warning:focus,
+.link-warning:hover {
+ color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(
+ 255,
+ 205,
+ 57,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ 255,
+ 205,
+ 57,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-danger {
+ color: RGBA(
+ var(--bs-danger-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-danger-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-danger-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-danger:focus,
+.link-danger:hover {
+ color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(
+ 176,
+ 42,
+ 55,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ 176,
+ 42,
+ 55,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-light {
+ color: RGBA(
+ var(--bs-light-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-light-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-light-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-light:focus,
+.link-light:hover {
+ color: RGBA(
+ 249,
+ 250,
+ 251,
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ 249,
+ 250,
+ 251,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ 249,
+ 250,
+ 251,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-dark {
+ color: RGBA(
+ var(--bs-dark-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-dark-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-dark-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-dark:focus,
+.link-dark:hover {
+ color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
+ -webkit-text-decoration-color: RGBA(
+ 26,
+ 30,
+ 33,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ 26,
+ 30,
+ 33,
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-body-emphasis {
+ color: RGBA(
+ var(--bs-emphasis-color-rgb),
+ var(--bs-link-opacity, 1)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-emphasis-color-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: RGBA(
+ var(--bs-emphasis-color-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-body-emphasis:focus,
+.link-body-emphasis:hover {
+ color: RGBA(
+ var(--bs-emphasis-color-rgb),
+ var(--bs-link-opacity, 0.75)
+ ) !important;
+ -webkit-text-decoration-color: RGBA(
+ var(--bs-emphasis-color-rgb),
+ var(--bs-link-underline-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;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-link-color-rgb),
+ var(--bs-link-opacity, 0.5)
+ );
+ text-decoration-color: rgba(
+ var(--bs-link-color-rgb),
+ var(--bs-link-opacity, 0.5)
+ );
+ text-underline-offset: 0.25em;
+ -webkit-backface-visibility: hidden;
+ 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:focus-visible > .bi,
+.icon-link-hover:hover > .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: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+.sticky-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+}
+@media (min-width: 576px) {
+ .sticky-sm-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-sm-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 768px) {
+ .sticky-md-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-md-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 992px) {
+ .sticky-lg-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-lg-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xl-bottom {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1400px) {
+ .sticky-xxl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xxl-bottom {
+ position: -webkit-sticky;
+ 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-focusable:not(:focus):not(:focus-within):not(
+ caption
+ ),
+.visually-hidden:not(caption) {
+ position: absolute !important;
+}
+.stretched-link::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ content: "";
+}
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.vr {
+ display: inline-block;
+ align-self: stretch;
+ width: var(--bs-border-width);
+ min-height: 1em;
+ background-color: currentcolor;
+ opacity: 0.25;
+}
+.align-baseline {
+ vertical-align: baseline !important;
+}
+.align-top {
+ vertical-align: top !important;
+}
+.align-middle {
+ vertical-align: middle !important;
+}
+.align-bottom {
+ vertical-align: bottom !important;
+}
+.align-text-bottom {
+ vertical-align: text-bottom !important;
+}
+.align-text-top {
+ vertical-align: text-top !important;
+}
+.float-start {
+ float: left !important;
+}
+.float-end {
+ float: right !important;
+}
+.float-none {
+ float: none !important;
+}
+.object-fit-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+}
+.object-fit-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+}
+.object-fit-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+}
+.object-fit-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+}
+.object-fit-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+}
+.opacity-0 {
+ opacity: 0 !important;
+}
+.opacity-25 {
+ opacity: 0.25 !important;
+}
+.opacity-50 {
+ opacity: 0.5 !important;
+}
+.opacity-75 {
+ opacity: 0.75 !important;
+}
+.opacity-100 {
+ opacity: 1 !important;
+}
+.overflow-auto {
+ overflow: auto !important;
+}
+.overflow-hidden {
+ overflow: hidden !important;
+}
+.overflow-visible {
+ overflow: visible !important;
+}
+.overflow-scroll {
+ overflow: scroll !important;
+}
+.overflow-x-auto {
+ overflow-x: auto !important;
+}
+.overflow-x-hidden {
+ overflow-x: hidden !important;
+}
+.overflow-x-visible {
+ overflow-x: visible !important;
+}
+.overflow-x-scroll {
+ overflow-x: scroll !important;
+}
+.overflow-y-auto {
+ overflow-y: auto !important;
+}
+.overflow-y-hidden {
+ overflow-y: hidden !important;
+}
+.overflow-y-visible {
+ overflow-y: visible !important;
+}
+.overflow-y-scroll {
+ overflow-y: scroll !important;
+}
+.d-inline {
+ display: inline !important;
+}
+.d-inline-block {
+ display: inline-block !important;
+}
+.d-block {
+ display: block !important;
+}
+.d-grid {
+ display: grid !important;
+}
+.d-inline-grid {
+ display: inline-grid !important;
+}
+.d-table {
+ display: table !important;
+}
+.d-table-row {
+ display: table-row !important;
+}
+.d-table-cell {
+ display: table-cell !important;
+}
+.d-flex {
+ display: flex !important;
+}
+.d-inline-flex {
+ display: inline-flex !important;
+}
+.d-none {
+ display: none !important;
+}
+.shadow {
+ box-shadow: var(--bs-box-shadow) !important;
+}
+.shadow-sm {
+ box-shadow: var(--bs-box-shadow-sm) !important;
+}
+.shadow-lg {
+ box-shadow: var(--bs-box-shadow-lg) !important;
+}
+.shadow-none {
+ box-shadow: none !important;
+}
+.focus-ring-primary {
+ --bs-focus-ring-color: rgba(
+ var(--bs-primary-rgb),
+ var(--bs-focus-ring-opacity)
+ );
+}
+.focus-ring-secondary {
+ --bs-focus-ring-color: rgba(
+ var(--bs-secondary-rgb),
+ var(--bs-focus-ring-opacity)
+ );
+}
+.focus-ring-success {
+ --bs-focus-ring-color: rgba(
+ var(--bs-success-rgb),
+ var(--bs-focus-ring-opacity)
+ );
+}
+.focus-ring-info {
+ --bs-focus-ring-color: rgba(
+ var(--bs-info-rgb),
+ var(--bs-focus-ring-opacity)
+ );
+}
+.focus-ring-warning {
+ --bs-focus-ring-color: rgba(
+ var(--bs-warning-rgb),
+ var(--bs-focus-ring-opacity)
+ );
+}
+.focus-ring-danger {
+ --bs-focus-ring-color: rgba(
+ var(--bs-danger-rgb),
+ var(--bs-focus-ring-opacity)
+ );
+}
+.focus-ring-light {
+ --bs-focus-ring-color: rgba(
+ var(--bs-light-rgb),
+ var(--bs-focus-ring-opacity)
+ );
+}
+.focus-ring-dark {
+ --bs-focus-ring-color: rgba(
+ var(--bs-dark-rgb),
+ var(--bs-focus-ring-opacity)
+ );
+}
+.position-static {
+ position: static !important;
+}
+.position-relative {
+ position: relative !important;
+}
+.position-absolute {
+ position: absolute !important;
+}
+.position-fixed {
+ position: fixed !important;
+}
+.position-sticky {
+ position: -webkit-sticky !important;
+ position: sticky !important;
+}
+.top-0 {
+ top: 0 !important;
+}
+.top-50 {
+ top: 50% !important;
+}
+.top-100 {
+ top: 100% !important;
+}
+.bottom-0 {
+ bottom: 0 !important;
+}
+.bottom-50 {
+ bottom: 50% !important;
+}
+.bottom-100 {
+ bottom: 100% !important;
+}
+.start-0 {
+ left: 0 !important;
+}
+.start-50 {
+ left: 50% !important;
+}
+.start-100 {
+ left: 100% !important;
+}
+.end-0 {
+ right: 0 !important;
+}
+.end-50 {
+ right: 50% !important;
+}
+.end-100 {
+ right: 100% !important;
+}
+.translate-middle {
+ transform: translate(-50%, -50%) !important;
+}
+.translate-middle-x {
+ transform: translateX(-50%) !important;
+}
+.translate-middle-y {
+ transform: translateY(-50%) !important;
+}
+.border {
+ border: var(--bs-border-width) var(--bs-border-style)
+ var(--bs-border-color) !important;
+}
+.border-0 {
+ border: 0 !important;
+}
+.border-top {
+ border-top: var(--bs-border-width) var(--bs-border-style)
+ var(--bs-border-color) !important;
+}
+.border-top-0 {
+ border-top: 0 !important;
+}
+.border-end {
+ border-right: var(--bs-border-width) var(--bs-border-style)
+ var(--bs-border-color) !important;
+}
+.border-end-0 {
+ border-right: 0 !important;
+}
+.border-bottom {
+ border-bottom: var(--bs-border-width) var(--bs-border-style)
+ var(--bs-border-color) !important;
+}
+.border-bottom-0 {
+ border-bottom: 0 !important;
+}
+.border-start {
+ border-left: var(--bs-border-width) var(--bs-border-style)
+ var(--bs-border-color) !important;
+}
+.border-start-0 {
+ border-left: 0 !important;
+}
+.border-primary {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-primary-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-secondary {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-secondary-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-success {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-success-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-info {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-info-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-warning {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-warning-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-danger {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-danger-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-light {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-light-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-dark {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-dark-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-black {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-black-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-white {
+ --bs-border-opacity: 1;
+ border-color: rgba(
+ var(--bs-white-rgb),
+ var(--bs-border-opacity)
+ ) !important;
+}
+.border-primary-subtle {
+ border-color: var(--bs-primary-border-subtle) !important;
+}
+.border-secondary-subtle {
+ border-color: var(--bs-secondary-border-subtle) !important;
+}
+.border-success-subtle {
+ border-color: var(--bs-success-border-subtle) !important;
+}
+.border-info-subtle {
+ border-color: var(--bs-info-border-subtle) !important;
+}
+.border-warning-subtle {
+ border-color: var(--bs-warning-border-subtle) !important;
+}
+.border-danger-subtle {
+ border-color: var(--bs-danger-border-subtle) !important;
+}
+.border-light-subtle {
+ border-color: var(--bs-light-border-subtle) !important;
+}
+.border-dark-subtle {
+ border-color: var(--bs-dark-border-subtle) !important;
+}
+.border-1 {
+ border-width: 1px !important;
+}
+.border-2 {
+ border-width: 2px !important;
+}
+.border-3 {
+ border-width: 3px !important;
+}
+.border-4 {
+ border-width: 4px !important;
+}
+.border-5 {
+ border-width: 5px !important;
+}
+.border-opacity-10 {
+ --bs-border-opacity: 0.1;
+}
+.border-opacity-25 {
+ --bs-border-opacity: 0.25;
+}
+.border-opacity-50 {
+ --bs-border-opacity: 0.5;
+}
+.border-opacity-75 {
+ --bs-border-opacity: 0.75;
+}
+.border-opacity-100 {
+ --bs-border-opacity: 1;
+}
+.w-25 {
+ width: 25% !important;
+}
+.w-50 {
+ width: 50% !important;
+}
+.w-75 {
+ width: 75% !important;
+}
+.w-100 {
+ width: 100% !important;
+}
+.w-auto {
+ width: auto !important;
+}
+.mw-100 {
+ max-width: 100% !important;
+}
+.vw-100 {
+ width: 100vw !important;
+}
+.min-vw-100 {
+ min-width: 100vw !important;
+}
+.h-25 {
+ height: 25% !important;
+}
+.h-50 {
+ height: 50% !important;
+}
+.h-75 {
+ height: 75% !important;
+}
+.h-100 {
+ height: 100% !important;
+}
+.h-auto {
+ height: auto !important;
+}
+.mh-100 {
+ max-height: 100% !important;
+}
+.vh-100 {
+ height: 100vh !important;
+}
+.min-vh-100 {
+ min-height: 100vh !important;
+}
+.flex-fill {
+ flex: 1 1 auto !important;
+}
+.flex-row {
+ flex-direction: row !important;
+}
+.flex-column {
+ flex-direction: column !important;
+}
+.flex-row-reverse {
+ flex-direction: row-reverse !important;
+}
+.flex-column-reverse {
+ flex-direction: column-reverse !important;
+}
+.flex-grow-0 {
+ flex-grow: 0 !important;
+}
+.flex-grow-1 {
+ flex-grow: 1 !important;
+}
+.flex-shrink-0 {
+ flex-shrink: 0 !important;
+}
+.flex-shrink-1 {
+ flex-shrink: 1 !important;
+}
+.flex-wrap {
+ flex-wrap: wrap !important;
+}
+.flex-nowrap {
+ flex-wrap: nowrap !important;
+}
+.flex-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+}
+.justify-content-start {
+ justify-content: flex-start !important;
+}
+.justify-content-end {
+ justify-content: flex-end !important;
+}
+.justify-content-center {
+ justify-content: center !important;
+}
+.justify-content-between {
+ justify-content: space-between !important;
+}
+.justify-content-around {
+ justify-content: space-around !important;
+}
+.justify-content-evenly {
+ justify-content: space-evenly !important;
+}
+.align-items-start {
+ align-items: flex-start !important;
+}
+.align-items-end {
+ align-items: flex-end !important;
+}
+.align-items-center {
+ align-items: center !important;
+}
+.align-items-baseline {
+ align-items: baseline !important;
+}
+.align-items-stretch {
+ align-items: stretch !important;
+}
+.align-content-start {
+ align-content: flex-start !important;
+}
+.align-content-end {
+ align-content: flex-end !important;
+}
+.align-content-center {
+ align-content: center !important;
+}
+.align-content-between {
+ align-content: space-between !important;
+}
+.align-content-around {
+ align-content: space-around !important;
+}
+.align-content-stretch {
+ align-content: stretch !important;
+}
+.align-self-auto {
+ align-self: auto !important;
+}
+.align-self-start {
+ align-self: flex-start !important;
+}
+.align-self-end {
+ align-self: flex-end !important;
+}
+.align-self-center {
+ align-self: center !important;
+}
+.align-self-baseline {
+ align-self: baseline !important;
+}
+.align-self-stretch {
+ align-self: stretch !important;
+}
+.order-first {
+ order: -1 !important;
+}
+.order-0 {
+ order: 0 !important;
+}
+.order-1 {
+ order: 1 !important;
+}
+.order-2 {
+ order: 2 !important;
+}
+.order-3 {
+ order: 3 !important;
+}
+.order-4 {
+ order: 4 !important;
+}
+.order-5 {
+ order: 5 !important;
+}
+.order-last {
+ order: 6 !important;
+}
+.m-0 {
+ margin: 0 !important;
+}
+.m-1 {
+ margin: 0.25rem !important;
+}
+.m-2 {
+ margin: 0.5rem !important;
+}
+.m-3 {
+ margin: 1rem !important;
+}
+.m-4 {
+ margin: 1.5rem !important;
+}
+.m-5 {
+ margin: 3rem !important;
+}
+.m-auto {
+ margin: auto !important;
+}
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+}
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+}
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+}
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+}
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+}
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+}
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+}
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+}
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+}
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+}
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+}
+.mt-0 {
+ margin-top: 0 !important;
+}
+.mt-1 {
+ margin-top: 0.25rem !important;
+}
+.mt-2 {
+ margin-top: 0.5rem !important;
+}
+.mt-3 {
+ margin-top: 1rem !important;
+}
+.mt-4 {
+ margin-top: 1.5rem !important;
+}
+.mt-5 {
+ margin-top: 3rem !important;
+}
+.mt-auto {
+ margin-top: auto !important;
+}
+.me-0 {
+ margin-right: 0 !important;
+}
+.me-1 {
+ margin-right: 0.25rem !important;
+}
+.me-2 {
+ margin-right: 0.5rem !important;
+}
+.me-3 {
+ margin-right: 1rem !important;
+}
+.me-4 {
+ margin-right: 1.5rem !important;
+}
+.me-5 {
+ margin-right: 3rem !important;
+}
+.me-auto {
+ margin-right: auto !important;
+}
+.mb-0 {
+ margin-bottom: 0 !important;
+}
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
+.mb-auto {
+ margin-bottom: auto !important;
+}
+.ms-0 {
+ margin-left: 0 !important;
+}
+.ms-1 {
+ margin-left: 0.25rem !important;
+}
+.ms-2 {
+ margin-left: 0.5rem !important;
+}
+.ms-3 {
+ margin-left: 1rem !important;
+}
+.ms-4 {
+ margin-left: 1.5rem !important;
+}
+.ms-5 {
+ margin-left: 3rem !important;
+}
+.ms-auto {
+ margin-left: auto !important;
+}
+.p-0 {
+ padding: 0 !important;
+}
+.p-1 {
+ padding: 0.25rem !important;
+}
+.p-2 {
+ padding: 0.5rem !important;
+}
+.p-3 {
+ padding: 1rem !important;
+}
+.p-4 {
+ padding: 1.5rem !important;
+}
+.p-5 {
+ padding: 3rem !important;
+}
+.px-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+.px-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+}
+.px-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+}
+.px-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+}
+.px-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+}
+.py-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+.py-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+}
+.py-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+}
+.py-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+}
+.py-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+}
+.pt-0 {
+ padding-top: 0 !important;
+}
+.pt-1 {
+ padding-top: 0.25rem !important;
+}
+.pt-2 {
+ padding-top: 0.5rem !important;
+}
+.pt-3 {
+ padding-top: 1rem !important;
+}
+.pt-4 {
+ padding-top: 1.5rem !important;
+}
+.pt-5 {
+ padding-top: 3rem !important;
+}
+.pe-0 {
+ padding-right: 0 !important;
+}
+.pe-1 {
+ padding-right: 0.25rem !important;
+}
+.pe-2 {
+ padding-right: 0.5rem !important;
+}
+.pe-3 {
+ padding-right: 1rem !important;
+}
+.pe-4 {
+ padding-right: 1.5rem !important;
+}
+.pe-5 {
+ padding-right: 3rem !important;
+}
+.pb-0 {
+ padding-bottom: 0 !important;
+}
+.pb-1 {
+ padding-bottom: 0.25rem !important;
+}
+.pb-2 {
+ padding-bottom: 0.5rem !important;
+}
+.pb-3 {
+ padding-bottom: 1rem !important;
+}
+.pb-4 {
+ padding-bottom: 1.5rem !important;
+}
+.pb-5 {
+ padding-bottom: 3rem !important;
+}
+.ps-0 {
+ padding-left: 0 !important;
+}
+.ps-1 {
+ padding-left: 0.25rem !important;
+}
+.ps-2 {
+ padding-left: 0.5rem !important;
+}
+.ps-3 {
+ padding-left: 1rem !important;
+}
+.ps-4 {
+ padding-left: 1.5rem !important;
+}
+.ps-5 {
+ padding-left: 3rem !important;
+}
+.gap-0 {
+ gap: 0 !important;
+}
+.gap-1 {
+ gap: 0.25rem !important;
+}
+.gap-2 {
+ gap: 0.5rem !important;
+}
+.gap-3 {
+ gap: 1rem !important;
+}
+.gap-4 {
+ gap: 1.5rem !important;
+}
+.gap-5 {
+ gap: 3rem !important;
+}
+.row-gap-0 {
+ row-gap: 0 !important;
+}
+.row-gap-1 {
+ row-gap: 0.25rem !important;
+}
+.row-gap-2 {
+ row-gap: 0.5rem !important;
+}
+.row-gap-3 {
+ row-gap: 1rem !important;
+}
+.row-gap-4 {
+ row-gap: 1.5rem !important;
+}
+.row-gap-5 {
+ row-gap: 3rem !important;
+}
+.column-gap-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+}
+.column-gap-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+}
+.column-gap-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+}
+.column-gap-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+}
+.column-gap-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+}
+.column-gap-5 {
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+}
+.font-monospace {
+ font-family: var(--bs-font-monospace) !important;
+}
+.fs-1 {
+ font-size: calc(1.375rem + 1.5vw) !important;
+}
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
+}
+.fs-3 {
+ font-size: calc(1.3rem + 0.6vw) !important;
+}
+.fs-4 {
+ font-size: calc(1.275rem + 0.3vw) !important;
+}
+.fs-5 {
+ font-size: 1.25rem !important;
+}
+.fs-6 {
+ font-size: 1rem !important;
+}
+.fst-italic {
+ font-style: italic !important;
+}
+.fst-normal {
+ font-style: normal !important;
+}
+.fw-lighter {
+ font-weight: lighter !important;
+}
+.fw-light {
+ font-weight: 300 !important;
+}
+.fw-normal {
+ font-weight: 400 !important;
+}
+.fw-medium {
+ font-weight: 500 !important;
+}
+.fw-semibold {
+ font-weight: 600 !important;
+}
+.fw-bold {
+ font-weight: 700 !important;
+}
+.fw-bolder {
+ font-weight: bolder !important;
+}
+.lh-1 {
+ line-height: 1 !important;
+}
+.lh-sm {
+ line-height: 1.25 !important;
+}
+.lh-base {
+ line-height: 1.5 !important;
+}
+.lh-lg {
+ line-height: 2 !important;
+}
+.text-start {
+ text-align: left !important;
+}
+.text-end {
+ text-align: right !important;
+}
+.text-center {
+ text-align: center !important;
+}
+.text-decoration-none {
+ text-decoration: none !important;
+}
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
+.text-lowercase {
+ text-transform: lowercase !important;
+}
+.text-uppercase {
+ text-transform: uppercase !important;
+}
+.text-capitalize {
+ text-transform: capitalize !important;
+}
+.text-wrap {
+ white-space: normal !important;
+}
+.text-nowrap {
+ white-space: nowrap !important;
+}
+.text-break {
+ word-wrap: break-word !important;
+ word-break: break-word !important;
+}
+.text-primary {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-primary-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-secondary {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-secondary-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-success {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-success-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-info {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-info-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-warning {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-warning-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-danger {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-danger-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-light {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-light-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-dark {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-dark-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-black {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-black-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-white {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-white-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-body {
+ --bs-text-opacity: 1;
+ color: rgba(
+ var(--bs-body-color-rgb),
+ var(--bs-text-opacity)
+ ) !important;
+}
+.text-muted {
+ --bs-text-opacity: 1;
+ color: var(--bs-secondary-color) !important;
+}
+.text-black-50 {
+ --bs-text-opacity: 1;
+ color: rgba(0, 0, 0, 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;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-primary-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-primary-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+}
+.link-underline-secondary {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-secondary-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-secondary-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+}
+.link-underline-success {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-success-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-success-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+}
+.link-underline-info {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-info-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-info-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+}
+.link-underline-warning {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-warning-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-warning-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+}
+.link-underline-danger {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-danger-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-danger-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+}
+.link-underline-light {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-light-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-light-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+}
+.link-underline-dark {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-dark-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-dark-rgb),
+ var(--bs-link-underline-opacity)
+ ) !important;
+}
+.link-underline {
+ --bs-link-underline-opacity: 1;
+ -webkit-text-decoration-color: rgba(
+ var(--bs-link-color-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+ text-decoration-color: rgba(
+ var(--bs-link-color-rgb),
+ var(--bs-link-underline-opacity, 1)
+ ) !important;
+}
+.link-underline-opacity-0 {
+ --bs-link-underline-opacity: 0;
+}
+.link-underline-opacity-0-hover:hover {
+ --bs-link-underline-opacity: 0;
+}
+.link-underline-opacity-10 {
+ --bs-link-underline-opacity: 0.1;
+}
+.link-underline-opacity-10-hover:hover {
+ --bs-link-underline-opacity: 0.1;
+}
+.link-underline-opacity-25 {
+ --bs-link-underline-opacity: 0.25;
+}
+.link-underline-opacity-25-hover:hover {
+ --bs-link-underline-opacity: 0.25;
+}
+.link-underline-opacity-50 {
+ --bs-link-underline-opacity: 0.5;
+}
+.link-underline-opacity-50-hover:hover {
+ --bs-link-underline-opacity: 0.5;
+}
+.link-underline-opacity-75 {
+ --bs-link-underline-opacity: 0.75;
+}
+.link-underline-opacity-75-hover:hover {
+ --bs-link-underline-opacity: 0.75;
+}
+.link-underline-opacity-100 {
+ --bs-link-underline-opacity: 1;
+}
+.link-underline-opacity-100-hover:hover {
+ --bs-link-underline-opacity: 1;
+}
+.bg-primary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-primary-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-secondary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-secondary-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-success {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-success-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-info {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-info-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-warning {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-warning-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-danger {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-danger-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-light {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-light-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-dark {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-dark-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-black {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-black-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-white {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-white-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-body {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-body-bg-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-transparent {
+ --bs-bg-opacity: 1;
+ background-color: transparent !important;
+}
+.bg-body-secondary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-secondary-bg-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-body-tertiary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(
+ var(--bs-tertiary-bg-rgb),
+ var(--bs-bg-opacity)
+ ) !important;
+}
+.bg-opacity-10 {
+ --bs-bg-opacity: 0.1;
+}
+.bg-opacity-25 {
+ --bs-bg-opacity: 0.25;
+}
+.bg-opacity-50 {
+ --bs-bg-opacity: 0.5;
+}
+.bg-opacity-75 {
+ --bs-bg-opacity: 0.75;
+}
+.bg-opacity-100 {
+ --bs-bg-opacity: 1;
+}
+.bg-primary-subtle {
+ background-color: var(--bs-primary-bg-subtle) !important;
+}
+.bg-secondary-subtle {
+ background-color: var(--bs-secondary-bg-subtle) !important;
+}
+.bg-success-subtle {
+ background-color: var(--bs-success-bg-subtle) !important;
+}
+.bg-info-subtle {
+ background-color: var(--bs-info-bg-subtle) !important;
+}
+.bg-warning-subtle {
+ background-color: var(--bs-warning-bg-subtle) !important;
+}
+.bg-danger-subtle {
+ background-color: var(--bs-danger-bg-subtle) !important;
+}
+.bg-light-subtle {
+ background-color: var(--bs-light-bg-subtle) !important;
+}
+.bg-dark-subtle {
+ background-color: var(--bs-dark-bg-subtle) !important;
+}
+.bg-gradient {
+ background-image: var(--bs-gradient) !important;
+}
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ user-select: all !important;
+}
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ user-select: auto !important;
+}
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ user-select: none !important;
+}
+.pe-none {
+ pointer-events: none !important;
+}
+.pe-auto {
+ pointer-events: auto !important;
+}
+.rounded {
+ border-radius: var(--bs-border-radius) !important;
+}
+.rounded-0 {
+ border-radius: 0 !important;
+}
+.rounded-1 {
+ border-radius: var(--bs-border-radius-sm) !important;
+}
+.rounded-2 {
+ border-radius: var(--bs-border-radius) !important;
+}
+.rounded-3 {
+ border-radius: var(--bs-border-radius-lg) !important;
+}
+.rounded-4 {
+ border-radius: var(--bs-border-radius-xl) !important;
+}
+.rounded-5 {
+ border-radius: var(--bs-border-radius-xxl) !important;
+}
+.rounded-circle {
+ border-radius: 50% !important;
+}
+.rounded-pill {
+ border-radius: var(--bs-border-radius-pill) !important;
+}
+.rounded-top {
+ border-top-left-radius: var(--bs-border-radius) !important;
+ border-top-right-radius: var(--bs-border-radius) !important;
+}
+.rounded-top-0 {
+ border-top-left-radius: 0 !important;
+ border-top-right-radius: 0 !important;
+}
+.rounded-top-1 {
+ border-top-left-radius: var(--bs-border-radius-sm) !important;
+ border-top-right-radius: var(--bs-border-radius-sm) !important;
+}
+.rounded-top-2 {
+ border-top-left-radius: var(--bs-border-radius) !important;
+ border-top-right-radius: var(--bs-border-radius) !important;
+}
+.rounded-top-3 {
+ border-top-left-radius: var(--bs-border-radius-lg) !important;
+ border-top-right-radius: var(--bs-border-radius-lg) !important;
+}
+.rounded-top-4 {
+ border-top-left-radius: var(--bs-border-radius-xl) !important;
+ border-top-right-radius: var(--bs-border-radius-xl) !important;
+}
+.rounded-top-5 {
+ border-top-left-radius: var(--bs-border-radius-xxl) !important;
+ border-top-right-radius: var(--bs-border-radius-xxl) !important;
+}
+.rounded-top-circle {
+ border-top-left-radius: 50% !important;
+ border-top-right-radius: 50% !important;
+}
+.rounded-top-pill {
+ border-top-left-radius: var(--bs-border-radius-pill) !important;
+ border-top-right-radius: var(
+ --bs-border-radius-pill
+ ) !important;
+}
+.rounded-end {
+ border-top-right-radius: var(--bs-border-radius) !important;
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+}
+.rounded-end-0 {
+ border-top-right-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+}
+.rounded-end-1 {
+ border-top-right-radius: var(--bs-border-radius-sm) !important;
+ border-bottom-right-radius: var(
+ --bs-border-radius-sm
+ ) !important;
+}
+.rounded-end-2 {
+ border-top-right-radius: var(--bs-border-radius) !important;
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+}
+.rounded-end-3 {
+ border-top-right-radius: var(--bs-border-radius-lg) !important;
+ border-bottom-right-radius: var(
+ --bs-border-radius-lg
+ ) !important;
+}
+.rounded-end-4 {
+ border-top-right-radius: var(--bs-border-radius-xl) !important;
+ border-bottom-right-radius: var(
+ --bs-border-radius-xl
+ ) !important;
+}
+.rounded-end-5 {
+ border-top-right-radius: var(--bs-border-radius-xxl) !important;
+ border-bottom-right-radius: var(
+ --bs-border-radius-xxl
+ ) !important;
+}
+.rounded-end-circle {
+ border-top-right-radius: 50% !important;
+ border-bottom-right-radius: 50% !important;
+}
+.rounded-end-pill {
+ border-top-right-radius: var(
+ --bs-border-radius-pill
+ ) !important;
+ border-bottom-right-radius: var(
+ --bs-border-radius-pill
+ ) !important;
+}
+.rounded-bottom {
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+}
+.rounded-bottom-0 {
+ border-bottom-right-radius: 0 !important;
+ border-bottom-left-radius: 0 !important;
+}
+.rounded-bottom-1 {
+ border-bottom-right-radius: var(
+ --bs-border-radius-sm
+ ) !important;
+ border-bottom-left-radius: var(
+ --bs-border-radius-sm
+ ) !important;
+}
+.rounded-bottom-2 {
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+}
+.rounded-bottom-3 {
+ border-bottom-right-radius: var(
+ --bs-border-radius-lg
+ ) !important;
+ border-bottom-left-radius: var(
+ --bs-border-radius-lg
+ ) !important;
+}
+.rounded-bottom-4 {
+ border-bottom-right-radius: var(
+ --bs-border-radius-xl
+ ) !important;
+ border-bottom-left-radius: var(
+ --bs-border-radius-xl
+ ) !important;
+}
+.rounded-bottom-5 {
+ border-bottom-right-radius: var(
+ --bs-border-radius-xxl
+ ) !important;
+ border-bottom-left-radius: var(
+ --bs-border-radius-xxl
+ ) !important;
+}
+.rounded-bottom-circle {
+ border-bottom-right-radius: 50% !important;
+ border-bottom-left-radius: 50% !important;
+}
+.rounded-bottom-pill {
+ border-bottom-right-radius: var(
+ --bs-border-radius-pill
+ ) !important;
+ border-bottom-left-radius: var(
+ --bs-border-radius-pill
+ ) !important;
+}
+.rounded-start {
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+ border-top-left-radius: var(--bs-border-radius) !important;
+}
+.rounded-start-0 {
+ border-bottom-left-radius: 0 !important;
+ border-top-left-radius: 0 !important;
+}
+.rounded-start-1 {
+ border-bottom-left-radius: var(
+ --bs-border-radius-sm
+ ) !important;
+ border-top-left-radius: var(--bs-border-radius-sm) !important;
+}
+.rounded-start-2 {
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+ border-top-left-radius: var(--bs-border-radius) !important;
+}
+.rounded-start-3 {
+ border-bottom-left-radius: var(
+ --bs-border-radius-lg
+ ) !important;
+ border-top-left-radius: var(--bs-border-radius-lg) !important;
+}
+.rounded-start-4 {
+ border-bottom-left-radius: var(
+ --bs-border-radius-xl
+ ) !important;
+ border-top-left-radius: var(--bs-border-radius-xl) !important;
+}
+.rounded-start-5 {
+ border-bottom-left-radius: var(
+ --bs-border-radius-xxl
+ ) !important;
+ border-top-left-radius: var(--bs-border-radius-xxl) !important;
+}
+.rounded-start-circle {
+ border-bottom-left-radius: 50% !important;
+ border-top-left-radius: 50% !important;
+}
+.rounded-start-pill {
+ border-bottom-left-radius: var(
+ --bs-border-radius-pill
+ ) !important;
+ border-top-left-radius: var(--bs-border-radius-pill) !important;
+}
+.visible {
+ visibility: visible !important;
+}
+.invisible {
+ visibility: hidden !important;
+}
+.z-n1 {
+ z-index: -1 !important;
+}
+.z-0 {
+ z-index: 0 !important;
+}
+.z-1 {
+ z-index: 1 !important;
+}
+.z-2 {
+ z-index: 2 !important;
+}
+.z-3 {
+ z-index: 3 !important;
+}
+@media (min-width: 576px) {
+ .float-sm-start {
+ float: left !important;
+ }
+ .float-sm-end {
+ float: right !important;
+ }
+ .float-sm-none {
+ float: none !important;
+ }
+ .object-fit-sm-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-sm-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-sm-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-sm-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-sm-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-sm-inline {
+ display: inline !important;
+ }
+ .d-sm-inline-block {
+ display: inline-block !important;
+ }
+ .d-sm-block {
+ display: block !important;
+ }
+ .d-sm-grid {
+ display: grid !important;
+ }
+ .d-sm-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-sm-table {
+ display: table !important;
+ }
+ .d-sm-table-row {
+ display: table-row !important;
+ }
+ .d-sm-table-cell {
+ display: table-cell !important;
+ }
+ .d-sm-flex {
+ display: flex !important;
+ }
+ .d-sm-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-sm-none {
+ display: none !important;
+ }
+ .flex-sm-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-sm-row {
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-sm-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-sm-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-sm-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-sm-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-sm-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-sm-start {
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ align-self: stretch !important;
+ }
+ .order-sm-first {
+ order: -1 !important;
+ }
+ .order-sm-0 {
+ order: 0 !important;
+ }
+ .order-sm-1 {
+ order: 1 !important;
+ }
+ .order-sm-2 {
+ order: 2 !important;
+ }
+ .order-sm-3 {
+ order: 3 !important;
+ }
+ .order-sm-4 {
+ order: 4 !important;
+ }
+ .order-sm-5 {
+ order: 5 !important;
+ }
+ .order-sm-last {
+ order: 6 !important;
+ }
+ .m-sm-0 {
+ margin: 0 !important;
+ }
+ .m-sm-1 {
+ margin: 0.25rem !important;
+ }
+ .m-sm-2 {
+ margin: 0.5rem !important;
+ }
+ .m-sm-3 {
+ margin: 1rem !important;
+ }
+ .m-sm-4 {
+ margin: 1.5rem !important;
+ }
+ .m-sm-5 {
+ margin: 3rem !important;
+ }
+ .m-sm-auto {
+ margin: auto !important;
+ }
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-sm-0 {
+ margin-top: 0 !important;
+ }
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-sm-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-sm-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-sm-auto {
+ margin-top: auto !important;
+ }
+ .me-sm-0 {
+ margin-right: 0 !important;
+ }
+ .me-sm-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-sm-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-sm-3 {
+ margin-right: 1rem !important;
+ }
+ .me-sm-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-sm-5 {
+ margin-right: 3rem !important;
+ }
+ .me-sm-auto {
+ margin-right: auto !important;
+ }
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-sm-0 {
+ margin-left: 0 !important;
+ }
+ .ms-sm-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-sm-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-sm-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-sm-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-sm-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-sm-auto {
+ margin-left: auto !important;
+ }
+ .p-sm-0 {
+ padding: 0 !important;
+ }
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-sm-0 {
+ padding-right: 0 !important;
+ }
+ .pe-sm-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-sm-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-sm-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-sm-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-sm-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-sm-0 {
+ padding-left: 0 !important;
+ }
+ .ps-sm-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-sm-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-sm-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-sm-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-sm-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-sm-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-sm-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-sm-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-sm-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-sm-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-sm-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-sm-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-sm-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-sm-5 {
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-sm-start {
+ text-align: left !important;
+ }
+ .text-sm-end {
+ text-align: right !important;
+ }
+ .text-sm-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 768px) {
+ .float-md-start {
+ float: left !important;
+ }
+ .float-md-end {
+ float: right !important;
+ }
+ .float-md-none {
+ float: none !important;
+ }
+ .object-fit-md-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-md-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-md-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-md-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-md-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-md-inline {
+ display: inline !important;
+ }
+ .d-md-inline-block {
+ display: inline-block !important;
+ }
+ .d-md-block {
+ display: block !important;
+ }
+ .d-md-grid {
+ display: grid !important;
+ }
+ .d-md-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-md-table {
+ display: table !important;
+ }
+ .d-md-table-row {
+ display: table-row !important;
+ }
+ .d-md-table-cell {
+ display: table-cell !important;
+ }
+ .d-md-flex {
+ display: flex !important;
+ }
+ .d-md-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-md-none {
+ display: none !important;
+ }
+ .flex-md-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-md-row {
+ flex-direction: row !important;
+ }
+ .flex-md-column {
+ flex-direction: column !important;
+ }
+ .flex-md-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-md-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-md-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-md-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-md-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-md-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-md-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-md-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-md-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-md-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-md-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-md-center {
+ justify-content: center !important;
+ }
+ .justify-content-md-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-md-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-md-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-md-start {
+ align-items: flex-start !important;
+ }
+ .align-items-md-end {
+ align-items: flex-end !important;
+ }
+ .align-items-md-center {
+ align-items: center !important;
+ }
+ .align-items-md-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-md-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-md-start {
+ align-content: flex-start !important;
+ }
+ .align-content-md-end {
+ align-content: flex-end !important;
+ }
+ .align-content-md-center {
+ align-content: center !important;
+ }
+ .align-content-md-between {
+ align-content: space-between !important;
+ }
+ .align-content-md-around {
+ align-content: space-around !important;
+ }
+ .align-content-md-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-md-auto {
+ align-self: auto !important;
+ }
+ .align-self-md-start {
+ align-self: flex-start !important;
+ }
+ .align-self-md-end {
+ align-self: flex-end !important;
+ }
+ .align-self-md-center {
+ align-self: center !important;
+ }
+ .align-self-md-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-md-stretch {
+ align-self: stretch !important;
+ }
+ .order-md-first {
+ order: -1 !important;
+ }
+ .order-md-0 {
+ order: 0 !important;
+ }
+ .order-md-1 {
+ order: 1 !important;
+ }
+ .order-md-2 {
+ order: 2 !important;
+ }
+ .order-md-3 {
+ order: 3 !important;
+ }
+ .order-md-4 {
+ order: 4 !important;
+ }
+ .order-md-5 {
+ order: 5 !important;
+ }
+ .order-md-last {
+ order: 6 !important;
+ }
+ .m-md-0 {
+ margin: 0 !important;
+ }
+ .m-md-1 {
+ margin: 0.25rem !important;
+ }
+ .m-md-2 {
+ margin: 0.5rem !important;
+ }
+ .m-md-3 {
+ margin: 1rem !important;
+ }
+ .m-md-4 {
+ margin: 1.5rem !important;
+ }
+ .m-md-5 {
+ margin: 3rem !important;
+ }
+ .m-md-auto {
+ margin: auto !important;
+ }
+ .mx-md-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-md-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-md-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-md-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-md-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-md-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-md-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-md-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-md-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-md-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-md-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-md-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-md-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-md-0 {
+ margin-top: 0 !important;
+ }
+ .mt-md-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-md-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-md-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-md-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-md-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-md-auto {
+ margin-top: auto !important;
+ }
+ .me-md-0 {
+ margin-right: 0 !important;
+ }
+ .me-md-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-md-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-md-3 {
+ margin-right: 1rem !important;
+ }
+ .me-md-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-md-5 {
+ margin-right: 3rem !important;
+ }
+ .me-md-auto {
+ margin-right: auto !important;
+ }
+ .mb-md-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-md-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-md-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-md-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-md-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-md-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-md-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-md-0 {
+ margin-left: 0 !important;
+ }
+ .ms-md-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-md-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-md-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-md-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-md-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-md-auto {
+ margin-left: auto !important;
+ }
+ .p-md-0 {
+ padding: 0 !important;
+ }
+ .p-md-1 {
+ padding: 0.25rem !important;
+ }
+ .p-md-2 {
+ padding: 0.5rem !important;
+ }
+ .p-md-3 {
+ padding: 1rem !important;
+ }
+ .p-md-4 {
+ padding: 1.5rem !important;
+ }
+ .p-md-5 {
+ padding: 3rem !important;
+ }
+ .px-md-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-md-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-md-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-md-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-md-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-md-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-md-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-md-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-md-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-md-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-md-0 {
+ padding-top: 0 !important;
+ }
+ .pt-md-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-md-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-md-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-md-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-md-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-md-0 {
+ padding-right: 0 !important;
+ }
+ .pe-md-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-md-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-md-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-md-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-md-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-md-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-md-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-md-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-md-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-md-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-md-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-md-0 {
+ padding-left: 0 !important;
+ }
+ .ps-md-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-md-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-md-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-md-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-md-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-md-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-md-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-md-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-md-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-md-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-md-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-md-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-md-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-md-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-md-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-md-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-md-5 {
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-md-start {
+ text-align: left !important;
+ }
+ .text-md-end {
+ text-align: right !important;
+ }
+ .text-md-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 992px) {
+ .float-lg-start {
+ float: left !important;
+ }
+ .float-lg-end {
+ float: right !important;
+ }
+ .float-lg-none {
+ float: none !important;
+ }
+ .object-fit-lg-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-lg-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-lg-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-lg-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-lg-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-lg-inline {
+ display: inline !important;
+ }
+ .d-lg-inline-block {
+ display: inline-block !important;
+ }
+ .d-lg-block {
+ display: block !important;
+ }
+ .d-lg-grid {
+ display: grid !important;
+ }
+ .d-lg-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-lg-table {
+ display: table !important;
+ }
+ .d-lg-table-row {
+ display: table-row !important;
+ }
+ .d-lg-table-cell {
+ display: table-cell !important;
+ }
+ .d-lg-flex {
+ display: flex !important;
+ }
+ .d-lg-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-lg-none {
+ display: none !important;
+ }
+ .flex-lg-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-lg-row {
+ flex-direction: row !important;
+ }
+ .flex-lg-column {
+ flex-direction: column !important;
+ }
+ .flex-lg-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-lg-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-lg-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-lg-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-lg-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-lg-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-lg-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-lg-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-lg-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-lg-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-lg-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-lg-center {
+ justify-content: center !important;
+ }
+ .justify-content-lg-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-lg-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-lg-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-lg-start {
+ align-items: flex-start !important;
+ }
+ .align-items-lg-end {
+ align-items: flex-end !important;
+ }
+ .align-items-lg-center {
+ align-items: center !important;
+ }
+ .align-items-lg-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-lg-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-lg-start {
+ align-content: flex-start !important;
+ }
+ .align-content-lg-end {
+ align-content: flex-end !important;
+ }
+ .align-content-lg-center {
+ align-content: center !important;
+ }
+ .align-content-lg-between {
+ align-content: space-between !important;
+ }
+ .align-content-lg-around {
+ align-content: space-around !important;
+ }
+ .align-content-lg-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-lg-auto {
+ align-self: auto !important;
+ }
+ .align-self-lg-start {
+ align-self: flex-start !important;
+ }
+ .align-self-lg-end {
+ align-self: flex-end !important;
+ }
+ .align-self-lg-center {
+ align-self: center !important;
+ }
+ .align-self-lg-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-lg-stretch {
+ align-self: stretch !important;
+ }
+ .order-lg-first {
+ order: -1 !important;
+ }
+ .order-lg-0 {
+ order: 0 !important;
+ }
+ .order-lg-1 {
+ order: 1 !important;
+ }
+ .order-lg-2 {
+ order: 2 !important;
+ }
+ .order-lg-3 {
+ order: 3 !important;
+ }
+ .order-lg-4 {
+ order: 4 !important;
+ }
+ .order-lg-5 {
+ order: 5 !important;
+ }
+ .order-lg-last {
+ order: 6 !important;
+ }
+ .m-lg-0 {
+ margin: 0 !important;
+ }
+ .m-lg-1 {
+ margin: 0.25rem !important;
+ }
+ .m-lg-2 {
+ margin: 0.5rem !important;
+ }
+ .m-lg-3 {
+ margin: 1rem !important;
+ }
+ .m-lg-4 {
+ margin: 1.5rem !important;
+ }
+ .m-lg-5 {
+ margin: 3rem !important;
+ }
+ .m-lg-auto {
+ margin: auto !important;
+ }
+ .mx-lg-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-lg-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-lg-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-lg-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-lg-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-lg-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-lg-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-lg-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-lg-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-lg-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-lg-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-lg-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-lg-0 {
+ margin-top: 0 !important;
+ }
+ .mt-lg-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-lg-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-lg-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-lg-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-lg-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-lg-auto {
+ margin-top: auto !important;
+ }
+ .me-lg-0 {
+ margin-right: 0 !important;
+ }
+ .me-lg-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-lg-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-lg-3 {
+ margin-right: 1rem !important;
+ }
+ .me-lg-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-lg-5 {
+ margin-right: 3rem !important;
+ }
+ .me-lg-auto {
+ margin-right: auto !important;
+ }
+ .mb-lg-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-lg-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-lg-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-lg-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-lg-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-lg-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-lg-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-lg-0 {
+ margin-left: 0 !important;
+ }
+ .ms-lg-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-lg-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-lg-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-lg-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-lg-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-lg-auto {
+ margin-left: auto !important;
+ }
+ .p-lg-0 {
+ padding: 0 !important;
+ }
+ .p-lg-1 {
+ padding: 0.25rem !important;
+ }
+ .p-lg-2 {
+ padding: 0.5rem !important;
+ }
+ .p-lg-3 {
+ padding: 1rem !important;
+ }
+ .p-lg-4 {
+ padding: 1.5rem !important;
+ }
+ .p-lg-5 {
+ padding: 3rem !important;
+ }
+ .px-lg-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-lg-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-lg-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-lg-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-lg-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-lg-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-lg-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-lg-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-lg-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-lg-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-lg-0 {
+ padding-top: 0 !important;
+ }
+ .pt-lg-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-lg-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-lg-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-lg-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-lg-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-lg-0 {
+ padding-right: 0 !important;
+ }
+ .pe-lg-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-lg-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-lg-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-lg-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-lg-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-lg-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-lg-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-lg-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-lg-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-lg-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-lg-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-lg-0 {
+ padding-left: 0 !important;
+ }
+ .ps-lg-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-lg-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-lg-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-lg-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-lg-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-lg-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-lg-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-lg-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-lg-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-lg-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-lg-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-lg-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-lg-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-lg-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-lg-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-lg-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-lg-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-lg-5 {
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-lg-start {
+ text-align: left !important;
+ }
+ .text-lg-end {
+ text-align: right !important;
+ }
+ .text-lg-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1200px) {
+ .float-xl-start {
+ float: left !important;
+ }
+ .float-xl-end {
+ float: right !important;
+ }
+ .float-xl-none {
+ float: none !important;
+ }
+ .object-fit-xl-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-xl-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-xl-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-xl-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-xl-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-xl-inline {
+ display: inline !important;
+ }
+ .d-xl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xl-block {
+ display: block !important;
+ }
+ .d-xl-grid {
+ display: grid !important;
+ }
+ .d-xl-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-xl-table {
+ display: table !important;
+ }
+ .d-xl-table-row {
+ display: table-row !important;
+ }
+ .d-xl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xl-flex {
+ display: flex !important;
+ }
+ .d-xl-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-xl-none {
+ display: none !important;
+ }
+ .flex-xl-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-xl-row {
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-xl-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-xl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-xl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-xl-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-xl-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-xl-start {
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ align-self: stretch !important;
+ }
+ .order-xl-first {
+ order: -1 !important;
+ }
+ .order-xl-0 {
+ order: 0 !important;
+ }
+ .order-xl-1 {
+ order: 1 !important;
+ }
+ .order-xl-2 {
+ order: 2 !important;
+ }
+ .order-xl-3 {
+ order: 3 !important;
+ }
+ .order-xl-4 {
+ order: 4 !important;
+ }
+ .order-xl-5 {
+ order: 5 !important;
+ }
+ .order-xl-last {
+ order: 6 !important;
+ }
+ .m-xl-0 {
+ margin: 0 !important;
+ }
+ .m-xl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xl-3 {
+ margin: 1rem !important;
+ }
+ .m-xl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xl-5 {
+ margin: 3rem !important;
+ }
+ .m-xl-auto {
+ margin: auto !important;
+ }
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xl-auto {
+ margin-top: auto !important;
+ }
+ .me-xl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xl-auto {
+ margin-left: auto !important;
+ }
+ .p-xl-0 {
+ padding: 0 !important;
+ }
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xl-3 {
+ padding: 1rem !important;
+ }
+ .p-xl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xl-5 {
+ padding: 3rem !important;
+ }
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-xl-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-xl-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-xl-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-xl-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-xl-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-xl-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-xl-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-xl-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-xl-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-xl-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-xl-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-xl-5 {
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-xl-start {
+ text-align: left !important;
+ }
+ .text-xl-end {
+ text-align: right !important;
+ }
+ .text-xl-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1400px) {
+ .float-xxl-start {
+ float: left !important;
+ }
+ .float-xxl-end {
+ float: right !important;
+ }
+ .float-xxl-none {
+ float: none !important;
+ }
+ .object-fit-xxl-contain {
+ -o-object-fit: contain !important;
+ object-fit: contain !important;
+ }
+ .object-fit-xxl-cover {
+ -o-object-fit: cover !important;
+ object-fit: cover !important;
+ }
+ .object-fit-xxl-fill {
+ -o-object-fit: fill !important;
+ object-fit: fill !important;
+ }
+ .object-fit-xxl-scale {
+ -o-object-fit: scale-down !important;
+ object-fit: scale-down !important;
+ }
+ .object-fit-xxl-none {
+ -o-object-fit: none !important;
+ object-fit: none !important;
+ }
+ .d-xxl-inline {
+ display: inline !important;
+ }
+ .d-xxl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xxl-block {
+ display: block !important;
+ }
+ .d-xxl-grid {
+ display: grid !important;
+ }
+ .d-xxl-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-xxl-table {
+ display: table !important;
+ }
+ .d-xxl-table-row {
+ display: table-row !important;
+ }
+ .d-xxl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xxl-flex {
+ display: flex !important;
+ }
+ .d-xxl-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-xxl-none {
+ display: none !important;
+ }
+ .flex-xxl-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-xxl-row {
+ flex-direction: row !important;
+ }
+ .flex-xxl-column {
+ flex-direction: column !important;
+ }
+ .flex-xxl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-xxl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-xxl-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-xxl-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-xxl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-xxl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-xxl-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-xxl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-xxl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xxl-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-xxl-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-xxl-center {
+ justify-content: center !important;
+ }
+ .justify-content-xxl-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-xxl-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-xxl-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-xxl-start {
+ align-items: flex-start !important;
+ }
+ .align-items-xxl-end {
+ align-items: flex-end !important;
+ }
+ .align-items-xxl-center {
+ align-items: center !important;
+ }
+ .align-items-xxl-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-xxl-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-xxl-start {
+ align-content: flex-start !important;
+ }
+ .align-content-xxl-end {
+ align-content: flex-end !important;
+ }
+ .align-content-xxl-center {
+ align-content: center !important;
+ }
+ .align-content-xxl-between {
+ align-content: space-between !important;
+ }
+ .align-content-xxl-around {
+ align-content: space-around !important;
+ }
+ .align-content-xxl-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-xxl-auto {
+ align-self: auto !important;
+ }
+ .align-self-xxl-start {
+ align-self: flex-start !important;
+ }
+ .align-self-xxl-end {
+ align-self: flex-end !important;
+ }
+ .align-self-xxl-center {
+ align-self: center !important;
+ }
+ .align-self-xxl-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-xxl-stretch {
+ align-self: stretch !important;
+ }
+ .order-xxl-first {
+ order: -1 !important;
+ }
+ .order-xxl-0 {
+ order: 0 !important;
+ }
+ .order-xxl-1 {
+ order: 1 !important;
+ }
+ .order-xxl-2 {
+ order: 2 !important;
+ }
+ .order-xxl-3 {
+ order: 3 !important;
+ }
+ .order-xxl-4 {
+ order: 4 !important;
+ }
+ .order-xxl-5 {
+ order: 5 !important;
+ }
+ .order-xxl-last {
+ order: 6 !important;
+ }
+ .m-xxl-0 {
+ margin: 0 !important;
+ }
+ .m-xxl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xxl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xxl-3 {
+ margin: 1rem !important;
+ }
+ .m-xxl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xxl-5 {
+ margin: 3rem !important;
+ }
+ .m-xxl-auto {
+ margin: auto !important;
+ }
+ .mx-xxl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xxl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xxl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xxl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xxl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xxl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xxl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xxl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xxl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xxl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xxl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xxl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xxl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xxl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xxl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xxl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xxl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xxl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xxl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xxl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xxl-auto {
+ margin-top: auto !important;
+ }
+ .me-xxl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xxl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xxl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xxl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xxl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xxl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xxl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xxl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xxl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xxl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xxl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xxl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xxl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xxl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xxl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xxl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xxl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xxl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xxl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xxl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xxl-auto {
+ margin-left: auto !important;
+ }
+ .p-xxl-0 {
+ padding: 0 !important;
+ }
+ .p-xxl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xxl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xxl-3 {
+ padding: 1rem !important;
+ }
+ .p-xxl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xxl-5 {
+ padding: 3rem !important;
+ }
+ .px-xxl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xxl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xxl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xxl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xxl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xxl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xxl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xxl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xxl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xxl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xxl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xxl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xxl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xxl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xxl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xxl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xxl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xxl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xxl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xxl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xxl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xxl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xxl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xxl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xxl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xxl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xxl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xxl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xxl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xxl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xxl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xxl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xxl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xxl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xxl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xxl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xxl-5 {
+ gap: 3rem !important;
+ }
+ .row-gap-xxl-0 {
+ row-gap: 0 !important;
+ }
+ .row-gap-xxl-1 {
+ row-gap: 0.25rem !important;
+ }
+ .row-gap-xxl-2 {
+ row-gap: 0.5rem !important;
+ }
+ .row-gap-xxl-3 {
+ row-gap: 1rem !important;
+ }
+ .row-gap-xxl-4 {
+ row-gap: 1.5rem !important;
+ }
+ .row-gap-xxl-5 {
+ row-gap: 3rem !important;
+ }
+ .column-gap-xxl-0 {
+ -moz-column-gap: 0 !important;
+ column-gap: 0 !important;
+ }
+ .column-gap-xxl-1 {
+ -moz-column-gap: 0.25rem !important;
+ column-gap: 0.25rem !important;
+ }
+ .column-gap-xxl-2 {
+ -moz-column-gap: 0.5rem !important;
+ column-gap: 0.5rem !important;
+ }
+ .column-gap-xxl-3 {
+ -moz-column-gap: 1rem !important;
+ column-gap: 1rem !important;
+ }
+ .column-gap-xxl-4 {
+ -moz-column-gap: 1.5rem !important;
+ column-gap: 1.5rem !important;
+ }
+ .column-gap-xxl-5 {
+ -moz-column-gap: 3rem !important;
+ column-gap: 3rem !important;
+ }
+ .text-xxl-start {
+ text-align: left !important;
+ }
+ .text-xxl-end {
+ text-align: right !important;
+ }
+ .text-xxl-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1200px) {
+ .fs-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-2 {
+ font-size: 2rem !important;
+ }
+ .fs-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-4 {
+ font-size: 1.5rem !important;
+ }
+}
+@media print {
+ .d-print-inline {
+ display: inline !important;
+ }
+ .d-print-inline-block {
+ display: inline-block !important;
+ }
+ .d-print-block {
+ display: block !important;
+ }
+ .d-print-grid {
+ display: grid !important;
+ }
+ .d-print-inline-grid {
+ display: inline-grid !important;
+ }
+ .d-print-table {
+ display: table !important;
+ }
+ .d-print-table-row {
+ display: table-row !important;
+ }
+ .d-print-table-cell {
+ display: table-cell !important;
+ }
+ .d-print-flex {
+ display: flex !important;
+ }
+ .d-print-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-print-none {
+ display: none !important;
+ }
+}
+
+.container {
+ max-width: 960px;
+}
+.bd-placeholder-img {
+ font-size: 1.125rem;
+ text-anchor: middle;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+}
+
+@media (min-width: 768px) {
+ .bd-placeholder-img-lg {
+ font-size: 3.5rem;
+ }
+}
+
+.b-example-divider {
+ width: 100%;
+ height: 3rem;
+ background-color: rgba(0, 0, 0, 0.1);
+ border: solid rgba(0, 0, 0, 0.15);
+ border-width: 1px 0;
+ box-shadow: inset 0 0.5em 1.5em rgba(0, 0, 0, 0.1),
+ inset 0 0.125em 0.5em rgba(0, 0, 0, 0.15);
+}
+
+.b-example-vr {
+ flex-shrink: 0;
+ width: 1.5rem;
+ height: 100vh;
+}
+
+.bi {
+ vertical-align: -0.125em;
+ fill: currentColor;
+}
+
+.nav-scroller {
+ position: relative;
+ z-index: 2;
+ height: 2.75rem;
+ overflow-y: hidden;
+}
+
+.nav-scroller .nav {
+ display: flex;
+ flex-wrap: nowrap;
+ padding-bottom: 1rem;
+ margin-top: -1px;
+ overflow-x: auto;
+ text-align: center;
+ white-space: nowrap;
+ -webkit-overflow-scrolling: touch;
+}
+
+.btn-bd-primary {
+ --bd-violet-bg: #712cf9;
+ --bd-violet-rgb: 112.520718, 44.062154, 249.437846;
+
+ --bs-btn-font-weight: 600;
+ --bs-btn-color: var(--bs-white);
+ --bs-btn-bg: var(--bd-violet-bg);
+ --bs-btn-border-color: var(--bd-violet-bg);
+ --bs-btn-hover-color: var(--bs-white);
+ --bs-btn-hover-bg: #6528e0;
+ --bs-btn-hover-border-color: #6528e0;
+ --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
+ --bs-btn-active-color: var(--bs-btn-hover-color);
+ --bs-btn-active-bg: #5a23c8;
+ --bs-btn-active-border-color: #5a23c8;
+}
+
+.bd-mode-toggle {
+ z-index: 1500;
+}
+
+.bd-mode-toggle .dropdown-menu .active .bi {
+ display: block !important;
+}
\ No newline at end of file
diff --git a/data_embed/bootstrap.js b/data_embed/bootstrap.js
new file mode 100644
index 0000000..ded4eb2
--- /dev/null
+++ b/data_embed/bootstrap.js
@@ -0,0 +1,4467 @@
+// Bootstrap base
+/*!
+ * Bootstrap v5.3.2 (https://getbootstrap.com/)
+ * Copyright 2011-2023 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())
+ : "function" == typeof define && define.amd
+ ? define(e)
+ : ((t =
+ "undefined" != typeof globalThis
+ ? globalThis
+ : t || self).bootstrap = e());
+})(this, function () {
+ "use strict";
+ const t = new Map(),
+ e = {
+ set(e, i, n) {
+ t.has(e) || t.set(e, new Map());
+ const s = t.get(e);
+ s.has(i) || 0 === s.size
+ ? s.set(i, n)
+ : console.error(
+ `Bootstrap doesn't allow more than one instance per element. Bound instance: ${
+ Array.from(s.keys())[0]
+ }.`
+ );
+ },
+ get: (e, i) => (t.has(e) && t.get(e).get(i)) || null,
+ remove(e, i) {
+ if (!t.has(e)) return;
+ const n = t.get(e);
+ n.delete(i), 0 === n.size && t.delete(e);
+ },
+ },
+ i = "transitionend",
+ n = (t) => (
+ t &&
+ window.CSS &&
+ window.CSS.escape &&
+ (t = t.replace(/#([^\s"#']+)/g, (t, e) => `#${CSS.escape(e)}`)),
+ t
+ ),
+ s = (t) => {
+ t.dispatchEvent(new Event(i));
+ },
+ o = (t) =>
+ !(!t || "object" != typeof t) &&
+ (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType),
+ r = (t) =>
+ o(t)
+ ? t.jquery
+ ? t[0]
+ : t
+ : "string" == typeof t && t.length > 0
+ ? document.querySelector(n(t))
+ : null,
+ a = (t) => {
+ if (!o(t) || 0 === t.getClientRects().length) return !1;
+ const e =
+ "visible" ===
+ getComputedStyle(t).getPropertyValue("visibility"),
+ i = t.closest("details:not([open])");
+ if (!i) return e;
+ if (i !== t) {
+ const e = t.closest("summary");
+ if (e && e.parentNode !== i) return !1;
+ if (null === e) return !1;
+ }
+ return e;
+ },
+ l = (t) =>
+ !t ||
+ t.nodeType !== Node.ELEMENT_NODE ||
+ !!t.classList.contains("disabled") ||
+ (void 0 !== t.disabled
+ ? t.disabled
+ : t.hasAttribute("disabled") &&
+ "false" !== t.getAttribute("disabled")),
+ c = (t) => {
+ if (!document.documentElement.attachShadow) return null;
+ if ("function" == typeof t.getRootNode) {
+ const e = t.getRootNode();
+ return e instanceof ShadowRoot ? e : null;
+ }
+ return t instanceof ShadowRoot
+ ? t
+ : t.parentNode
+ ? c(t.parentNode)
+ : null;
+ },
+ h = () => {},
+ d = (t) => {
+ t.offsetHeight;
+ },
+ u = () =>
+ window.jQuery && !document.body.hasAttribute("data-bs-no-jquery")
+ ? window.jQuery
+ : null,
+ f = [],
+ p = () => "rtl" === document.documentElement.dir,
+ m = (t) => {
+ var e;
+ (e = () => {
+ const e = u();
+ if (e) {
+ const i = t.NAME,
+ n = e.fn[i];
+ (e.fn[i] = t.jQueryInterface),
+ (e.fn[i].Constructor = t),
+ (e.fn[i].noConflict = () => (
+ (e.fn[i] = n), t.jQueryInterface
+ ));
+ }
+ }),
+ "loading" === document.readyState
+ ? (f.length ||
+ document.addEventListener("DOMContentLoaded", () => {
+ for (const t of f) t();
+ }),
+ f.push(e))
+ : e();
+ },
+ g = (t, e = [], i = t) => ("function" == typeof t ? t(...e) : i),
+ _ = (t, e, n = !0) => {
+ if (!n) return void g(t);
+ const o =
+ ((t) => {
+ if (!t) return 0;
+ let { transitionDuration: e, transitionDelay: i } =
+ window.getComputedStyle(t);
+ const n = Number.parseFloat(e),
+ s = Number.parseFloat(i);
+ return n || s
+ ? ((e = e.split(",")[0]),
+ (i = i.split(",")[0]),
+ 1e3 * (Number.parseFloat(e) + Number.parseFloat(i)))
+ : 0;
+ })(e) + 5;
+ let r = !1;
+ const a = ({ target: n }) => {
+ n === e && ((r = !0), e.removeEventListener(i, a), g(t));
+ };
+ e.addEventListener(i, a),
+ setTimeout(() => {
+ r || s(e);
+ }, o);
+ },
+ b = (t, e, i, n) => {
+ const s = t.length;
+ let o = t.indexOf(e);
+ return -1 === o
+ ? !i && n
+ ? t[s - 1]
+ : t[0]
+ : ((o += i ? 1 : -1),
+ n && (o = (o + s) % s),
+ t[Math.max(0, Math.min(o, s - 1))]);
+ },
+ v = /[^.]*(?=\..*)\.|.*/,
+ y = /\..*/,
+ w = /::\d+$/,
+ A = {};
+ let E = 1;
+ const T = { mouseenter: "mouseover", mouseleave: "mouseout" },
+ C = new Set([
+ "click",
+ "dblclick",
+ "mouseup",
+ "mousedown",
+ "contextmenu",
+ "mousewheel",
+ "DOMMouseScroll",
+ "mouseover",
+ "mouseout",
+ "mousemove",
+ "selectstart",
+ "selectend",
+ "keydown",
+ "keypress",
+ "keyup",
+ "orientationchange",
+ "touchstart",
+ "touchmove",
+ "touchend",
+ "touchcancel",
+ "pointerdown",
+ "pointermove",
+ "pointerup",
+ "pointerleave",
+ "pointercancel",
+ "gesturestart",
+ "gesturechange",
+ "gestureend",
+ "focus",
+ "blur",
+ "change",
+ "reset",
+ "select",
+ "submit",
+ "focusin",
+ "focusout",
+ "load",
+ "unload",
+ "beforeunload",
+ "resize",
+ "move",
+ "DOMContentLoaded",
+ "readystatechange",
+ "error",
+ "abort",
+ "scroll",
+ ]);
+ function O(t, e) {
+ return (e && `${e}::${E++}`) || t.uidEvent || E++;
+ }
+ function x(t) {
+ const e = O(t);
+ return (t.uidEvent = e), (A[e] = A[e] || {}), A[e];
+ }
+ function k(t, e, i = null) {
+ return Object.values(t).find(
+ (t) => t.callable === e && t.delegationSelector === i
+ );
+ }
+ function L(t, e, i) {
+ const n = "string" == typeof e,
+ s = n ? i : e || i;
+ let o = I(t);
+ return C.has(o) || (o = t), [n, s, o];
+ }
+ function S(t, e, i, n, s) {
+ if ("string" != typeof e || !t) return;
+ let [o, r, a] = L(e, i, n);
+ if (e in T) {
+ const t = (t) =>
+ function (e) {
+ if (
+ !e.relatedTarget ||
+ (e.relatedTarget !== e.delegateTarget &&
+ !e.delegateTarget.contains(e.relatedTarget))
+ )
+ return t.call(this, e);
+ };
+ r = t(r);
+ }
+ const l = x(t),
+ c = l[a] || (l[a] = {}),
+ h = k(c, r, o ? i : null);
+ if (h) return void (h.oneOff = h.oneOff && s);
+ const d = O(r, e.replace(v, "")),
+ u = o
+ ? (function (t, e, i) {
+ return function n(s) {
+ const o = t.querySelectorAll(e);
+ for (
+ let { target: r } = s;
+ r && r !== this;
+ r = r.parentNode
+ )
+ for (const a of o)
+ if (a === r)
+ return (
+ P(s, { delegateTarget: r }),
+ n.oneOff && N.off(t, s.type, e, i),
+ i.apply(r, [s])
+ );
+ };
+ })(t, i, r)
+ : (function (t, e) {
+ return function i(n) {
+ return (
+ P(n, { delegateTarget: t }),
+ i.oneOff && N.off(t, n.type, e),
+ e.apply(t, [n])
+ );
+ };
+ })(t, r);
+ (u.delegationSelector = o ? i : null),
+ (u.callable = r),
+ (u.oneOff = s),
+ (u.uidEvent = d),
+ (c[d] = u),
+ t.addEventListener(a, u, o);
+ }
+ function D(t, e, i, n, s) {
+ const o = k(e[i], n, s);
+ o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent]);
+ }
+ function $(t, e, i, n) {
+ const s = e[i] || {};
+ for (const [o, r] of Object.entries(s))
+ o.includes(n) && D(t, e, i, r.callable, r.delegationSelector);
+ }
+ function I(t) {
+ return (t = t.replace(y, "")), T[t] || t;
+ }
+ const N = {
+ on(t, e, i, n) {
+ S(t, e, i, n, !1);
+ },
+ one(t, e, i, n) {
+ S(t, e, i, n, !0);
+ },
+ off(t, e, i, n) {
+ if ("string" != typeof e || !t) return;
+ const [s, o, r] = L(e, i, n),
+ a = r !== e,
+ l = x(t),
+ c = l[r] || {},
+ h = e.startsWith(".");
+ if (void 0 === o) {
+ if (h) for (const i of Object.keys(l)) $(t, l, i, e.slice(1));
+ for (const [i, n] of Object.entries(c)) {
+ const s = i.replace(w, "");
+ (a && !e.includes(s)) ||
+ D(t, l, r, n.callable, n.delegationSelector);
+ }
+ } else {
+ if (!Object.keys(c).length) return;
+ D(t, l, r, o, s ? i : null);
+ }
+ },
+ trigger(t, e, i) {
+ if ("string" != typeof e || !t) return null;
+ const n = u();
+ let s = null,
+ o = !0,
+ r = !0,
+ a = !1;
+ e !== I(e) &&
+ n &&
+ ((s = n.Event(e, i)),
+ n(t).trigger(s),
+ (o = !s.isPropagationStopped()),
+ (r = !s.isImmediatePropagationStopped()),
+ (a = s.isDefaultPrevented()));
+ const l = P(new Event(e, { bubbles: o, cancelable: !0 }), i);
+ return (
+ a && l.preventDefault(),
+ r && t.dispatchEvent(l),
+ l.defaultPrevented && s && s.preventDefault(),
+ l
+ );
+ },
+ };
+ function P(t, e = {}) {
+ for (const [i, n] of Object.entries(e))
+ try {
+ t[i] = n;
+ } catch (e) {
+ Object.defineProperty(t, i, { configurable: !0, get: () => n });
+ }
+ return t;
+ }
+ function M(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 j(t) {
+ return t.replace(/[A-Z]/g, (t) => `-${t.toLowerCase()}`);
+ }
+ const F = {
+ setDataAttribute(t, e, i) {
+ t.setAttribute(`data-bs-${j(e)}`, i);
+ },
+ removeDataAttribute(t, e) {
+ t.removeAttribute(`data-bs-${j(e)}`);
+ },
+ getDataAttributes(t) {
+ if (!t) return {};
+ const e = {},
+ i = Object.keys(t.dataset).filter(
+ (t) => t.startsWith("bs") && !t.startsWith("bsConfig")
+ );
+ for (const n of i) {
+ let i = n.replace(/^bs/, "");
+ (i = i.charAt(0).toLowerCase() + i.slice(1, i.length)),
+ (e[i] = M(t.dataset[n]));
+ }
+ return e;
+ },
+ getDataAttribute: (t, e) => M(t.getAttribute(`data-bs-${j(e)}`)),
+ };
+ class H {
+ static get Default() {
+ return {};
+ }
+ static get DefaultType() {
+ return {};
+ }
+ static get NAME() {
+ throw new Error(
+ 'You have to implement the static method "NAME", for each component!'
+ );
+ }
+ _getConfig(t) {
+ return (
+ (t = this._mergeConfigObj(t)),
+ (t = this._configAfterMerge(t)),
+ this._typeCheckConfig(t),
+ t
+ );
+ }
+ _configAfterMerge(t) {
+ return t;
+ }
+ _mergeConfigObj(t, e) {
+ const i = o(e) ? F.getDataAttribute(e, "config") : {};
+ return {
+ ...this.constructor.Default,
+ ...("object" == typeof i ? i : {}),
+ ...(o(e) ? F.getDataAttributes(e) : {}),
+ ...("object" == typeof t ? t : {}),
+ };
+ }
+ _typeCheckConfig(t, e = this.constructor.DefaultType) {
+ for (const [n, s] of Object.entries(e)) {
+ const e = t[n],
+ r = o(e)
+ ? "element"
+ : null == (i = e)
+ ? `${i}`
+ : Object.prototype.toString
+ .call(i)
+ .match(/\s([a-z]+)/i)[1]
+ .toLowerCase();
+ if (!new RegExp(s).test(r))
+ throw new TypeError(
+ `${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`
+ );
+ }
+ var i;
+ }
+ }
+ class W extends H {
+ constructor(t, i) {
+ super(),
+ (t = r(t)) &&
+ ((this._element = t),
+ (this._config = this._getConfig(i)),
+ e.set(this._element, this.constructor.DATA_KEY, this));
+ }
+ dispose() {
+ e.remove(this._element, this.constructor.DATA_KEY),
+ N.off(this._element, this.constructor.EVENT_KEY);
+ for (const t of Object.getOwnPropertyNames(this)) this[t] = null;
+ }
+ _queueCallback(t, e, i = !0) {
+ _(t, e, i);
+ }
+ _getConfig(t) {
+ return (
+ (t = this._mergeConfigObj(t, this._element)),
+ (t = this._configAfterMerge(t)),
+ this._typeCheckConfig(t),
+ t
+ );
+ }
+ static getInstance(t) {
+ return e.get(r(t), this.DATA_KEY);
+ }
+ static getOrCreateInstance(t, e = {}) {
+ return (
+ this.getInstance(t) ||
+ new this(t, "object" == typeof e ? e : null)
+ );
+ }
+ static get VERSION() {
+ return "5.3.2";
+ }
+ static get DATA_KEY() {
+ return `bs.${this.NAME}`;
+ }
+ static get EVENT_KEY() {
+ return `.${this.DATA_KEY}`;
+ }
+ static eventName(t) {
+ return `${t}${this.EVENT_KEY}`;
+ }
+ }
+ const B = (t) => {
+ let e = t.getAttribute("data-bs-target");
+ if (!e || "#" === e) {
+ let i = t.getAttribute("href");
+ if (!i || (!i.includes("#") && !i.startsWith("."))) return null;
+ i.includes("#") &&
+ !i.startsWith("#") &&
+ (i = `#${i.split("#")[1]}`),
+ (e = i && "#" !== i ? n(i.trim()) : null);
+ }
+ return e;
+ },
+ z = {
+ find: (t, e = document.documentElement) =>
+ [].concat(...Element.prototype.querySelectorAll.call(e, t)),
+ findOne: (t, e = document.documentElement) =>
+ Element.prototype.querySelector.call(e, t),
+ children: (t, e) =>
+ [].concat(...t.children).filter((t) => t.matches(e)),
+ parents(t, e) {
+ const i = [];
+ let n = t.parentNode.closest(e);
+ for (; n; ) i.push(n), (n = n.parentNode.closest(e));
+ return i;
+ },
+ prev(t, e) {
+ let i = t.previousElementSibling;
+ for (; i; ) {
+ if (i.matches(e)) return [i];
+ i = i.previousElementSibling;
+ }
+ return [];
+ },
+ next(t, e) {
+ let i = t.nextElementSibling;
+ for (; i; ) {
+ if (i.matches(e)) return [i];
+ i = i.nextElementSibling;
+ }
+ return [];
+ },
+ focusableChildren(t) {
+ const e = [
+ "a",
+ "button",
+ "input",
+ "textarea",
+ "select",
+ "details",
+ "[tabindex]",
+ '[contenteditable="true"]',
+ ]
+ .map((t) => `${t}:not([tabindex^="-"])`)
+ .join(",");
+ return this.find(e, t).filter((t) => !l(t) && a(t));
+ },
+ getSelectorFromElement(t) {
+ const e = B(t);
+ return e && z.findOne(e) ? e : null;
+ },
+ getElementFromSelector(t) {
+ const e = B(t);
+ return e ? z.findOne(e) : null;
+ },
+ getMultipleElementsFromSelector(t) {
+ const e = B(t);
+ return e ? z.find(e) : [];
+ },
+ },
+ R = (t, e = "hide") => {
+ const i = `click.dismiss${t.EVENT_KEY}`,
+ n = t.NAME;
+ N.on(document, i, `[data-bs-dismiss="${n}"]`, function (i) {
+ if (
+ (["A", "AREA"].includes(this.tagName) && i.preventDefault(),
+ l(this))
+ )
+ return;
+ const s =
+ z.getElementFromSelector(this) || this.closest(`.${n}`);
+ t.getOrCreateInstance(s)[e]();
+ });
+ },
+ q = ".bs.alert",
+ V = `close${q}`,
+ K = `closed${q}`;
+ class Q extends W {
+ static get NAME() {
+ return "alert";
+ }
+ close() {
+ if (N.trigger(this._element, V).defaultPrevented) return;
+ this._element.classList.remove("show");
+ const t = this._element.classList.contains("fade");
+ this._queueCallback(() => this._destroyElement(), this._element, t);
+ }
+ _destroyElement() {
+ this._element.remove(), N.trigger(this._element, K), this.dispose();
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = Q.getOrCreateInstance(this);
+ if ("string" == typeof t) {
+ if (
+ void 0 === e[t] ||
+ t.startsWith("_") ||
+ "constructor" === t
+ )
+ throw new TypeError(`No method named "${t}"`);
+ e[t](this);
+ }
+ });
+ }
+ }
+ R(Q, "close"), m(Q);
+ const X = '[data-bs-toggle="button"]';
+ class Y extends W {
+ static get NAME() {
+ return "button";
+ }
+ toggle() {
+ this._element.setAttribute(
+ "aria-pressed",
+ this._element.classList.toggle("active")
+ );
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = Y.getOrCreateInstance(this);
+ "toggle" === t && e[t]();
+ });
+ }
+ }
+ N.on(document, "click.bs.button.data-api", X, (t) => {
+ t.preventDefault();
+ const e = t.target.closest(X);
+ Y.getOrCreateInstance(e).toggle();
+ }),
+ m(Y);
+ const U = ".bs.swipe",
+ G = `touchstart${U}`,
+ J = `touchmove${U}`,
+ Z = `touchend${U}`,
+ tt = `pointerdown${U}`,
+ et = `pointerup${U}`,
+ it = { endCallback: null, leftCallback: null, rightCallback: null },
+ nt = {
+ endCallback: "(function|null)",
+ leftCallback: "(function|null)",
+ rightCallback: "(function|null)",
+ };
+ class st extends H {
+ constructor(t, e) {
+ super(),
+ (this._element = t),
+ t &&
+ st.isSupported() &&
+ ((this._config = this._getConfig(e)),
+ (this._deltaX = 0),
+ (this._supportPointerEvents = Boolean(window.PointerEvent)),
+ this._initEvents());
+ }
+ static get Default() {
+ return it;
+ }
+ static get DefaultType() {
+ return nt;
+ }
+ static get NAME() {
+ return "swipe";
+ }
+ dispose() {
+ N.off(this._element, U);
+ }
+ _start(t) {
+ this._supportPointerEvents
+ ? this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX)
+ : (this._deltaX = t.touches[0].clientX);
+ }
+ _end(t) {
+ this._eventIsPointerPenTouch(t) &&
+ (this._deltaX = t.clientX - this._deltaX),
+ this._handleSwipe(),
+ g(this._config.endCallback);
+ }
+ _move(t) {
+ this._deltaX =
+ t.touches && t.touches.length > 1
+ ? 0
+ : t.touches[0].clientX - this._deltaX;
+ }
+ _handleSwipe() {
+ const t = Math.abs(this._deltaX);
+ if (t <= 40) return;
+ const e = t / this._deltaX;
+ (this._deltaX = 0),
+ e &&
+ g(
+ e > 0
+ ? this._config.rightCallback
+ : this._config.leftCallback
+ );
+ }
+ _initEvents() {
+ this._supportPointerEvents
+ ? (N.on(this._element, tt, (t) => this._start(t)),
+ N.on(this._element, et, (t) => this._end(t)),
+ this._element.classList.add("pointer-event"))
+ : (N.on(this._element, G, (t) => this._start(t)),
+ N.on(this._element, J, (t) => this._move(t)),
+ N.on(this._element, Z, (t) => this._end(t)));
+ }
+ _eventIsPointerPenTouch(t) {
+ return (
+ this._supportPointerEvents &&
+ ("pen" === t.pointerType || "touch" === t.pointerType)
+ );
+ }
+ static isSupported() {
+ return (
+ "ontouchstart" in document.documentElement ||
+ navigator.maxTouchPoints > 0
+ );
+ }
+ }
+ const ot = ".bs.carousel",
+ rt = ".data-api",
+ at = "next",
+ lt = "prev",
+ ct = "left",
+ ht = "right",
+ dt = `slide${ot}`,
+ ut = `slid${ot}`,
+ ft = `keydown${ot}`,
+ pt = `mouseenter${ot}`,
+ mt = `mouseleave${ot}`,
+ gt = `dragstart${ot}`,
+ _t = `load${ot}${rt}`,
+ bt = `click${ot}${rt}`,
+ vt = "carousel",
+ yt = "active",
+ wt = ".active",
+ At = ".carousel-item",
+ Et = wt + At,
+ Tt = { ArrowLeft: ht, ArrowRight: ct },
+ Ct = {
+ interval: 5e3,
+ keyboard: !0,
+ pause: "hover",
+ ride: !1,
+ touch: !0,
+ wrap: !0,
+ },
+ Ot = {
+ interval: "(number|boolean)",
+ keyboard: "boolean",
+ pause: "(string|boolean)",
+ ride: "(boolean|string)",
+ touch: "boolean",
+ wrap: "boolean",
+ };
+ class xt extends W {
+ constructor(t, e) {
+ super(t, e),
+ (this._interval = null),
+ (this._activeElement = null),
+ (this._isSliding = !1),
+ (this.touchTimeout = null),
+ (this._swipeHelper = null),
+ (this._indicatorsElement = z.findOne(
+ ".carousel-indicators",
+ this._element
+ )),
+ this._addEventListeners(),
+ this._config.ride === vt && this.cycle();
+ }
+ static get Default() {
+ return Ct;
+ }
+ static get DefaultType() {
+ return Ot;
+ }
+ static get NAME() {
+ return "carousel";
+ }
+ next() {
+ this._slide(at);
+ }
+ nextWhenVisible() {
+ !document.hidden && a(this._element) && this.next();
+ }
+ prev() {
+ this._slide(lt);
+ }
+ pause() {
+ this._isSliding && s(this._element), this._clearInterval();
+ }
+ cycle() {
+ this._clearInterval(),
+ this._updateInterval(),
+ (this._interval = setInterval(
+ () => this.nextWhenVisible(),
+ this._config.interval
+ ));
+ }
+ _maybeEnableCycle() {
+ this._config.ride &&
+ (this._isSliding
+ ? N.one(this._element, ut, () => this.cycle())
+ : this.cycle());
+ }
+ to(t) {
+ const e = this._getItems();
+ if (t > e.length - 1 || t < 0) return;
+ if (this._isSliding)
+ return void N.one(this._element, ut, () => this.to(t));
+ const i = this._getItemIndex(this._getActive());
+ if (i === t) return;
+ const n = t > i ? at : lt;
+ this._slide(n, e[t]);
+ }
+ dispose() {
+ this._swipeHelper && this._swipeHelper.dispose(), super.dispose();
+ }
+ _configAfterMerge(t) {
+ return (t.defaultInterval = t.interval), t;
+ }
+ _addEventListeners() {
+ this._config.keyboard &&
+ N.on(this._element, ft, (t) => this._keydown(t)),
+ "hover" === this._config.pause &&
+ (N.on(this._element, pt, () => this.pause()),
+ N.on(this._element, mt, () => this._maybeEnableCycle())),
+ this._config.touch &&
+ st.isSupported() &&
+ this._addTouchEventListeners();
+ }
+ _addTouchEventListeners() {
+ for (const t of z.find(".carousel-item img", this._element))
+ N.on(t, gt, (t) => t.preventDefault());
+ const t = {
+ leftCallback: () => this._slide(this._directionToOrder(ct)),
+ rightCallback: () => this._slide(this._directionToOrder(ht)),
+ endCallback: () => {
+ "hover" === this._config.pause &&
+ (this.pause(),
+ this.touchTimeout && clearTimeout(this.touchTimeout),
+ (this.touchTimeout = setTimeout(
+ () => this._maybeEnableCycle(),
+ 500 + this._config.interval
+ )));
+ },
+ };
+ this._swipeHelper = new st(this._element, t);
+ }
+ _keydown(t) {
+ if (/input|textarea/i.test(t.target.tagName)) return;
+ const e = Tt[t.key];
+ e && (t.preventDefault(), this._slide(this._directionToOrder(e)));
+ }
+ _getItemIndex(t) {
+ return this._getItems().indexOf(t);
+ }
+ _setActiveIndicatorElement(t) {
+ if (!this._indicatorsElement) return;
+ const e = z.findOne(wt, this._indicatorsElement);
+ e.classList.remove(yt), e.removeAttribute("aria-current");
+ const i = z.findOne(
+ `[data-bs-slide-to="${t}"]`,
+ this._indicatorsElement
+ );
+ i && (i.classList.add(yt), i.setAttribute("aria-current", "true"));
+ }
+ _updateInterval() {
+ const t = this._activeElement || this._getActive();
+ if (!t) return;
+ const e = Number.parseInt(t.getAttribute("data-bs-interval"), 10);
+ this._config.interval = e || this._config.defaultInterval;
+ }
+ _slide(t, e = null) {
+ if (this._isSliding) return;
+ const i = this._getActive(),
+ n = t === at,
+ s = e || b(this._getItems(), i, n, this._config.wrap);
+ if (s === i) return;
+ const o = this._getItemIndex(s),
+ r = (e) =>
+ N.trigger(this._element, e, {
+ relatedTarget: s,
+ direction: this._orderToDirection(t),
+ from: this._getItemIndex(i),
+ to: o,
+ });
+ if (r(dt).defaultPrevented) return;
+ if (!i || !s) return;
+ const a = Boolean(this._interval);
+ this.pause(),
+ (this._isSliding = !0),
+ this._setActiveIndicatorElement(o),
+ (this._activeElement = s);
+ const l = n ? "carousel-item-start" : "carousel-item-end",
+ c = n ? "carousel-item-next" : "carousel-item-prev";
+ s.classList.add(c),
+ d(s),
+ i.classList.add(l),
+ s.classList.add(l),
+ this._queueCallback(
+ () => {
+ s.classList.remove(l, c),
+ s.classList.add(yt),
+ i.classList.remove(yt, c, l),
+ (this._isSliding = !1),
+ r(ut);
+ },
+ i,
+ this._isAnimated()
+ ),
+ a && this.cycle();
+ }
+ _isAnimated() {
+ return this._element.classList.contains("slide");
+ }
+ _getActive() {
+ return z.findOne(Et, this._element);
+ }
+ _getItems() {
+ return z.find(At, this._element);
+ }
+ _clearInterval() {
+ this._interval &&
+ (clearInterval(this._interval), (this._interval = null));
+ }
+ _directionToOrder(t) {
+ return p() ? (t === ct ? lt : at) : t === ct ? at : lt;
+ }
+ _orderToDirection(t) {
+ return p() ? (t === lt ? ct : ht) : t === lt ? ht : ct;
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = xt.getOrCreateInstance(this, t);
+ if ("number" != typeof t) {
+ if ("string" == typeof t) {
+ if (
+ void 0 === e[t] ||
+ t.startsWith("_") ||
+ "constructor" === t
+ )
+ throw new TypeError(`No method named "${t}"`);
+ e[t]();
+ }
+ } else e.to(t);
+ });
+ }
+ }
+ N.on(document, bt, "[data-bs-slide], [data-bs-slide-to]", function (t) {
+ const e = z.getElementFromSelector(this);
+ if (!e || !e.classList.contains(vt)) return;
+ t.preventDefault();
+ const i = xt.getOrCreateInstance(e),
+ n = this.getAttribute("data-bs-slide-to");
+ return n
+ ? (i.to(n), void i._maybeEnableCycle())
+ : "next" === F.getDataAttribute(this, "slide")
+ ? (i.next(), void i._maybeEnableCycle())
+ : (i.prev(), void i._maybeEnableCycle());
+ }),
+ N.on(window, _t, () => {
+ const t = z.find('[data-bs-ride="carousel"]');
+ for (const e of t) xt.getOrCreateInstance(e);
+ }),
+ m(xt);
+ const kt = ".bs.collapse",
+ Lt = `show${kt}`,
+ St = `shown${kt}`,
+ Dt = `hide${kt}`,
+ $t = `hidden${kt}`,
+ It = `click${kt}.data-api`,
+ Nt = "show",
+ Pt = "collapse",
+ Mt = "collapsing",
+ jt = `:scope .${Pt} .${Pt}`,
+ Ft = '[data-bs-toggle="collapse"]',
+ Ht = { parent: null, toggle: !0 },
+ Wt = { parent: "(null|element)", toggle: "boolean" };
+ class Bt extends W {
+ constructor(t, e) {
+ super(t, e),
+ (this._isTransitioning = !1),
+ (this._triggerArray = []);
+ const i = z.find(Ft);
+ for (const t of i) {
+ const e = z.getSelectorFromElement(t),
+ i = z.find(e).filter((t) => t === this._element);
+ null !== e && i.length && this._triggerArray.push(t);
+ }
+ this._initializeChildren(),
+ this._config.parent ||
+ this._addAriaAndCollapsedClass(
+ this._triggerArray,
+ this._isShown()
+ ),
+ this._config.toggle && this.toggle();
+ }
+ static get Default() {
+ return Ht;
+ }
+ static get DefaultType() {
+ return Wt;
+ }
+ static get NAME() {
+ return "collapse";
+ }
+ toggle() {
+ this._isShown() ? this.hide() : this.show();
+ }
+ show() {
+ if (this._isTransitioning || this._isShown()) return;
+ let t = [];
+ if (
+ (this._config.parent &&
+ (t = this._getFirstLevelChildren(
+ ".collapse.show, .collapse.collapsing"
+ )
+ .filter((t) => t !== this._element)
+ .map((t) => Bt.getOrCreateInstance(t, { toggle: !1 }))),
+ t.length && t[0]._isTransitioning)
+ )
+ return;
+ if (N.trigger(this._element, Lt).defaultPrevented) return;
+ for (const e of t) e.hide();
+ const e = this._getDimension();
+ this._element.classList.remove(Pt),
+ this._element.classList.add(Mt),
+ (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(Mt),
+ this._element.classList.add(Pt, Nt),
+ (this._element.style[e] = ""),
+ N.trigger(this._element, St);
+ },
+ this._element,
+ !0
+ ),
+ (this._element.style[e] = `${this._element[i]}px`);
+ }
+ hide() {
+ if (this._isTransitioning || !this._isShown()) return;
+ if (N.trigger(this._element, Dt).defaultPrevented) return;
+ const t = this._getDimension();
+ (this._element.style[t] = `${
+ this._element.getBoundingClientRect()[t]
+ }px`),
+ d(this._element),
+ this._element.classList.add(Mt),
+ this._element.classList.remove(Pt, Nt);
+ for (const t of this._triggerArray) {
+ const e = z.getElementFromSelector(t);
+ e &&
+ !this._isShown(e) &&
+ this._addAriaAndCollapsedClass([t], !1);
+ }
+ (this._isTransitioning = !0),
+ (this._element.style[t] = ""),
+ this._queueCallback(
+ () => {
+ (this._isTransitioning = !1),
+ this._element.classList.remove(Mt),
+ this._element.classList.add(Pt),
+ N.trigger(this._element, $t);
+ },
+ this._element,
+ !0
+ );
+ }
+ _isShown(t = this._element) {
+ return t.classList.contains(Nt);
+ }
+ _configAfterMerge(t) {
+ return (t.toggle = Boolean(t.toggle)), (t.parent = r(t.parent)), t;
+ }
+ _getDimension() {
+ return this._element.classList.contains("collapse-horizontal")
+ ? "width"
+ : "height";
+ }
+ _initializeChildren() {
+ if (!this._config.parent) return;
+ const t = this._getFirstLevelChildren(Ft);
+ for (const e of t) {
+ const t = z.getElementFromSelector(e);
+ t && this._addAriaAndCollapsedClass([e], this._isShown(t));
+ }
+ }
+ _getFirstLevelChildren(t) {
+ const e = z.find(jt, this._config.parent);
+ return z.find(t, this._config.parent).filter((t) => !e.includes(t));
+ }
+ _addAriaAndCollapsedClass(t, e) {
+ if (t.length)
+ for (const i of t)
+ i.classList.toggle("collapsed", !e),
+ i.setAttribute("aria-expanded", e);
+ }
+ static jQueryInterface(t) {
+ const e = {};
+ return (
+ "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1),
+ this.each(function () {
+ const i = Bt.getOrCreateInstance(this, e);
+ if ("string" == typeof t) {
+ if (void 0 === i[t])
+ throw new TypeError(`No method named "${t}"`);
+ i[t]();
+ }
+ })
+ );
+ }
+ }
+ N.on(document, It, Ft, function (t) {
+ ("A" === t.target.tagName ||
+ (t.delegateTarget && "A" === t.delegateTarget.tagName)) &&
+ t.preventDefault();
+ for (const t of z.getMultipleElementsFromSelector(this))
+ Bt.getOrCreateInstance(t, { toggle: !1 }).toggle();
+ }),
+ m(Bt);
+ var zt = "top",
+ Rt = "bottom",
+ qt = "right",
+ Vt = "left",
+ Kt = "auto",
+ Qt = [zt, Rt, qt, Vt],
+ Xt = "start",
+ Yt = "end",
+ Ut = "clippingParents",
+ Gt = "viewport",
+ Jt = "popper",
+ Zt = "reference",
+ te = Qt.reduce(function (t, e) {
+ return t.concat([e + "-" + Xt, e + "-" + Yt]);
+ }, []),
+ ee = [].concat(Qt, [Kt]).reduce(function (t, e) {
+ return t.concat([e, e + "-" + Xt, e + "-" + Yt]);
+ }, []),
+ ie = "beforeRead",
+ ne = "read",
+ se = "afterRead",
+ oe = "beforeMain",
+ re = "main",
+ ae = "afterMain",
+ le = "beforeWrite",
+ ce = "write",
+ he = "afterWrite",
+ de = [ie, ne, se, oe, re, ae, le, ce, he];
+ function ue(t) {
+ return t ? (t.nodeName || "").toLowerCase() : null;
+ }
+ function fe(t) {
+ if (null == t) return window;
+ if ("[object Window]" !== t.toString()) {
+ var e = t.ownerDocument;
+ return (e && e.defaultView) || window;
+ }
+ return t;
+ }
+ function pe(t) {
+ return t instanceof fe(t).Element || t instanceof Element;
+ }
+ function me(t) {
+ return t instanceof fe(t).HTMLElement || t instanceof HTMLElement;
+ }
+ function ge(t) {
+ return (
+ "undefined" != typeof ShadowRoot &&
+ (t instanceof fe(t).ShadowRoot || t instanceof ShadowRoot)
+ );
+ }
+ const _e = {
+ name: "applyStyles",
+ enabled: !0,
+ phase: "write",
+ fn: function (t) {
+ var e = t.state;
+ Object.keys(e.elements).forEach(function (t) {
+ var i = e.styles[t] || {},
+ n = e.attributes[t] || {},
+ s = e.elements[t];
+ me(s) &&
+ ue(s) &&
+ (Object.assign(s.style, i),
+ Object.keys(n).forEach(function (t) {
+ var e = n[t];
+ !1 === e
+ ? s.removeAttribute(t)
+ : s.setAttribute(t, !0 === e ? "" : e);
+ }));
+ });
+ },
+ effect: function (t) {
+ var e = t.state,
+ i = {
+ popper: {
+ position: e.options.strategy,
+ left: "0",
+ top: "0",
+ margin: "0",
+ },
+ arrow: { position: "absolute" },
+ reference: {},
+ };
+ return (
+ Object.assign(e.elements.popper.style, i.popper),
+ (e.styles = i),
+ e.elements.arrow &&
+ Object.assign(e.elements.arrow.style, i.arrow),
+ function () {
+ Object.keys(e.elements).forEach(function (t) {
+ var n = e.elements[t],
+ s = e.attributes[t] || {},
+ o = Object.keys(
+ e.styles.hasOwnProperty(t) ? e.styles[t] : i[t]
+ ).reduce(function (t, e) {
+ return (t[e] = ""), t;
+ }, {});
+ me(n) &&
+ ue(n) &&
+ (Object.assign(n.style, o),
+ Object.keys(s).forEach(function (t) {
+ n.removeAttribute(t);
+ }));
+ });
+ }
+ );
+ },
+ requires: ["computeStyles"],
+ };
+ function be(t) {
+ return t.split("-")[0];
+ }
+ var ve = Math.max,
+ ye = Math.min,
+ we = Math.round;
+ function Ae() {
+ var t = navigator.userAgentData;
+ return null != t && t.brands && Array.isArray(t.brands)
+ ? t.brands
+ .map(function (t) {
+ return t.brand + "/" + t.version;
+ })
+ .join(" ")
+ : navigator.userAgent;
+ }
+ function Ee() {
+ return !/^((?!chrome|android).)*safari/i.test(Ae());
+ }
+ function Te(t, e, i) {
+ void 0 === e && (e = !1), void 0 === i && (i = !1);
+ var n = t.getBoundingClientRect(),
+ s = 1,
+ o = 1;
+ e &&
+ me(t) &&
+ ((s = (t.offsetWidth > 0 && we(n.width) / t.offsetWidth) || 1),
+ (o = (t.offsetHeight > 0 && we(n.height) / t.offsetHeight) || 1));
+ var r = (pe(t) ? fe(t) : window).visualViewport,
+ a = !Ee() && i,
+ l = (n.left + (a && r ? r.offsetLeft : 0)) / s,
+ c = (n.top + (a && r ? r.offsetTop : 0)) / o,
+ h = n.width / s,
+ d = n.height / o;
+ return {
+ width: h,
+ height: d,
+ top: c,
+ right: l + h,
+ bottom: c + d,
+ left: l,
+ x: l,
+ y: c,
+ };
+ }
+ function Ce(t) {
+ var e = Te(t),
+ i = t.offsetWidth,
+ n = t.offsetHeight;
+ return (
+ Math.abs(e.width - i) <= 1 && (i = e.width),
+ Math.abs(e.height - n) <= 1 && (n = e.height),
+ { x: t.offsetLeft, y: t.offsetTop, width: i, height: n }
+ );
+ }
+ function Oe(t, e) {
+ var i = e.getRootNode && e.getRootNode();
+ if (t.contains(e)) return !0;
+ if (i && ge(i)) {
+ var n = e;
+ do {
+ if (n && t.isSameNode(n)) return !0;
+ n = n.parentNode || n.host;
+ } while (n);
+ }
+ return !1;
+ }
+ function xe(t) {
+ return fe(t).getComputedStyle(t);
+ }
+ function ke(t) {
+ return ["table", "td", "th"].indexOf(ue(t)) >= 0;
+ }
+ function Le(t) {
+ return (
+ (pe(t) ? t.ownerDocument : t.document) || window.document
+ ).documentElement;
+ }
+ function Se(t) {
+ return "html" === ue(t)
+ ? t
+ : t.assignedSlot ||
+ t.parentNode ||
+ (ge(t) ? t.host : null) ||
+ Le(t);
+ }
+ function De(t) {
+ return me(t) && "fixed" !== xe(t).position ? t.offsetParent : null;
+ }
+ function $e(t) {
+ for (
+ var e = fe(t), i = De(t);
+ i && ke(i) && "static" === xe(i).position;
+
+ )
+ i = De(i);
+ return i &&
+ ("html" === ue(i) ||
+ ("body" === ue(i) && "static" === xe(i).position))
+ ? e
+ : i ||
+ (function (t) {
+ var e = /firefox/i.test(Ae());
+ if (
+ /Trident/i.test(Ae()) &&
+ me(t) &&
+ "fixed" === xe(t).position
+ )
+ return null;
+ var i = Se(t);
+ for (
+ ge(i) && (i = i.host);
+ me(i) && ["html", "body"].indexOf(ue(i)) < 0;
+
+ ) {
+ var n = xe(i);
+ if (
+ "none" !== n.transform ||
+ "none" !== n.perspective ||
+ "paint" === n.contain ||
+ -1 !==
+ ["transform", "perspective"].indexOf(
+ n.willChange
+ ) ||
+ (e && "filter" === n.willChange) ||
+ (e && n.filter && "none" !== n.filter)
+ )
+ return i;
+ i = i.parentNode;
+ }
+ return null;
+ })(t) ||
+ e;
+ }
+ function Ie(t) {
+ return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y";
+ }
+ function Ne(t, e, i) {
+ return ve(t, ye(e, i));
+ }
+ function Pe(t) {
+ return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, t);
+ }
+ function Me(t, e) {
+ return e.reduce(function (e, i) {
+ return (e[i] = t), e;
+ }, {});
+ }
+ const je = {
+ name: "arrow",
+ enabled: !0,
+ phase: "main",
+ fn: function (t) {
+ var e,
+ i = t.state,
+ n = t.name,
+ s = t.options,
+ o = i.elements.arrow,
+ r = i.modifiersData.popperOffsets,
+ a = be(i.placement),
+ l = Ie(a),
+ c = [Vt, qt].indexOf(a) >= 0 ? "height" : "width";
+ if (o && r) {
+ var h = (function (t, e) {
+ return Pe(
+ "number" !=
+ typeof (t =
+ "function" == typeof t
+ ? t(
+ Object.assign({}, e.rects, {
+ placement: e.placement,
+ })
+ )
+ : t)
+ ? t
+ : Me(t, Qt)
+ );
+ })(s.padding, i),
+ d = Ce(o),
+ u = "y" === l ? zt : Vt,
+ f = "y" === l ? Rt : qt,
+ p =
+ i.rects.reference[c] +
+ i.rects.reference[l] -
+ r[l] -
+ i.rects.popper[c],
+ m = r[l] - i.rects.reference[l],
+ g = $e(o),
+ _ = g
+ ? "y" === l
+ ? g.clientHeight || 0
+ : g.clientWidth || 0
+ : 0,
+ b = p / 2 - m / 2,
+ v = h[u],
+ y = _ - d[c] - h[f],
+ w = _ / 2 - d[c] / 2 + b,
+ A = Ne(v, w, y),
+ E = l;
+ i.modifiersData[n] =
+ (((e = {})[E] = A), (e.centerOffset = A - w), e);
+ }
+ },
+ effect: function (t) {
+ var e = t.state,
+ i = t.options.element,
+ n = void 0 === i ? "[data-popper-arrow]" : i;
+ null != n &&
+ ("string" != typeof n ||
+ (n = e.elements.popper.querySelector(n))) &&
+ Oe(e.elements.popper, n) &&
+ (e.elements.arrow = n);
+ },
+ requires: ["popperOffsets"],
+ requiresIfExists: ["preventOverflow"],
+ };
+ function Fe(t) {
+ return t.split("-")[1];
+ }
+ var He = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
+ function We(t) {
+ var e,
+ i = t.popper,
+ n = t.popperRect,
+ s = t.placement,
+ o = t.variation,
+ r = t.offsets,
+ a = t.position,
+ l = t.gpuAcceleration,
+ c = t.adaptive,
+ h = t.roundOffsets,
+ d = t.isFixed,
+ u = r.x,
+ f = void 0 === u ? 0 : u,
+ p = r.y,
+ m = void 0 === p ? 0 : p,
+ g = "function" == typeof h ? h({ x: f, y: m }) : { x: f, y: m };
+ (f = g.x), (m = g.y);
+ var _ = r.hasOwnProperty("x"),
+ b = r.hasOwnProperty("y"),
+ v = Vt,
+ y = zt,
+ w = window;
+ if (c) {
+ var A = $e(i),
+ E = "clientHeight",
+ T = "clientWidth";
+ A === fe(i) &&
+ "static" !== xe((A = Le(i))).position &&
+ "absolute" === a &&
+ ((E = "scrollHeight"), (T = "scrollWidth")),
+ (s === zt || ((s === Vt || s === qt) && o === Yt)) &&
+ ((y = Rt),
+ (m -=
+ (d && A === w && w.visualViewport
+ ? w.visualViewport.height
+ : A[E]) - n.height),
+ (m *= l ? 1 : -1)),
+ (s !== Vt && ((s !== zt && s !== Rt) || o !== Yt)) ||
+ ((v = qt),
+ (f -=
+ (d && A === w && w.visualViewport
+ ? w.visualViewport.width
+ : A[T]) - n.width),
+ (f *= l ? 1 : -1));
+ }
+ var C,
+ O = Object.assign({ position: a }, c && He),
+ x =
+ !0 === h
+ ? (function (t, e) {
+ var i = t.x,
+ n = t.y,
+ s = e.devicePixelRatio || 1;
+ return {
+ x: we(i * s) / s || 0,
+ y: we(n * s) / s || 0,
+ };
+ })({ x: f, y: m }, fe(i))
+ : { x: f, y: m };
+ return (
+ (f = x.x),
+ (m = x.y),
+ l
+ ? Object.assign(
+ {},
+ O,
+ (((C = {})[y] = b ? "0" : ""),
+ (C[v] = _ ? "0" : ""),
+ (C.transform =
+ (w.devicePixelRatio || 1) <= 1
+ ? "translate(" + f + "px, " + m + "px)"
+ : "translate3d(" + f + "px, " + m + "px, 0)"),
+ C)
+ )
+ : Object.assign(
+ {},
+ O,
+ (((e = {})[y] = b ? m + "px" : ""),
+ (e[v] = _ ? f + "px" : ""),
+ (e.transform = ""),
+ e)
+ )
+ );
+ }
+ const Be = {
+ name: "computeStyles",
+ enabled: !0,
+ phase: "beforeWrite",
+ fn: function (t) {
+ var e = t.state,
+ i = t.options,
+ n = i.gpuAcceleration,
+ s = void 0 === n || n,
+ o = i.adaptive,
+ r = void 0 === o || o,
+ a = i.roundOffsets,
+ l = void 0 === a || a,
+ c = {
+ placement: be(e.placement),
+ variation: Fe(e.placement),
+ popper: e.elements.popper,
+ popperRect: e.rects.popper,
+ gpuAcceleration: s,
+ isFixed: "fixed" === e.options.strategy,
+ };
+ null != e.modifiersData.popperOffsets &&
+ (e.styles.popper = Object.assign(
+ {},
+ e.styles.popper,
+ We(
+ Object.assign({}, c, {
+ offsets: e.modifiersData.popperOffsets,
+ position: e.options.strategy,
+ adaptive: r,
+ roundOffsets: l,
+ })
+ )
+ )),
+ null != e.modifiersData.arrow &&
+ (e.styles.arrow = Object.assign(
+ {},
+ e.styles.arrow,
+ We(
+ Object.assign({}, c, {
+ offsets: e.modifiersData.arrow,
+ position: "absolute",
+ adaptive: !1,
+ roundOffsets: l,
+ })
+ )
+ )),
+ (e.attributes.popper = Object.assign({}, e.attributes.popper, {
+ "data-popper-placement": e.placement,
+ }));
+ },
+ data: {},
+ };
+ var ze = { passive: !0 };
+ const Re = {
+ name: "eventListeners",
+ enabled: !0,
+ phase: "write",
+ fn: function () {},
+ effect: function (t) {
+ var e = t.state,
+ i = t.instance,
+ n = t.options,
+ s = n.scroll,
+ o = void 0 === s || s,
+ r = n.resize,
+ a = void 0 === r || r,
+ l = fe(e.elements.popper),
+ c = [].concat(
+ e.scrollParents.reference,
+ e.scrollParents.popper
+ );
+ return (
+ o &&
+ c.forEach(function (t) {
+ t.addEventListener("scroll", i.update, ze);
+ }),
+ a && l.addEventListener("resize", i.update, ze),
+ function () {
+ o &&
+ c.forEach(function (t) {
+ t.removeEventListener("scroll", i.update, ze);
+ }),
+ a && l.removeEventListener("resize", i.update, ze);
+ }
+ );
+ },
+ data: {},
+ };
+ var qe = { left: "right", right: "left", bottom: "top", top: "bottom" };
+ function Ve(t) {
+ return t.replace(/left|right|bottom|top/g, function (t) {
+ return qe[t];
+ });
+ }
+ var Ke = { start: "end", end: "start" };
+ function Qe(t) {
+ return t.replace(/start|end/g, function (t) {
+ return Ke[t];
+ });
+ }
+ function Xe(t) {
+ var e = fe(t);
+ return { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset };
+ }
+ function Ye(t) {
+ return Te(Le(t)).left + Xe(t).scrollLeft;
+ }
+ function Ue(t) {
+ var e = xe(t),
+ i = e.overflow,
+ n = e.overflowX,
+ s = e.overflowY;
+ return /auto|scroll|overlay|hidden/.test(i + s + n);
+ }
+ function Ge(t) {
+ return ["html", "body", "#document"].indexOf(ue(t)) >= 0
+ ? t.ownerDocument.body
+ : me(t) && Ue(t)
+ ? t
+ : Ge(Se(t));
+ }
+ function Je(t, e) {
+ var i;
+ void 0 === e && (e = []);
+ var n = Ge(t),
+ s = n === (null == (i = t.ownerDocument) ? void 0 : i.body),
+ o = fe(n),
+ r = s ? [o].concat(o.visualViewport || [], Ue(n) ? n : []) : n,
+ a = e.concat(r);
+ return s ? a : a.concat(Je(Se(r)));
+ }
+ function Ze(t) {
+ return Object.assign({}, t, {
+ left: t.x,
+ top: t.y,
+ right: t.x + t.width,
+ bottom: t.y + t.height,
+ });
+ }
+ function ti(t, e, i) {
+ return e === Gt
+ ? Ze(
+ (function (t, e) {
+ var i = fe(t),
+ n = Le(t),
+ s = i.visualViewport,
+ o = n.clientWidth,
+ r = n.clientHeight,
+ a = 0,
+ l = 0;
+ if (s) {
+ (o = s.width), (r = s.height);
+ var c = Ee();
+ (c || (!c && "fixed" === e)) &&
+ ((a = s.offsetLeft), (l = s.offsetTop));
+ }
+ return { width: o, height: r, x: a + Ye(t), y: l };
+ })(t, i)
+ )
+ : pe(e)
+ ? (function (t, e) {
+ var i = Te(t, !1, "fixed" === e);
+ return (
+ (i.top = i.top + t.clientTop),
+ (i.left = i.left + t.clientLeft),
+ (i.bottom = i.top + t.clientHeight),
+ (i.right = i.left + t.clientWidth),
+ (i.width = t.clientWidth),
+ (i.height = t.clientHeight),
+ (i.x = i.left),
+ (i.y = i.top),
+ i
+ );
+ })(e, i)
+ : Ze(
+ (function (t) {
+ var e,
+ i = Le(t),
+ n = Xe(t),
+ s = null == (e = t.ownerDocument) ? void 0 : e.body,
+ o = ve(
+ i.scrollWidth,
+ i.clientWidth,
+ s ? s.scrollWidth : 0,
+ s ? s.clientWidth : 0
+ ),
+ r = ve(
+ i.scrollHeight,
+ i.clientHeight,
+ s ? s.scrollHeight : 0,
+ s ? s.clientHeight : 0
+ ),
+ a = -n.scrollLeft + Ye(t),
+ l = -n.scrollTop;
+ return (
+ "rtl" === xe(s || i).direction &&
+ (a +=
+ ve(i.clientWidth, s ? s.clientWidth : 0) - o),
+ { width: o, height: r, x: a, y: l }
+ );
+ })(Le(t))
+ );
+ }
+ function ei(t) {
+ var e,
+ i = t.reference,
+ n = t.element,
+ s = t.placement,
+ o = s ? be(s) : null,
+ r = s ? Fe(s) : null,
+ a = i.x + i.width / 2 - n.width / 2,
+ l = i.y + i.height / 2 - n.height / 2;
+ switch (o) {
+ case zt:
+ e = { x: a, y: i.y - n.height };
+ break;
+ case Rt:
+ e = { x: a, y: i.y + i.height };
+ break;
+ case qt:
+ e = { x: i.x + i.width, y: l };
+ break;
+ case Vt:
+ e = { x: i.x - n.width, y: l };
+ break;
+ default:
+ e = { x: i.x, y: i.y };
+ }
+ var c = o ? Ie(o) : null;
+ if (null != c) {
+ var h = "y" === c ? "height" : "width";
+ switch (r) {
+ case Xt:
+ e[c] = e[c] - (i[h] / 2 - n[h] / 2);
+ break;
+ case Yt:
+ e[c] = e[c] + (i[h] / 2 - n[h] / 2);
+ }
+ }
+ return e;
+ }
+ function ii(t, e) {
+ void 0 === e && (e = {});
+ var i = e,
+ n = i.placement,
+ s = void 0 === n ? t.placement : n,
+ o = i.strategy,
+ r = void 0 === o ? t.strategy : o,
+ a = i.boundary,
+ l = void 0 === a ? Ut : a,
+ c = i.rootBoundary,
+ h = void 0 === c ? Gt : c,
+ d = i.elementContext,
+ u = void 0 === d ? Jt : d,
+ f = i.altBoundary,
+ p = void 0 !== f && f,
+ m = i.padding,
+ g = void 0 === m ? 0 : m,
+ _ = Pe("number" != typeof g ? g : Me(g, Qt)),
+ b = u === Jt ? Zt : Jt,
+ v = t.rects.popper,
+ y = t.elements[p ? b : u],
+ w = (function (t, e, i, n) {
+ var s =
+ "clippingParents" === e
+ ? (function (t) {
+ var e = Je(Se(t)),
+ i =
+ ["absolute", "fixed"].indexOf(
+ xe(t).position
+ ) >= 0 && me(t)
+ ? $e(t)
+ : t;
+ return pe(i)
+ ? e.filter(function (t) {
+ return (
+ pe(t) &&
+ Oe(t, i) &&
+ "body" !== ue(t)
+ );
+ })
+ : [];
+ })(t)
+ : [].concat(e),
+ o = [].concat(s, [i]),
+ r = o[0],
+ a = o.reduce(function (e, i) {
+ var s = ti(t, i, n);
+ return (
+ (e.top = ve(s.top, e.top)),
+ (e.right = ye(s.right, e.right)),
+ (e.bottom = ye(s.bottom, e.bottom)),
+ (e.left = ve(s.left, e.left)),
+ e
+ );
+ }, ti(t, r, n));
+ return (
+ (a.width = a.right - a.left),
+ (a.height = a.bottom - a.top),
+ (a.x = a.left),
+ (a.y = a.top),
+ a
+ );
+ })(pe(y) ? y : y.contextElement || Le(t.elements.popper), l, h, r),
+ A = Te(t.elements.reference),
+ E = ei({
+ reference: A,
+ element: v,
+ strategy: "absolute",
+ placement: s,
+ }),
+ T = Ze(Object.assign({}, v, E)),
+ C = u === Jt ? T : A,
+ O = {
+ top: w.top - C.top + _.top,
+ bottom: C.bottom - w.bottom + _.bottom,
+ left: w.left - C.left + _.left,
+ right: C.right - w.right + _.right,
+ },
+ x = t.modifiersData.offset;
+ if (u === Jt && x) {
+ var k = x[s];
+ Object.keys(O).forEach(function (t) {
+ var e = [qt, Rt].indexOf(t) >= 0 ? 1 : -1,
+ i = [zt, Rt].indexOf(t) >= 0 ? "y" : "x";
+ O[t] += k[i] * e;
+ });
+ }
+ return O;
+ }
+ function ni(t, e) {
+ void 0 === e && (e = {});
+ var i = e,
+ n = i.placement,
+ s = i.boundary,
+ o = i.rootBoundary,
+ r = i.padding,
+ a = i.flipVariations,
+ l = i.allowedAutoPlacements,
+ c = void 0 === l ? ee : l,
+ h = Fe(n),
+ d = h
+ ? a
+ ? te
+ : te.filter(function (t) {
+ return Fe(t) === h;
+ })
+ : Qt,
+ u = d.filter(function (t) {
+ return c.indexOf(t) >= 0;
+ });
+ 0 === u.length && (u = d);
+ var f = u.reduce(function (e, i) {
+ return (
+ (e[i] = ii(t, {
+ placement: i,
+ boundary: s,
+ rootBoundary: o,
+ padding: r,
+ })[be(i)]),
+ e
+ );
+ }, {});
+ return Object.keys(f).sort(function (t, e) {
+ return f[t] - f[e];
+ });
+ }
+ const si = {
+ name: "flip",
+ enabled: !0,
+ phase: "main",
+ fn: function (t) {
+ var e = t.state,
+ i = t.options,
+ n = t.name;
+ if (!e.modifiersData[n]._skip) {
+ for (
+ var s = i.mainAxis,
+ o = void 0 === s || s,
+ r = i.altAxis,
+ a = void 0 === r || r,
+ l = i.fallbackPlacements,
+ c = i.padding,
+ h = i.boundary,
+ d = i.rootBoundary,
+ u = i.altBoundary,
+ f = i.flipVariations,
+ p = void 0 === f || f,
+ m = i.allowedAutoPlacements,
+ g = e.options.placement,
+ _ = be(g),
+ b =
+ l ||
+ (_ !== g && p
+ ? (function (t) {
+ if (be(t) === Kt) return [];
+ var e = Ve(t);
+ return [Qe(t), e, Qe(e)];
+ })(g)
+ : [Ve(g)]),
+ v = [g].concat(b).reduce(function (t, i) {
+ return t.concat(
+ be(i) === Kt
+ ? ni(e, {
+ placement: i,
+ boundary: h,
+ rootBoundary: d,
+ padding: c,
+ flipVariations: p,
+ allowedAutoPlacements: m,
+ })
+ : i
+ );
+ }, []),
+ y = e.rects.reference,
+ w = e.rects.popper,
+ A = new Map(),
+ E = !0,
+ T = v[0],
+ C = 0;
+ C < v.length;
+ C++
+ ) {
+ var O = v[C],
+ x = be(O),
+ k = Fe(O) === Xt,
+ L = [zt, Rt].indexOf(x) >= 0,
+ S = L ? "width" : "height",
+ D = ii(e, {
+ placement: O,
+ boundary: h,
+ rootBoundary: d,
+ altBoundary: u,
+ padding: c,
+ }),
+ $ = L ? (k ? qt : Vt) : k ? Rt : zt;
+ y[S] > w[S] && ($ = Ve($));
+ var I = Ve($),
+ N = [];
+ if (
+ (o && N.push(D[x] <= 0),
+ a && N.push(D[$] <= 0, D[I] <= 0),
+ N.every(function (t) {
+ return t;
+ }))
+ ) {
+ (T = O), (E = !1);
+ break;
+ }
+ A.set(O, N);
+ }
+ if (E)
+ for (
+ var P = function (t) {
+ var e = v.find(function (e) {
+ var i = A.get(e);
+ if (i)
+ return i
+ .slice(0, t)
+ .every(function (t) {
+ return t;
+ });
+ });
+ if (e) return (T = e), "break";
+ },
+ M = p ? 3 : 1;
+ M > 0 && "break" !== P(M);
+ M--
+ );
+ e.placement !== T &&
+ ((e.modifiersData[n]._skip = !0),
+ (e.placement = T),
+ (e.reset = !0));
+ }
+ },
+ requiresIfExists: ["offset"],
+ data: { _skip: !1 },
+ };
+ function oi(t, e, i) {
+ return (
+ void 0 === i && (i = { x: 0, y: 0 }),
+ {
+ top: t.top - e.height - i.y,
+ right: t.right - e.width + i.x,
+ bottom: t.bottom - e.height + i.y,
+ left: t.left - e.width - i.x,
+ }
+ );
+ }
+ function ri(t) {
+ return [zt, qt, Rt, Vt].some(function (e) {
+ return t[e] >= 0;
+ });
+ }
+ const ai = {
+ name: "hide",
+ enabled: !0,
+ phase: "main",
+ requiresIfExists: ["preventOverflow"],
+ fn: function (t) {
+ var e = t.state,
+ i = t.name,
+ n = e.rects.reference,
+ s = e.rects.popper,
+ o = e.modifiersData.preventOverflow,
+ r = ii(e, { elementContext: "reference" }),
+ a = ii(e, { altBoundary: !0 }),
+ l = oi(r, n),
+ c = oi(a, s, o),
+ h = ri(l),
+ d = ri(c);
+ (e.modifiersData[i] = {
+ referenceClippingOffsets: l,
+ popperEscapeOffsets: c,
+ isReferenceHidden: h,
+ hasPopperEscaped: d,
+ }),
+ (e.attributes.popper = Object.assign(
+ {},
+ e.attributes.popper,
+ {
+ "data-popper-reference-hidden": h,
+ "data-popper-escaped": d,
+ }
+ ));
+ },
+ },
+ li = {
+ name: "offset",
+ enabled: !0,
+ phase: "main",
+ requires: ["popperOffsets"],
+ fn: function (t) {
+ var e = t.state,
+ i = t.options,
+ n = t.name,
+ s = i.offset,
+ o = void 0 === s ? [0, 0] : s,
+ r = ee.reduce(function (t, i) {
+ return (
+ (t[i] = (function (t, e, i) {
+ var n = be(t),
+ s = [Vt, zt].indexOf(n) >= 0 ? -1 : 1,
+ o =
+ "function" == typeof i
+ ? i(
+ Object.assign({}, e, {
+ placement: t,
+ })
+ )
+ : i,
+ r = o[0],
+ a = o[1];
+ return (
+ (r = r || 0),
+ (a = (a || 0) * s),
+ [Vt, qt].indexOf(n) >= 0
+ ? { x: a, y: r }
+ : { x: r, y: a }
+ );
+ })(i, e.rects, o)),
+ t
+ );
+ }, {}),
+ a = r[e.placement],
+ l = a.x,
+ c = a.y;
+ null != e.modifiersData.popperOffsets &&
+ ((e.modifiersData.popperOffsets.x += l),
+ (e.modifiersData.popperOffsets.y += c)),
+ (e.modifiersData[n] = r);
+ },
+ },
+ ci = {
+ name: "popperOffsets",
+ enabled: !0,
+ phase: "read",
+ fn: function (t) {
+ var e = t.state,
+ i = t.name;
+ e.modifiersData[i] = ei({
+ reference: e.rects.reference,
+ element: e.rects.popper,
+ strategy: "absolute",
+ placement: e.placement,
+ });
+ },
+ data: {},
+ },
+ hi = {
+ name: "preventOverflow",
+ enabled: !0,
+ phase: "main",
+ fn: function (t) {
+ var e = t.state,
+ i = t.options,
+ n = t.name,
+ s = i.mainAxis,
+ o = void 0 === s || s,
+ r = i.altAxis,
+ a = void 0 !== r && r,
+ l = i.boundary,
+ c = i.rootBoundary,
+ h = i.altBoundary,
+ d = i.padding,
+ u = i.tether,
+ f = void 0 === u || u,
+ p = i.tetherOffset,
+ m = void 0 === p ? 0 : p,
+ g = ii(e, {
+ boundary: l,
+ rootBoundary: c,
+ padding: d,
+ altBoundary: h,
+ }),
+ _ = be(e.placement),
+ b = Fe(e.placement),
+ v = !b,
+ y = Ie(_),
+ w = "x" === y ? "y" : "x",
+ A = e.modifiersData.popperOffsets,
+ E = e.rects.reference,
+ T = e.rects.popper,
+ C =
+ "function" == typeof m
+ ? m(
+ Object.assign({}, e.rects, {
+ placement: e.placement,
+ })
+ )
+ : m,
+ O =
+ "number" == typeof C
+ ? { mainAxis: C, altAxis: C }
+ : Object.assign({ mainAxis: 0, altAxis: 0 }, C),
+ x = e.modifiersData.offset
+ ? e.modifiersData.offset[e.placement]
+ : null,
+ k = { x: 0, y: 0 };
+ if (A) {
+ if (o) {
+ var L,
+ S = "y" === y ? zt : Vt,
+ D = "y" === y ? Rt : qt,
+ $ = "y" === y ? "height" : "width",
+ I = A[y],
+ N = I + g[S],
+ P = I - g[D],
+ M = f ? -T[$] / 2 : 0,
+ j = b === Xt ? E[$] : T[$],
+ F = b === Xt ? -T[$] : -E[$],
+ H = e.elements.arrow,
+ W = f && H ? Ce(H) : { width: 0, height: 0 },
+ B = e.modifiersData["arrow#persistent"]
+ ? e.modifiersData["arrow#persistent"].padding
+ : { top: 0, right: 0, bottom: 0, left: 0 },
+ z = B[S],
+ R = B[D],
+ q = Ne(0, E[$], W[$]),
+ V = v
+ ? E[$] / 2 - M - q - z - O.mainAxis
+ : j - q - z - O.mainAxis,
+ K = v
+ ? -E[$] / 2 + M + q + R + O.mainAxis
+ : F + q + R + O.mainAxis,
+ Q = e.elements.arrow && $e(e.elements.arrow),
+ X = Q
+ ? "y" === y
+ ? Q.clientTop || 0
+ : Q.clientLeft || 0
+ : 0,
+ Y = null != (L = null == x ? void 0 : x[y]) ? L : 0,
+ U = I + K - Y,
+ G = Ne(
+ f ? ye(N, I + V - Y - X) : N,
+ I,
+ f ? ve(P, U) : P
+ );
+ (A[y] = G), (k[y] = G - I);
+ }
+ if (a) {
+ var J,
+ Z = "x" === y ? zt : Vt,
+ tt = "x" === y ? Rt : qt,
+ et = A[w],
+ it = "y" === w ? "height" : "width",
+ nt = et + g[Z],
+ st = et - g[tt],
+ ot = -1 !== [zt, Vt].indexOf(_),
+ rt =
+ null != (J = null == x ? void 0 : x[w]) ? J : 0,
+ at = ot ? nt : et - E[it] - T[it] - rt + O.altAxis,
+ lt = ot ? et + E[it] + T[it] - rt - O.altAxis : st,
+ ct =
+ f && ot
+ ? (function (t, e, i) {
+ var n = Ne(t, e, i);
+ return n > i ? i : n;
+ })(at, et, lt)
+ : Ne(f ? at : nt, et, f ? lt : st);
+ (A[w] = ct), (k[w] = ct - et);
+ }
+ e.modifiersData[n] = k;
+ }
+ },
+ requiresIfExists: ["offset"],
+ };
+ function di(t, e, i) {
+ void 0 === i && (i = !1);
+ var n,
+ s,
+ o = me(e),
+ r =
+ me(e) &&
+ (function (t) {
+ var e = t.getBoundingClientRect(),
+ i = we(e.width) / t.offsetWidth || 1,
+ n = we(e.height) / t.offsetHeight || 1;
+ return 1 !== i || 1 !== n;
+ })(e),
+ a = Le(e),
+ l = Te(t, r, i),
+ c = { scrollLeft: 0, scrollTop: 0 },
+ h = { x: 0, y: 0 };
+ return (
+ (o || (!o && !i)) &&
+ (("body" !== ue(e) || Ue(a)) &&
+ (c =
+ (n = e) !== fe(n) && me(n)
+ ? {
+ scrollLeft: (s = n).scrollLeft,
+ scrollTop: s.scrollTop,
+ }
+ : Xe(n)),
+ me(e)
+ ? (((h = Te(e, !0)).x += e.clientLeft),
+ (h.y += e.clientTop))
+ : a && (h.x = Ye(a))),
+ {
+ x: l.left + c.scrollLeft - h.x,
+ y: l.top + c.scrollTop - h.y,
+ width: l.width,
+ height: l.height,
+ }
+ );
+ }
+ function ui(t) {
+ var e = new Map(),
+ i = new Set(),
+ n = [];
+ function s(t) {
+ i.add(t.name),
+ []
+ .concat(t.requires || [], t.requiresIfExists || [])
+ .forEach(function (t) {
+ if (!i.has(t)) {
+ var n = e.get(t);
+ n && s(n);
+ }
+ }),
+ n.push(t);
+ }
+ return (
+ t.forEach(function (t) {
+ e.set(t.name, t);
+ }),
+ t.forEach(function (t) {
+ i.has(t.name) || s(t);
+ }),
+ n
+ );
+ }
+ var fi = { placement: "bottom", modifiers: [], strategy: "absolute" };
+ function pi() {
+ for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++)
+ e[i] = arguments[i];
+ return !e.some(function (t) {
+ return !(t && "function" == typeof t.getBoundingClientRect);
+ });
+ }
+ function mi(t) {
+ void 0 === t && (t = {});
+ var e = t,
+ i = e.defaultModifiers,
+ n = void 0 === i ? [] : i,
+ s = e.defaultOptions,
+ o = void 0 === s ? fi : s;
+ return function (t, e, i) {
+ void 0 === i && (i = o);
+ var s,
+ r,
+ a = {
+ placement: "bottom",
+ orderedModifiers: [],
+ options: Object.assign({}, fi, o),
+ modifiersData: {},
+ elements: { reference: t, popper: e },
+ attributes: {},
+ styles: {},
+ },
+ l = [],
+ c = !1,
+ h = {
+ state: a,
+ setOptions: function (i) {
+ var s = "function" == typeof i ? i(a.options) : i;
+ d(),
+ (a.options = Object.assign({}, o, a.options, s)),
+ (a.scrollParents = {
+ reference: pe(t)
+ ? Je(t)
+ : t.contextElement
+ ? Je(t.contextElement)
+ : [],
+ popper: Je(e),
+ });
+ var r,
+ c,
+ u = (function (t) {
+ var e = ui(t);
+ return de.reduce(function (t, i) {
+ return t.concat(
+ e.filter(function (t) {
+ return t.phase === i;
+ })
+ );
+ }, []);
+ })(
+ ((r = [].concat(n, a.options.modifiers)),
+ (c = r.reduce(function (t, e) {
+ var i = t[e.name];
+ return (
+ (t[e.name] = i
+ ? Object.assign({}, i, e, {
+ options: Object.assign(
+ {},
+ i.options,
+ e.options
+ ),
+ data: Object.assign(
+ {},
+ i.data,
+ e.data
+ ),
+ })
+ : e),
+ t
+ );
+ }, {})),
+ Object.keys(c).map(function (t) {
+ return c[t];
+ }))
+ );
+ return (
+ (a.orderedModifiers = u.filter(function (t) {
+ return t.enabled;
+ })),
+ a.orderedModifiers.forEach(function (t) {
+ var e = t.name,
+ i = t.options,
+ n = void 0 === i ? {} : i,
+ s = t.effect;
+ if ("function" == typeof s) {
+ var o = s({
+ state: a,
+ name: e,
+ instance: h,
+ options: n,
+ });
+ l.push(o || function () {});
+ }
+ }),
+ h.update()
+ );
+ },
+ forceUpdate: function () {
+ if (!c) {
+ var t = a.elements,
+ e = t.reference,
+ i = t.popper;
+ if (pi(e, i)) {
+ (a.rects = {
+ reference: di(
+ e,
+ $e(i),
+ "fixed" === a.options.strategy
+ ),
+ popper: Ce(i),
+ }),
+ (a.reset = !1),
+ (a.placement = a.options.placement),
+ a.orderedModifiers.forEach(function (t) {
+ return (a.modifiersData[t.name] =
+ Object.assign({}, t.data));
+ });
+ for (
+ var n = 0;
+ n < a.orderedModifiers.length;
+ n++
+ )
+ if (!0 !== a.reset) {
+ var s = a.orderedModifiers[n],
+ o = s.fn,
+ r = s.options,
+ l = void 0 === r ? {} : r,
+ d = s.name;
+ "function" == typeof o &&
+ (a =
+ o({
+ state: a,
+ options: l,
+ name: d,
+ instance: h,
+ }) || a);
+ } else (a.reset = !1), (n = -1);
+ }
+ }
+ },
+ update:
+ ((s = function () {
+ return new Promise(function (t) {
+ h.forceUpdate(), t(a);
+ });
+ }),
+ function () {
+ return (
+ r ||
+ (r = new Promise(function (t) {
+ Promise.resolve().then(function () {
+ (r = void 0), t(s());
+ });
+ })),
+ r
+ );
+ }),
+ destroy: function () {
+ d(), (c = !0);
+ },
+ };
+ if (!pi(t, e)) return h;
+ function d() {
+ l.forEach(function (t) {
+ return t();
+ }),
+ (l = []);
+ }
+ return (
+ h.setOptions(i).then(function (t) {
+ !c && i.onFirstUpdate && i.onFirstUpdate(t);
+ }),
+ h
+ );
+ };
+ }
+ var gi = mi(),
+ _i = mi({ defaultModifiers: [Re, ci, Be, _e] }),
+ bi = mi({ defaultModifiers: [Re, ci, Be, _e, li, si, hi, je, ai] });
+ const vi = Object.freeze(
+ Object.defineProperty(
+ {
+ __proto__: null,
+ afterMain: ae,
+ afterRead: se,
+ afterWrite: he,
+ applyStyles: _e,
+ arrow: je,
+ auto: Kt,
+ basePlacements: Qt,
+ beforeMain: oe,
+ beforeRead: ie,
+ beforeWrite: le,
+ bottom: Rt,
+ clippingParents: Ut,
+ computeStyles: Be,
+ createPopper: bi,
+ createPopperBase: gi,
+ createPopperLite: _i,
+ detectOverflow: ii,
+ end: Yt,
+ eventListeners: Re,
+ flip: si,
+ hide: ai,
+ left: Vt,
+ main: re,
+ modifierPhases: de,
+ offset: li,
+ placements: ee,
+ popper: Jt,
+ popperGenerator: mi,
+ popperOffsets: ci,
+ preventOverflow: hi,
+ read: ne,
+ reference: Zt,
+ right: qt,
+ start: Xt,
+ top: zt,
+ variationPlacements: te,
+ viewport: Gt,
+ write: ce,
+ },
+ Symbol.toStringTag,
+ { value: "Module" }
+ )
+ ),
+ yi = "dropdown",
+ wi = ".bs.dropdown",
+ Ai = ".data-api",
+ Ei = "ArrowUp",
+ Ti = "ArrowDown",
+ Ci = `hide${wi}`,
+ Oi = `hidden${wi}`,
+ xi = `show${wi}`,
+ ki = `shown${wi}`,
+ Li = `click${wi}${Ai}`,
+ Si = `keydown${wi}${Ai}`,
+ Di = `keyup${wi}${Ai}`,
+ $i = "show",
+ Ii = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',
+ Ni = `${Ii}.${$i}`,
+ Pi = ".dropdown-menu",
+ Mi = p() ? "top-end" : "top-start",
+ ji = p() ? "top-start" : "top-end",
+ Fi = p() ? "bottom-end" : "bottom-start",
+ Hi = p() ? "bottom-start" : "bottom-end",
+ Wi = p() ? "left-start" : "right-start",
+ Bi = p() ? "right-start" : "left-start",
+ zi = {
+ autoClose: !0,
+ boundary: "clippingParents",
+ display: "dynamic",
+ offset: [0, 2],
+ popperConfig: null,
+ reference: "toggle",
+ },
+ Ri = {
+ autoClose: "(boolean|string)",
+ boundary: "(string|element)",
+ display: "string",
+ offset: "(array|string|function)",
+ popperConfig: "(null|object|function)",
+ reference: "(string|element|object)",
+ };
+ class qi extends W {
+ constructor(t, e) {
+ super(t, e),
+ (this._popper = null),
+ (this._parent = this._element.parentNode),
+ (this._menu =
+ z.next(this._element, Pi)[0] ||
+ z.prev(this._element, Pi)[0] ||
+ z.findOne(Pi, this._parent)),
+ (this._inNavbar = this._detectNavbar());
+ }
+ static get Default() {
+ return zi;
+ }
+ static get DefaultType() {
+ return Ri;
+ }
+ static get NAME() {
+ return yi;
+ }
+ toggle() {
+ return this._isShown() ? this.hide() : this.show();
+ }
+ show() {
+ if (l(this._element) || this._isShown()) return;
+ const t = { relatedTarget: this._element };
+ if (!N.trigger(this._element, xi, t).defaultPrevented) {
+ if (
+ (this._createPopper(),
+ "ontouchstart" in document.documentElement &&
+ !this._parent.closest(".navbar-nav"))
+ )
+ for (const t of [].concat(...document.body.children))
+ N.on(t, "mouseover", h);
+ this._element.focus(),
+ this._element.setAttribute("aria-expanded", !0),
+ this._menu.classList.add($i),
+ this._element.classList.add($i),
+ N.trigger(this._element, ki, t);
+ }
+ }
+ hide() {
+ if (l(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 (!N.trigger(this._element, Ci, t).defaultPrevented) {
+ if ("ontouchstart" in document.documentElement)
+ for (const t of [].concat(...document.body.children))
+ N.off(t, "mouseover", h);
+ this._popper && this._popper.destroy(),
+ this._menu.classList.remove($i),
+ this._element.classList.remove($i),
+ this._element.setAttribute("aria-expanded", "false"),
+ F.removeDataAttribute(this._menu, "popper"),
+ N.trigger(this._element, Oi, t);
+ }
+ }
+ _getConfig(t) {
+ if (
+ "object" == typeof (t = super._getConfig(t)).reference &&
+ !o(t.reference) &&
+ "function" != typeof t.reference.getBoundingClientRect
+ )
+ throw new TypeError(
+ `${yi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`
+ );
+ return t;
+ }
+ _createPopper() {
+ if (void 0 === vi)
+ throw new TypeError(
+ "Bootstrap's dropdowns require Popper (https://popper.js.org)"
+ );
+ let t = this._element;
+ "parent" === this._config.reference
+ ? (t = this._parent)
+ : o(this._config.reference)
+ ? (t = r(this._config.reference))
+ : "object" == typeof this._config.reference &&
+ (t = this._config.reference);
+ const e = this._getPopperConfig();
+ this._popper = bi(t, this._menu, e);
+ }
+ _isShown() {
+ return this._menu.classList.contains($i);
+ }
+ _getPlacement() {
+ const t = this._parent;
+ if (t.classList.contains("dropend")) return Wi;
+ if (t.classList.contains("dropstart")) return Bi;
+ 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 ? ji : Mi) : e ? Hi : Fi;
+ }
+ _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) &&
+ (F.setDataAttribute(this._menu, "popper", "static"),
+ (t.modifiers = [{ name: "applyStyles", enabled: !1 }])),
+ { ...t, ...g(this._config.popperConfig, [t]) }
+ );
+ }
+ _selectMenuItem({ key: t, target: e }) {
+ const i = z
+ .find(
+ ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",
+ this._menu
+ )
+ .filter((t) => a(t));
+ i.length && b(i, e, t === Ti, !i.includes(e)).focus();
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = qi.getOrCreateInstance(this, t);
+ if ("string" == typeof t) {
+ if (void 0 === e[t])
+ throw new TypeError(`No method named "${t}"`);
+ e[t]();
+ }
+ });
+ }
+ static clearMenus(t) {
+ if (2 === t.button || ("keyup" === t.type && "Tab" !== t.key))
+ return;
+ const e = z.find(Ni);
+ for (const i of e) {
+ const e = qi.getInstance(i);
+ if (!e || !1 === e._config.autoClose) continue;
+ const n = t.composedPath(),
+ s = n.includes(e._menu);
+ if (
+ n.includes(e._element) ||
+ ("inside" === e._config.autoClose && !s) ||
+ ("outside" === e._config.autoClose && s)
+ )
+ continue;
+ if (
+ e._menu.contains(t.target) &&
+ (("keyup" === t.type && "Tab" === t.key) ||
+ /input|select|option|textarea|form/i.test(
+ t.target.tagName
+ ))
+ )
+ continue;
+ const o = { relatedTarget: e._element };
+ "click" === t.type && (o.clickEvent = t), e._completeHide(o);
+ }
+ }
+ static dataApiKeydownHandler(t) {
+ const e = /input|textarea/i.test(t.target.tagName),
+ i = "Escape" === t.key,
+ n = [Ei, Ti].includes(t.key);
+ if (!n && !i) return;
+ if (e && !i) return;
+ t.preventDefault();
+ const s = this.matches(Ii)
+ ? this
+ : z.prev(this, Ii)[0] ||
+ z.next(this, Ii)[0] ||
+ z.findOne(Ii, t.delegateTarget.parentNode),
+ o = qi.getOrCreateInstance(s);
+ if (n)
+ return t.stopPropagation(), o.show(), void o._selectMenuItem(t);
+ o._isShown() && (t.stopPropagation(), o.hide(), s.focus());
+ }
+ }
+ N.on(document, Si, Ii, qi.dataApiKeydownHandler),
+ N.on(document, Si, Pi, qi.dataApiKeydownHandler),
+ N.on(document, Li, qi.clearMenus),
+ N.on(document, Di, qi.clearMenus),
+ N.on(document, Li, Ii, function (t) {
+ t.preventDefault(), qi.getOrCreateInstance(this).toggle();
+ }),
+ m(qi);
+ const Vi = "backdrop",
+ Ki = "show",
+ Qi = `mousedown.bs.${Vi}`,
+ Xi = {
+ className: "modal-backdrop",
+ clickCallback: null,
+ isAnimated: !1,
+ isVisible: !0,
+ rootElement: "body",
+ },
+ Yi = {
+ className: "string",
+ clickCallback: "(function|null)",
+ isAnimated: "boolean",
+ isVisible: "boolean",
+ rootElement: "(element|string)",
+ };
+ class Ui extends H {
+ constructor(t) {
+ super(),
+ (this._config = this._getConfig(t)),
+ (this._isAppended = !1),
+ (this._element = null);
+ }
+ static get Default() {
+ return Xi;
+ }
+ static get DefaultType() {
+ return Yi;
+ }
+ static get NAME() {
+ return Vi;
+ }
+ show(t) {
+ if (!this._config.isVisible) return void g(t);
+ this._append();
+ const e = this._getElement();
+ this._config.isAnimated && d(e),
+ e.classList.add(Ki),
+ this._emulateAnimation(() => {
+ g(t);
+ });
+ }
+ hide(t) {
+ this._config.isVisible
+ ? (this._getElement().classList.remove(Ki),
+ this._emulateAnimation(() => {
+ this.dispose(), g(t);
+ }))
+ : g(t);
+ }
+ dispose() {
+ this._isAppended &&
+ (N.off(this._element, Qi),
+ this._element.remove(),
+ (this._isAppended = !1));
+ }
+ _getElement() {
+ if (!this._element) {
+ const t = document.createElement("div");
+ (t.className = this._config.className),
+ this._config.isAnimated && t.classList.add("fade"),
+ (this._element = t);
+ }
+ return this._element;
+ }
+ _configAfterMerge(t) {
+ return (t.rootElement = r(t.rootElement)), t;
+ }
+ _append() {
+ if (this._isAppended) return;
+ const t = this._getElement();
+ this._config.rootElement.append(t),
+ N.on(t, Qi, () => {
+ g(this._config.clickCallback);
+ }),
+ (this._isAppended = !0);
+ }
+ _emulateAnimation(t) {
+ _(t, this._getElement(), this._config.isAnimated);
+ }
+ }
+ const Gi = ".bs.focustrap",
+ Ji = `focusin${Gi}`,
+ Zi = `keydown.tab${Gi}`,
+ tn = "backward",
+ en = { autofocus: !0, trapElement: null },
+ nn = { autofocus: "boolean", trapElement: "element" };
+ class sn extends H {
+ constructor(t) {
+ super(),
+ (this._config = this._getConfig(t)),
+ (this._isActive = !1),
+ (this._lastTabNavDirection = null);
+ }
+ static get Default() {
+ return en;
+ }
+ static get DefaultType() {
+ return nn;
+ }
+ static get NAME() {
+ return "focustrap";
+ }
+ activate() {
+ this._isActive ||
+ (this._config.autofocus && this._config.trapElement.focus(),
+ N.off(document, Gi),
+ N.on(document, Ji, (t) => this._handleFocusin(t)),
+ N.on(document, Zi, (t) => this._handleKeydown(t)),
+ (this._isActive = !0));
+ }
+ deactivate() {
+ this._isActive && ((this._isActive = !1), N.off(document, Gi));
+ }
+ _handleFocusin(t) {
+ const { trapElement: e } = this._config;
+ if (t.target === document || t.target === e || e.contains(t.target))
+ return;
+ const i = z.focusableChildren(e);
+ 0 === i.length
+ ? e.focus()
+ : this._lastTabNavDirection === tn
+ ? i[i.length - 1].focus()
+ : i[0].focus();
+ }
+ _handleKeydown(t) {
+ "Tab" === t.key &&
+ (this._lastTabNavDirection = t.shiftKey ? tn : "forward");
+ }
+ }
+ const on = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
+ rn = ".sticky-top",
+ an = "padding-right",
+ ln = "margin-right";
+ class cn {
+ constructor() {
+ this._element = document.body;
+ }
+ getWidth() {
+ const t = document.documentElement.clientWidth;
+ return Math.abs(window.innerWidth - t);
+ }
+ hide() {
+ const t = this.getWidth();
+ this._disableOverFlow(),
+ this._setElementAttributes(this._element, an, (e) => e + t),
+ this._setElementAttributes(on, an, (e) => e + t),
+ this._setElementAttributes(rn, ln, (e) => e - t);
+ }
+ reset() {
+ this._resetElementAttributes(this._element, "overflow"),
+ this._resetElementAttributes(this._element, an),
+ this._resetElementAttributes(on, an),
+ this._resetElementAttributes(rn, ln);
+ }
+ isOverflowing() {
+ return this.getWidth() > 0;
+ }
+ _disableOverFlow() {
+ this._saveInitialAttribute(this._element, "overflow"),
+ (this._element.style.overflow = "hidden");
+ }
+ _setElementAttributes(t, e, i) {
+ const n = this.getWidth();
+ this._applyManipulationCallback(t, (t) => {
+ if (
+ t !== this._element &&
+ window.innerWidth > t.clientWidth + n
+ )
+ return;
+ this._saveInitialAttribute(t, e);
+ const s = window.getComputedStyle(t).getPropertyValue(e);
+ t.style.setProperty(e, `${i(Number.parseFloat(s))}px`);
+ });
+ }
+ _saveInitialAttribute(t, e) {
+ const i = t.style.getPropertyValue(e);
+ i && F.setDataAttribute(t, e, i);
+ }
+ _resetElementAttributes(t, e) {
+ this._applyManipulationCallback(t, (t) => {
+ const i = F.getDataAttribute(t, e);
+ null !== i
+ ? (F.removeDataAttribute(t, e), t.style.setProperty(e, i))
+ : t.style.removeProperty(e);
+ });
+ }
+ _applyManipulationCallback(t, e) {
+ if (o(t)) e(t);
+ else for (const i of z.find(t, this._element)) e(i);
+ }
+ }
+ const hn = ".bs.modal",
+ dn = `hide${hn}`,
+ un = `hidePrevented${hn}`,
+ fn = `hidden${hn}`,
+ pn = `show${hn}`,
+ mn = `shown${hn}`,
+ gn = `resize${hn}`,
+ _n = `click.dismiss${hn}`,
+ bn = `mousedown.dismiss${hn}`,
+ vn = `keydown.dismiss${hn}`,
+ yn = `click${hn}.data-api`,
+ wn = "modal-open",
+ An = "show",
+ En = "modal-static",
+ Tn = { backdrop: !0, focus: !0, keyboard: !0 },
+ Cn = {
+ backdrop: "(boolean|string)",
+ focus: "boolean",
+ keyboard: "boolean",
+ };
+ class On extends W {
+ constructor(t, e) {
+ super(t, e),
+ (this._dialog = z.findOne(".modal-dialog", this._element)),
+ (this._backdrop = this._initializeBackDrop()),
+ (this._focustrap = this._initializeFocusTrap()),
+ (this._isShown = !1),
+ (this._isTransitioning = !1),
+ (this._scrollBar = new cn()),
+ this._addEventListeners();
+ }
+ static get Default() {
+ return Tn;
+ }
+ static get DefaultType() {
+ return Cn;
+ }
+ static get NAME() {
+ return "modal";
+ }
+ toggle(t) {
+ return this._isShown ? this.hide() : this.show(t);
+ }
+ show(t) {
+ this._isShown ||
+ this._isTransitioning ||
+ N.trigger(this._element, pn, { relatedTarget: t })
+ .defaultPrevented ||
+ ((this._isShown = !0),
+ (this._isTransitioning = !0),
+ this._scrollBar.hide(),
+ document.body.classList.add(wn),
+ this._adjustDialog(),
+ this._backdrop.show(() => this._showElement(t)));
+ }
+ hide() {
+ this._isShown &&
+ !this._isTransitioning &&
+ (N.trigger(this._element, dn).defaultPrevented ||
+ ((this._isShown = !1),
+ (this._isTransitioning = !0),
+ this._focustrap.deactivate(),
+ this._element.classList.remove(An),
+ this._queueCallback(
+ () => this._hideModal(),
+ this._element,
+ this._isAnimated()
+ )));
+ }
+ dispose() {
+ N.off(window, hn),
+ N.off(this._dialog, hn),
+ this._backdrop.dispose(),
+ this._focustrap.deactivate(),
+ super.dispose();
+ }
+ handleUpdate() {
+ this._adjustDialog();
+ }
+ _initializeBackDrop() {
+ return new Ui({
+ isVisible: Boolean(this._config.backdrop),
+ isAnimated: this._isAnimated(),
+ });
+ }
+ _initializeFocusTrap() {
+ return new sn({ trapElement: this._element });
+ }
+ _showElement(t) {
+ document.body.contains(this._element) ||
+ document.body.append(this._element),
+ (this._element.style.display = "block"),
+ this._element.removeAttribute("aria-hidden"),
+ this._element.setAttribute("aria-modal", !0),
+ this._element.setAttribute("role", "dialog"),
+ (this._element.scrollTop = 0);
+ const e = z.findOne(".modal-body", this._dialog);
+ e && (e.scrollTop = 0),
+ d(this._element),
+ this._element.classList.add(An),
+ this._queueCallback(
+ () => {
+ this._config.focus && this._focustrap.activate(),
+ (this._isTransitioning = !1),
+ N.trigger(this._element, mn, { relatedTarget: t });
+ },
+ this._dialog,
+ this._isAnimated()
+ );
+ }
+ _addEventListeners() {
+ N.on(this._element, vn, (t) => {
+ "Escape" === t.key &&
+ (this._config.keyboard
+ ? this.hide()
+ : this._triggerBackdropTransition());
+ }),
+ N.on(window, gn, () => {
+ this._isShown &&
+ !this._isTransitioning &&
+ this._adjustDialog();
+ }),
+ N.on(this._element, bn, (t) => {
+ N.one(this._element, _n, (e) => {
+ this._element === t.target &&
+ this._element === e.target &&
+ ("static" !== this._config.backdrop
+ ? this._config.backdrop && this.hide()
+ : this._triggerBackdropTransition());
+ });
+ });
+ }
+ _hideModal() {
+ (this._element.style.display = "none"),
+ this._element.setAttribute("aria-hidden", !0),
+ this._element.removeAttribute("aria-modal"),
+ this._element.removeAttribute("role"),
+ (this._isTransitioning = !1),
+ this._backdrop.hide(() => {
+ document.body.classList.remove(wn),
+ this._resetAdjustments(),
+ this._scrollBar.reset(),
+ N.trigger(this._element, fn);
+ });
+ }
+ _isAnimated() {
+ return this._element.classList.contains("fade");
+ }
+ _triggerBackdropTransition() {
+ if (N.trigger(this._element, un).defaultPrevented) return;
+ const t =
+ this._element.scrollHeight >
+ document.documentElement.clientHeight,
+ e = this._element.style.overflowY;
+ "hidden" === e ||
+ this._element.classList.contains(En) ||
+ (t || (this._element.style.overflowY = "hidden"),
+ this._element.classList.add(En),
+ this._queueCallback(() => {
+ this._element.classList.remove(En),
+ this._queueCallback(() => {
+ this._element.style.overflowY = e;
+ }, this._dialog);
+ }, this._dialog),
+ this._element.focus());
+ }
+ _adjustDialog() {
+ const t =
+ this._element.scrollHeight >
+ document.documentElement.clientHeight,
+ e = this._scrollBar.getWidth(),
+ i = e > 0;
+ if (i && !t) {
+ const t = p() ? "paddingLeft" : "paddingRight";
+ this._element.style[t] = `${e}px`;
+ }
+ if (!i && t) {
+ const t = p() ? "paddingRight" : "paddingLeft";
+ this._element.style[t] = `${e}px`;
+ }
+ }
+ _resetAdjustments() {
+ (this._element.style.paddingLeft = ""),
+ (this._element.style.paddingRight = "");
+ }
+ static jQueryInterface(t, e) {
+ return this.each(function () {
+ const i = On.getOrCreateInstance(this, t);
+ if ("string" == typeof t) {
+ if (void 0 === i[t])
+ throw new TypeError(`No method named "${t}"`);
+ i[t](e);
+ }
+ });
+ }
+ }
+ N.on(document, yn, '[data-bs-toggle="modal"]', function (t) {
+ const e = z.getElementFromSelector(this);
+ ["A", "AREA"].includes(this.tagName) && t.preventDefault(),
+ N.one(e, pn, (t) => {
+ t.defaultPrevented ||
+ N.one(e, fn, () => {
+ a(this) && this.focus();
+ });
+ });
+ const i = z.findOne(".modal.show");
+ i && On.getInstance(i).hide(), On.getOrCreateInstance(e).toggle(this);
+ }),
+ R(On),
+ m(On);
+ const xn = ".bs.offcanvas",
+ kn = ".data-api",
+ Ln = `load${xn}${kn}`,
+ Sn = "show",
+ Dn = "showing",
+ $n = "hiding",
+ In = ".offcanvas.show",
+ Nn = `show${xn}`,
+ Pn = `shown${xn}`,
+ Mn = `hide${xn}`,
+ jn = `hidePrevented${xn}`,
+ Fn = `hidden${xn}`,
+ Hn = `resize${xn}`,
+ Wn = `click${xn}${kn}`,
+ Bn = `keydown.dismiss${xn}`,
+ zn = { backdrop: !0, keyboard: !0, scroll: !1 },
+ Rn = {
+ backdrop: "(boolean|string)",
+ keyboard: "boolean",
+ scroll: "boolean",
+ };
+ class qn extends W {
+ constructor(t, e) {
+ super(t, e),
+ (this._isShown = !1),
+ (this._backdrop = this._initializeBackDrop()),
+ (this._focustrap = this._initializeFocusTrap()),
+ this._addEventListeners();
+ }
+ static get Default() {
+ return zn;
+ }
+ static get DefaultType() {
+ return Rn;
+ }
+ static get NAME() {
+ return "offcanvas";
+ }
+ toggle(t) {
+ return this._isShown ? this.hide() : this.show(t);
+ }
+ show(t) {
+ this._isShown ||
+ N.trigger(this._element, Nn, { relatedTarget: t })
+ .defaultPrevented ||
+ ((this._isShown = !0),
+ this._backdrop.show(),
+ this._config.scroll || new cn().hide(),
+ this._element.setAttribute("aria-modal", !0),
+ this._element.setAttribute("role", "dialog"),
+ this._element.classList.add(Dn),
+ this._queueCallback(
+ () => {
+ (this._config.scroll && !this._config.backdrop) ||
+ this._focustrap.activate(),
+ this._element.classList.add(Sn),
+ this._element.classList.remove(Dn),
+ N.trigger(this._element, Pn, { relatedTarget: t });
+ },
+ this._element,
+ !0
+ ));
+ }
+ hide() {
+ this._isShown &&
+ (N.trigger(this._element, Mn).defaultPrevented ||
+ (this._focustrap.deactivate(),
+ this._element.blur(),
+ (this._isShown = !1),
+ this._element.classList.add($n),
+ this._backdrop.hide(),
+ this._queueCallback(
+ () => {
+ this._element.classList.remove(Sn, $n),
+ this._element.removeAttribute("aria-modal"),
+ this._element.removeAttribute("role"),
+ this._config.scroll || new cn().reset(),
+ N.trigger(this._element, Fn);
+ },
+ this._element,
+ !0
+ )));
+ }
+ dispose() {
+ this._backdrop.dispose(),
+ this._focustrap.deactivate(),
+ super.dispose();
+ }
+ _initializeBackDrop() {
+ const t = Boolean(this._config.backdrop);
+ return new Ui({
+ className: "offcanvas-backdrop",
+ isVisible: t,
+ isAnimated: !0,
+ rootElement: this._element.parentNode,
+ clickCallback: t
+ ? () => {
+ "static" !== this._config.backdrop
+ ? this.hide()
+ : N.trigger(this._element, jn);
+ }
+ : null,
+ });
+ }
+ _initializeFocusTrap() {
+ return new sn({ trapElement: this._element });
+ }
+ _addEventListeners() {
+ N.on(this._element, Bn, (t) => {
+ "Escape" === t.key &&
+ (this._config.keyboard
+ ? this.hide()
+ : N.trigger(this._element, jn));
+ });
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = qn.getOrCreateInstance(this, t);
+ if ("string" == typeof t) {
+ if (
+ void 0 === e[t] ||
+ t.startsWith("_") ||
+ "constructor" === t
+ )
+ throw new TypeError(`No method named "${t}"`);
+ e[t](this);
+ }
+ });
+ }
+ }
+ N.on(document, Wn, '[data-bs-toggle="offcanvas"]', function (t) {
+ const e = z.getElementFromSelector(this);
+ if (
+ (["A", "AREA"].includes(this.tagName) && t.preventDefault(),
+ l(this))
+ )
+ return;
+ N.one(e, Fn, () => {
+ a(this) && this.focus();
+ });
+ const i = z.findOne(In);
+ i && i !== e && qn.getInstance(i).hide(),
+ qn.getOrCreateInstance(e).toggle(this);
+ }),
+ N.on(window, Ln, () => {
+ for (const t of z.find(In)) qn.getOrCreateInstance(t).show();
+ }),
+ N.on(window, Hn, () => {
+ for (const t of z.find(
+ "[aria-modal][class*=show][class*=offcanvas-]"
+ ))
+ "fixed" !== getComputedStyle(t).position &&
+ qn.getOrCreateInstance(t).hide();
+ }),
+ R(qn),
+ m(qn);
+ const Vn = {
+ "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
+ a: ["target", "href", "title", "rel"],
+ area: [],
+ b: [],
+ br: [],
+ col: [],
+ code: [],
+ div: [],
+ em: [],
+ hr: [],
+ h1: [],
+ h2: [],
+ h3: [],
+ h4: [],
+ h5: [],
+ h6: [],
+ i: [],
+ img: ["src", "srcset", "alt", "title", "width", "height"],
+ li: [],
+ ol: [],
+ p: [],
+ pre: [],
+ s: [],
+ small: [],
+ span: [],
+ sub: [],
+ sup: [],
+ strong: [],
+ u: [],
+ ul: [],
+ },
+ Kn = new Set([
+ "background",
+ "cite",
+ "href",
+ "itemtype",
+ "longdesc",
+ "poster",
+ "src",
+ "xlink:href",
+ ]),
+ Qn = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,
+ Xn = (t, e) => {
+ const i = t.nodeName.toLowerCase();
+ return e.includes(i)
+ ? !Kn.has(i) || Boolean(Qn.test(t.nodeValue))
+ : e.filter((t) => t instanceof RegExp).some((t) => t.test(i));
+ },
+ Yn = {
+ allowList: Vn,
+ content: {},
+ extraClass: "",
+ html: !1,
+ sanitize: !0,
+ sanitizeFn: null,
+ template: "",
+ },
+ Un = {
+ allowList: "object",
+ content: "object",
+ extraClass: "(string|function)",
+ html: "boolean",
+ sanitize: "boolean",
+ sanitizeFn: "(null|function)",
+ template: "string",
+ },
+ Gn = {
+ entry: "(string|element|function|null)",
+ selector: "(string|element)",
+ };
+ class Jn extends H {
+ constructor(t) {
+ super(), (this._config = this._getConfig(t));
+ }
+ static get Default() {
+ return Yn;
+ }
+ static get DefaultType() {
+ return Un;
+ }
+ static get NAME() {
+ return "TemplateFactory";
+ }
+ getContent() {
+ return Object.values(this._config.content)
+ .map((t) => this._resolvePossibleFunction(t))
+ .filter(Boolean);
+ }
+ hasContent() {
+ return this.getContent().length > 0;
+ }
+ changeContent(t) {
+ return (
+ this._checkContent(t),
+ (this._config.content = { ...this._config.content, ...t }),
+ this
+ );
+ }
+ toHtml() {
+ const t = document.createElement("div");
+ t.innerHTML = this._maybeSanitize(this._config.template);
+ for (const [e, i] of Object.entries(this._config.content))
+ this._setContent(t, i, e);
+ const e = t.children[0],
+ i = this._resolvePossibleFunction(this._config.extraClass);
+ return i && e.classList.add(...i.split(" ")), e;
+ }
+ _typeCheckConfig(t) {
+ super._typeCheckConfig(t), this._checkContent(t.content);
+ }
+ _checkContent(t) {
+ for (const [e, i] of Object.entries(t))
+ super._typeCheckConfig({ selector: e, entry: i }, Gn);
+ }
+ _setContent(t, e, i) {
+ const n = z.findOne(i, t);
+ n &&
+ ((e = this._resolvePossibleFunction(e))
+ ? o(e)
+ ? this._putElementInTemplate(r(e), n)
+ : this._config.html
+ ? (n.innerHTML = this._maybeSanitize(e))
+ : (n.textContent = e)
+ : n.remove());
+ }
+ _maybeSanitize(t) {
+ return this._config.sanitize
+ ? (function (t, e, i) {
+ if (!t.length) return t;
+ if (i && "function" == typeof i) return i(t);
+ const n = new window.DOMParser().parseFromString(
+ t,
+ "text/html"
+ ),
+ s = [].concat(...n.body.querySelectorAll("*"));
+ for (const t of s) {
+ const i = t.nodeName.toLowerCase();
+ if (!Object.keys(e).includes(i)) {
+ t.remove();
+ continue;
+ }
+ const n = [].concat(...t.attributes),
+ s = [].concat(e["*"] || [], e[i] || []);
+ for (const e of n)
+ Xn(e, s) || t.removeAttribute(e.nodeName);
+ }
+ return n.body.innerHTML;
+ })(t, this._config.allowList, this._config.sanitizeFn)
+ : t;
+ }
+ _resolvePossibleFunction(t) {
+ return g(t, [this]);
+ }
+ _putElementInTemplate(t, e) {
+ if (this._config.html) return (e.innerHTML = ""), void e.append(t);
+ e.textContent = t.textContent;
+ }
+ }
+ const Zn = new Set(["sanitize", "allowList", "sanitizeFn"]),
+ ts = "fade",
+ es = "show",
+ is = ".modal",
+ ns = "hide.bs.modal",
+ ss = "hover",
+ os = "focus",
+ rs = {
+ AUTO: "auto",
+ TOP: "top",
+ RIGHT: p() ? "left" : "right",
+ BOTTOM: "bottom",
+ LEFT: p() ? "right" : "left",
+ },
+ as = {
+ allowList: Vn,
+ animation: !0,
+ boundary: "clippingParents",
+ container: !1,
+ customClass: "",
+ delay: 0,
+ fallbackPlacements: ["top", "right", "bottom", "left"],
+ html: !1,
+ offset: [0, 6],
+ placement: "top",
+ popperConfig: null,
+ sanitize: !0,
+ sanitizeFn: null,
+ selector: !1,
+ template:
+ '',
+ title: "",
+ trigger: "hover focus",
+ },
+ ls = {
+ allowList: "object",
+ animation: "boolean",
+ boundary: "(string|element)",
+ container: "(string|element|boolean)",
+ customClass: "(string|function)",
+ delay: "(number|object)",
+ fallbackPlacements: "array",
+ html: "boolean",
+ offset: "(array|string|function)",
+ placement: "(string|function)",
+ popperConfig: "(null|object|function)",
+ sanitize: "boolean",
+ sanitizeFn: "(null|function)",
+ selector: "(string|boolean)",
+ template: "string",
+ title: "(string|element|function)",
+ trigger: "string",
+ };
+ class cs extends W {
+ constructor(t, e) {
+ if (void 0 === vi)
+ throw new TypeError(
+ "Bootstrap's tooltips require Popper (https://popper.js.org)"
+ );
+ super(t, e),
+ (this._isEnabled = !0),
+ (this._timeout = 0),
+ (this._isHovered = null),
+ (this._activeTrigger = {}),
+ (this._popper = null),
+ (this._templateFactory = null),
+ (this._newContent = null),
+ (this.tip = null),
+ this._setListeners(),
+ this._config.selector || this._fixTitle();
+ }
+ static get Default() {
+ return as;
+ }
+ static get DefaultType() {
+ return ls;
+ }
+ static get NAME() {
+ return "tooltip";
+ }
+ enable() {
+ this._isEnabled = !0;
+ }
+ disable() {
+ this._isEnabled = !1;
+ }
+ toggleEnabled() {
+ this._isEnabled = !this._isEnabled;
+ }
+ toggle() {
+ this._isEnabled &&
+ ((this._activeTrigger.click = !this._activeTrigger.click),
+ this._isShown() ? this._leave() : this._enter());
+ }
+ dispose() {
+ clearTimeout(this._timeout),
+ N.off(this._element.closest(is), ns, this._hideModalHandler),
+ this._element.getAttribute("data-bs-original-title") &&
+ this._element.setAttribute(
+ "title",
+ this._element.getAttribute("data-bs-original-title")
+ ),
+ this._disposePopper(),
+ super.dispose();
+ }
+ show() {
+ if ("none" === this._element.style.display)
+ throw new Error("Please use show on visible elements");
+ if (!this._isWithContent() || !this._isEnabled) return;
+ const t = N.trigger(
+ this._element,
+ this.constructor.eventName("show")
+ ),
+ e = (
+ c(this._element) ||
+ this._element.ownerDocument.documentElement
+ ).contains(this._element);
+ if (t.defaultPrevented || !e) return;
+ this._disposePopper();
+ const i = this._getTipElement();
+ this._element.setAttribute(
+ "aria-describedby",
+ i.getAttribute("id")
+ );
+ const { container: n } = this._config;
+ if (
+ (this._element.ownerDocument.documentElement.contains(
+ this.tip
+ ) ||
+ (n.append(i),
+ N.trigger(
+ this._element,
+ this.constructor.eventName("inserted")
+ )),
+ (this._popper = this._createPopper(i)),
+ i.classList.add(es),
+ "ontouchstart" in document.documentElement)
+ )
+ for (const t of [].concat(...document.body.children))
+ N.on(t, "mouseover", h);
+ this._queueCallback(
+ () => {
+ N.trigger(
+ this._element,
+ this.constructor.eventName("shown")
+ ),
+ !1 === this._isHovered && this._leave(),
+ (this._isHovered = !1);
+ },
+ this.tip,
+ this._isAnimated()
+ );
+ }
+ hide() {
+ if (
+ this._isShown() &&
+ !N.trigger(this._element, this.constructor.eventName("hide"))
+ .defaultPrevented
+ ) {
+ if (
+ (this._getTipElement().classList.remove(es),
+ "ontouchstart" in document.documentElement)
+ )
+ for (const t of [].concat(...document.body.children))
+ N.off(t, "mouseover", h);
+ (this._activeTrigger.click = !1),
+ (this._activeTrigger[os] = !1),
+ (this._activeTrigger[ss] = !1),
+ (this._isHovered = null),
+ this._queueCallback(
+ () => {
+ this._isWithActiveTrigger() ||
+ (this._isHovered || this._disposePopper(),
+ this._element.removeAttribute(
+ "aria-describedby"
+ ),
+ N.trigger(
+ this._element,
+ this.constructor.eventName("hidden")
+ ));
+ },
+ this.tip,
+ this._isAnimated()
+ );
+ }
+ }
+ update() {
+ this._popper && this._popper.update();
+ }
+ _isWithContent() {
+ return Boolean(this._getTitle());
+ }
+ _getTipElement() {
+ return (
+ this.tip ||
+ (this.tip = this._createTipElement(
+ this._newContent || this._getContentForTemplate()
+ )),
+ this.tip
+ );
+ }
+ _createTipElement(t) {
+ const e = this._getTemplateFactory(t).toHtml();
+ if (!e) return null;
+ e.classList.remove(ts, es),
+ e.classList.add(`bs-${this.constructor.NAME}-auto`);
+ const i = ((t) => {
+ do {
+ t += Math.floor(1e6 * Math.random());
+ } while (document.getElementById(t));
+ return t;
+ })(this.constructor.NAME).toString();
+ return (
+ e.setAttribute("id", i),
+ this._isAnimated() && e.classList.add(ts),
+ e
+ );
+ }
+ setContent(t) {
+ (this._newContent = t),
+ this._isShown() && (this._disposePopper(), this.show());
+ }
+ _getTemplateFactory(t) {
+ return (
+ this._templateFactory
+ ? this._templateFactory.changeContent(t)
+ : (this._templateFactory = new Jn({
+ ...this._config,
+ content: t,
+ extraClass: this._resolvePossibleFunction(
+ this._config.customClass
+ ),
+ })),
+ this._templateFactory
+ );
+ }
+ _getContentForTemplate() {
+ return { ".tooltip-inner": this._getTitle() };
+ }
+ _getTitle() {
+ return (
+ this._resolvePossibleFunction(this._config.title) ||
+ this._element.getAttribute("data-bs-original-title")
+ );
+ }
+ _initializeOnDelegatedTarget(t) {
+ return this.constructor.getOrCreateInstance(
+ t.delegateTarget,
+ this._getDelegateConfig()
+ );
+ }
+ _isAnimated() {
+ return (
+ this._config.animation ||
+ (this.tip && this.tip.classList.contains(ts))
+ );
+ }
+ _isShown() {
+ return this.tip && this.tip.classList.contains(es);
+ }
+ _createPopper(t) {
+ const e = g(this._config.placement, [this, t, this._element]),
+ i = rs[e.toUpperCase()];
+ return bi(this._element, t, this._getPopperConfig(i));
+ }
+ _getOffset() {
+ const { offset: t } = this._config;
+ return "string" == typeof t
+ ? t.split(",").map((t) => Number.parseInt(t, 10))
+ : "function" == typeof t
+ ? (e) => t(e, this._element)
+ : t;
+ }
+ _resolvePossibleFunction(t) {
+ return g(t, [this._element]);
+ }
+ _getPopperConfig(t) {
+ const e = {
+ placement: t,
+ modifiers: [
+ {
+ name: "flip",
+ options: {
+ fallbackPlacements: this._config.fallbackPlacements,
+ },
+ },
+ { name: "offset", options: { offset: this._getOffset() } },
+ {
+ name: "preventOverflow",
+ options: { boundary: this._config.boundary },
+ },
+ {
+ name: "arrow",
+ options: { element: `.${this.constructor.NAME}-arrow` },
+ },
+ {
+ name: "preSetPlacement",
+ enabled: !0,
+ phase: "beforeMain",
+ fn: (t) => {
+ this._getTipElement().setAttribute(
+ "data-popper-placement",
+ t.state.placement
+ );
+ },
+ },
+ ],
+ };
+ return { ...e, ...g(this._config.popperConfig, [e]) };
+ }
+ _setListeners() {
+ const t = this._config.trigger.split(" ");
+ for (const e of t)
+ if ("click" === e)
+ N.on(
+ this._element,
+ this.constructor.eventName("click"),
+ this._config.selector,
+ (t) => {
+ this._initializeOnDelegatedTarget(t).toggle();
+ }
+ );
+ else if ("manual" !== e) {
+ const t =
+ e === ss
+ ? this.constructor.eventName("mouseenter")
+ : this.constructor.eventName("focusin"),
+ i =
+ e === ss
+ ? this.constructor.eventName("mouseleave")
+ : this.constructor.eventName("focusout");
+ N.on(this._element, t, this._config.selector, (t) => {
+ const e = this._initializeOnDelegatedTarget(t);
+ (e._activeTrigger["focusin" === t.type ? os : ss] = !0),
+ e._enter();
+ }),
+ N.on(this._element, i, this._config.selector, (t) => {
+ const e = this._initializeOnDelegatedTarget(t);
+ (e._activeTrigger["focusout" === t.type ? os : ss] =
+ e._element.contains(t.relatedTarget)),
+ e._leave();
+ });
+ }
+ (this._hideModalHandler = () => {
+ this._element && this.hide();
+ }),
+ N.on(this._element.closest(is), ns, this._hideModalHandler);
+ }
+ _fixTitle() {
+ const t = this._element.getAttribute("title");
+ t &&
+ (this._element.getAttribute("aria-label") ||
+ this._element.textContent.trim() ||
+ this._element.setAttribute("aria-label", t),
+ this._element.setAttribute("data-bs-original-title", t),
+ this._element.removeAttribute("title"));
+ }
+ _enter() {
+ this._isShown() || this._isHovered
+ ? (this._isHovered = !0)
+ : ((this._isHovered = !0),
+ this._setTimeout(() => {
+ this._isHovered && this.show();
+ }, this._config.delay.show));
+ }
+ _leave() {
+ this._isWithActiveTrigger() ||
+ ((this._isHovered = !1),
+ this._setTimeout(() => {
+ this._isHovered || this.hide();
+ }, this._config.delay.hide));
+ }
+ _setTimeout(t, e) {
+ clearTimeout(this._timeout), (this._timeout = setTimeout(t, e));
+ }
+ _isWithActiveTrigger() {
+ return Object.values(this._activeTrigger).includes(!0);
+ }
+ _getConfig(t) {
+ const e = F.getDataAttributes(this._element);
+ for (const t of Object.keys(e)) Zn.has(t) && delete e[t];
+ return (
+ (t = { ...e, ...("object" == typeof t && t ? t : {}) }),
+ (t = this._mergeConfigObj(t)),
+ (t = this._configAfterMerge(t)),
+ this._typeCheckConfig(t),
+ t
+ );
+ }
+ _configAfterMerge(t) {
+ return (
+ (t.container =
+ !1 === t.container ? document.body : r(t.container)),
+ "number" == typeof t.delay &&
+ (t.delay = { show: t.delay, hide: t.delay }),
+ "number" == typeof t.title && (t.title = t.title.toString()),
+ "number" == typeof t.content &&
+ (t.content = t.content.toString()),
+ t
+ );
+ }
+ _getDelegateConfig() {
+ const t = {};
+ for (const [e, i] of Object.entries(this._config))
+ this.constructor.Default[e] !== i && (t[e] = i);
+ return (t.selector = !1), (t.trigger = "manual"), t;
+ }
+ _disposePopper() {
+ this._popper && (this._popper.destroy(), (this._popper = null)),
+ this.tip && (this.tip.remove(), (this.tip = null));
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = cs.getOrCreateInstance(this, t);
+ if ("string" == typeof t) {
+ if (void 0 === e[t])
+ throw new TypeError(`No method named "${t}"`);
+ e[t]();
+ }
+ });
+ }
+ }
+ m(cs);
+ const hs = {
+ ...cs.Default,
+ content: "",
+ offset: [0, 8],
+ placement: "right",
+ template:
+ '',
+ trigger: "click",
+ },
+ ds = { ...cs.DefaultType, content: "(null|string|element|function)" };
+ class us extends cs {
+ static get Default() {
+ return hs;
+ }
+ static get DefaultType() {
+ return ds;
+ }
+ static get NAME() {
+ return "popover";
+ }
+ _isWithContent() {
+ return this._getTitle() || this._getContent();
+ }
+ _getContentForTemplate() {
+ return {
+ ".popover-header": this._getTitle(),
+ ".popover-body": this._getContent(),
+ };
+ }
+ _getContent() {
+ return this._resolvePossibleFunction(this._config.content);
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = us.getOrCreateInstance(this, t);
+ if ("string" == typeof t) {
+ if (void 0 === e[t])
+ throw new TypeError(`No method named "${t}"`);
+ e[t]();
+ }
+ });
+ }
+ }
+ m(us);
+ const fs = ".bs.scrollspy",
+ ps = `activate${fs}`,
+ ms = `click${fs}`,
+ gs = `load${fs}.data-api`,
+ _s = "active",
+ bs = "[href]",
+ vs = ".nav-link",
+ ys = `${vs}, .nav-item > ${vs}, .list-group-item`,
+ ws = {
+ offset: null,
+ rootMargin: "0px 0px -25%",
+ smoothScroll: !1,
+ target: null,
+ threshold: [0.1, 0.5, 1],
+ },
+ As = {
+ offset: "(number|null)",
+ rootMargin: "string",
+ smoothScroll: "boolean",
+ target: "element",
+ threshold: "array",
+ };
+ class Es extends W {
+ constructor(t, e) {
+ super(t, e),
+ (this._targetLinks = new Map()),
+ (this._observableSections = new Map()),
+ (this._rootElement =
+ "visible" === getComputedStyle(this._element).overflowY
+ ? null
+ : this._element),
+ (this._activeTarget = null),
+ (this._observer = null),
+ (this._previousScrollData = {
+ visibleEntryTop: 0,
+ parentScrollTop: 0,
+ }),
+ this.refresh();
+ }
+ static get Default() {
+ return ws;
+ }
+ static get DefaultType() {
+ return As;
+ }
+ static get NAME() {
+ return "scrollspy";
+ }
+ refresh() {
+ this._initializeTargetsAndObservables(),
+ this._maybeEnableSmoothScroll(),
+ this._observer
+ ? this._observer.disconnect()
+ : (this._observer = this._getNewObserver());
+ for (const t of this._observableSections.values())
+ this._observer.observe(t);
+ }
+ dispose() {
+ this._observer.disconnect(), super.dispose();
+ }
+ _configAfterMerge(t) {
+ return (
+ (t.target = r(t.target) || document.body),
+ (t.rootMargin = t.offset
+ ? `${t.offset}px 0px -30%`
+ : t.rootMargin),
+ "string" == typeof t.threshold &&
+ (t.threshold = t.threshold
+ .split(",")
+ .map((t) => Number.parseFloat(t))),
+ t
+ );
+ }
+ _maybeEnableSmoothScroll() {
+ this._config.smoothScroll &&
+ (N.off(this._config.target, ms),
+ N.on(this._config.target, ms, bs, (t) => {
+ const e = this._observableSections.get(t.target.hash);
+ if (e) {
+ t.preventDefault();
+ const i = this._rootElement || window,
+ n = e.offsetTop - this._element.offsetTop;
+ if (i.scrollTo)
+ return void i.scrollTo({
+ top: n,
+ behavior: "smooth",
+ });
+ i.scrollTop = n;
+ }
+ }));
+ }
+ _getNewObserver() {
+ const t = {
+ root: this._rootElement,
+ threshold: this._config.threshold,
+ rootMargin: this._config.rootMargin,
+ };
+ return new IntersectionObserver(
+ (t) => this._observerCallback(t),
+ t
+ );
+ }
+ _observerCallback(t) {
+ const e = (t) => this._targetLinks.get(`#${t.target.id}`),
+ i = (t) => {
+ (this._previousScrollData.visibleEntryTop =
+ t.target.offsetTop),
+ this._process(e(t));
+ },
+ n = (this._rootElement || document.documentElement).scrollTop,
+ s = n >= this._previousScrollData.parentScrollTop;
+ this._previousScrollData.parentScrollTop = n;
+ for (const o of t) {
+ if (!o.isIntersecting) {
+ (this._activeTarget = null), this._clearActiveClass(e(o));
+ continue;
+ }
+ const t =
+ o.target.offsetTop >=
+ this._previousScrollData.visibleEntryTop;
+ if (s && t) {
+ if ((i(o), !n)) return;
+ } else s || t || i(o);
+ }
+ }
+ _initializeTargetsAndObservables() {
+ (this._targetLinks = new Map()),
+ (this._observableSections = new Map());
+ const t = z.find(bs, this._config.target);
+ for (const e of t) {
+ if (!e.hash || l(e)) continue;
+ const t = z.findOne(decodeURI(e.hash), this._element);
+ a(t) &&
+ (this._targetLinks.set(decodeURI(e.hash), e),
+ this._observableSections.set(e.hash, t));
+ }
+ }
+ _process(t) {
+ this._activeTarget !== t &&
+ (this._clearActiveClass(this._config.target),
+ (this._activeTarget = t),
+ t.classList.add(_s),
+ this._activateParents(t),
+ N.trigger(this._element, ps, { relatedTarget: t }));
+ }
+ _activateParents(t) {
+ if (t.classList.contains("dropdown-item"))
+ z.findOne(
+ ".dropdown-toggle",
+ t.closest(".dropdown")
+ ).classList.add(_s);
+ else
+ for (const e of z.parents(t, ".nav, .list-group"))
+ for (const t of z.prev(e, ys)) t.classList.add(_s);
+ }
+ _clearActiveClass(t) {
+ t.classList.remove(_s);
+ const e = z.find(`${bs}.${_s}`, t);
+ for (const t of e) t.classList.remove(_s);
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = Es.getOrCreateInstance(this, t);
+ if ("string" == typeof t) {
+ if (
+ void 0 === e[t] ||
+ t.startsWith("_") ||
+ "constructor" === t
+ )
+ throw new TypeError(`No method named "${t}"`);
+ e[t]();
+ }
+ });
+ }
+ }
+ N.on(window, gs, () => {
+ for (const t of z.find('[data-bs-spy="scroll"]'))
+ Es.getOrCreateInstance(t);
+ }),
+ m(Es);
+ const Ts = ".bs.tab",
+ Cs = `hide${Ts}`,
+ Os = `hidden${Ts}`,
+ xs = `show${Ts}`,
+ ks = `shown${Ts}`,
+ Ls = `click${Ts}`,
+ Ss = `keydown${Ts}`,
+ Ds = `load${Ts}`,
+ $s = "ArrowLeft",
+ Is = "ArrowRight",
+ Ns = "ArrowUp",
+ Ps = "ArrowDown",
+ Ms = "Home",
+ js = "End",
+ Fs = "active",
+ Hs = "fade",
+ Ws = "show",
+ Bs = ".dropdown-toggle",
+ zs = `:not(${Bs})`,
+ Rs =
+ '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
+ qs = `.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,
+ Vs = `.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;
+ class Ks extends W {
+ constructor(t) {
+ super(t),
+ (this._parent = this._element.closest(
+ '.list-group, .nav, [role="tablist"]'
+ )),
+ this._parent &&
+ (this._setInitialAttributes(
+ this._parent,
+ this._getChildren()
+ ),
+ N.on(this._element, Ss, (t) => this._keydown(t)));
+ }
+ static get NAME() {
+ return "tab";
+ }
+ show() {
+ const t = this._element;
+ if (this._elemIsActive(t)) return;
+ const e = this._getActiveElem(),
+ i = e ? N.trigger(e, Cs, { relatedTarget: t }) : null;
+ N.trigger(t, xs, { relatedTarget: e }).defaultPrevented ||
+ (i && i.defaultPrevented) ||
+ (this._deactivate(e, t), this._activate(t, e));
+ }
+ _activate(t, e) {
+ t &&
+ (t.classList.add(Fs),
+ this._activate(z.getElementFromSelector(t)),
+ this._queueCallback(
+ () => {
+ "tab" === t.getAttribute("role")
+ ? (t.removeAttribute("tabindex"),
+ t.setAttribute("aria-selected", !0),
+ this._toggleDropDown(t, !0),
+ N.trigger(t, ks, { relatedTarget: e }))
+ : t.classList.add(Ws);
+ },
+ t,
+ t.classList.contains(Hs)
+ ));
+ }
+ _deactivate(t, e) {
+ t &&
+ (t.classList.remove(Fs),
+ t.blur(),
+ this._deactivate(z.getElementFromSelector(t)),
+ this._queueCallback(
+ () => {
+ "tab" === t.getAttribute("role")
+ ? (t.setAttribute("aria-selected", !1),
+ t.setAttribute("tabindex", "-1"),
+ this._toggleDropDown(t, !1),
+ N.trigger(t, Os, { relatedTarget: e }))
+ : t.classList.remove(Ws);
+ },
+ t,
+ t.classList.contains(Hs)
+ ));
+ }
+ _keydown(t) {
+ if (![$s, Is, Ns, Ps, Ms, js].includes(t.key)) return;
+ t.stopPropagation(), t.preventDefault();
+ const e = this._getChildren().filter((t) => !l(t));
+ let i;
+ if ([Ms, js].includes(t.key))
+ i = e[t.key === Ms ? 0 : e.length - 1];
+ else {
+ const n = [Is, Ps].includes(t.key);
+ i = b(e, t.target, n, !0);
+ }
+ i &&
+ (i.focus({ preventScroll: !0 }),
+ Ks.getOrCreateInstance(i).show());
+ }
+ _getChildren() {
+ return z.find(qs, this._parent);
+ }
+ _getActiveElem() {
+ return (
+ this._getChildren().find((t) => this._elemIsActive(t)) || null
+ );
+ }
+ _setInitialAttributes(t, e) {
+ this._setAttributeIfNotExists(t, "role", "tablist");
+ for (const t of e) this._setInitialAttributesOnChild(t);
+ }
+ _setInitialAttributesOnChild(t) {
+ t = this._getInnerElement(t);
+ const e = this._elemIsActive(t),
+ i = this._getOuterElement(t);
+ t.setAttribute("aria-selected", e),
+ i !== t &&
+ this._setAttributeIfNotExists(i, "role", "presentation"),
+ e || t.setAttribute("tabindex", "-1"),
+ this._setAttributeIfNotExists(t, "role", "tab"),
+ this._setInitialAttributesOnTargetPanel(t);
+ }
+ _setInitialAttributesOnTargetPanel(t) {
+ const e = z.getElementFromSelector(t);
+ e &&
+ (this._setAttributeIfNotExists(e, "role", "tabpanel"),
+ t.id &&
+ this._setAttributeIfNotExists(
+ e,
+ "aria-labelledby",
+ `${t.id}`
+ ));
+ }
+ _toggleDropDown(t, e) {
+ const i = this._getOuterElement(t);
+ if (!i.classList.contains("dropdown")) return;
+ const n = (t, n) => {
+ const s = z.findOne(t, i);
+ s && s.classList.toggle(n, e);
+ };
+ n(Bs, Fs),
+ n(".dropdown-menu", Ws),
+ i.setAttribute("aria-expanded", e);
+ }
+ _setAttributeIfNotExists(t, e, i) {
+ t.hasAttribute(e) || t.setAttribute(e, i);
+ }
+ _elemIsActive(t) {
+ return t.classList.contains(Fs);
+ }
+ _getInnerElement(t) {
+ return t.matches(qs) ? t : z.findOne(qs, t);
+ }
+ _getOuterElement(t) {
+ return t.closest(".nav-item, .list-group-item") || t;
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = Ks.getOrCreateInstance(this);
+ if ("string" == typeof t) {
+ if (
+ void 0 === e[t] ||
+ t.startsWith("_") ||
+ "constructor" === t
+ )
+ throw new TypeError(`No method named "${t}"`);
+ e[t]();
+ }
+ });
+ }
+ }
+ N.on(document, Ls, Rs, function (t) {
+ ["A", "AREA"].includes(this.tagName) && t.preventDefault(),
+ l(this) || Ks.getOrCreateInstance(this).show();
+ }),
+ N.on(window, Ds, () => {
+ for (const t of z.find(Vs)) Ks.getOrCreateInstance(t);
+ }),
+ m(Ks);
+ const Qs = ".bs.toast",
+ Xs = `mouseover${Qs}`,
+ Ys = `mouseout${Qs}`,
+ Us = `focusin${Qs}`,
+ Gs = `focusout${Qs}`,
+ Js = `hide${Qs}`,
+ Zs = `hidden${Qs}`,
+ to = `show${Qs}`,
+ eo = `shown${Qs}`,
+ io = "hide",
+ no = "show",
+ so = "showing",
+ oo = { animation: "boolean", autohide: "boolean", delay: "number" },
+ ro = { animation: !0, autohide: !0, delay: 5e3 };
+ class ao extends W {
+ constructor(t, e) {
+ super(t, e),
+ (this._timeout = null),
+ (this._hasMouseInteraction = !1),
+ (this._hasKeyboardInteraction = !1),
+ this._setListeners();
+ }
+ static get Default() {
+ return ro;
+ }
+ static get DefaultType() {
+ return oo;
+ }
+ static get NAME() {
+ return "toast";
+ }
+ show() {
+ N.trigger(this._element, to).defaultPrevented ||
+ (this._clearTimeout(),
+ this._config.animation && this._element.classList.add("fade"),
+ this._element.classList.remove(io),
+ d(this._element),
+ this._element.classList.add(no, so),
+ this._queueCallback(
+ () => {
+ this._element.classList.remove(so),
+ N.trigger(this._element, eo),
+ this._maybeScheduleHide();
+ },
+ this._element,
+ this._config.animation
+ ));
+ }
+ hide() {
+ this.isShown() &&
+ (N.trigger(this._element, Js).defaultPrevented ||
+ (this._element.classList.add(so),
+ this._queueCallback(
+ () => {
+ this._element.classList.add(io),
+ this._element.classList.remove(so, no),
+ N.trigger(this._element, Zs);
+ },
+ this._element,
+ this._config.animation
+ )));
+ }
+ dispose() {
+ this._clearTimeout(),
+ this.isShown() && this._element.classList.remove(no),
+ super.dispose();
+ }
+ isShown() {
+ return this._element.classList.contains(no);
+ }
+ _maybeScheduleHide() {
+ this._config.autohide &&
+ (this._hasMouseInteraction ||
+ this._hasKeyboardInteraction ||
+ (this._timeout = setTimeout(() => {
+ this.hide();
+ }, this._config.delay)));
+ }
+ _onInteraction(t, e) {
+ switch (t.type) {
+ case "mouseover":
+ case "mouseout":
+ this._hasMouseInteraction = e;
+ break;
+ case "focusin":
+ case "focusout":
+ this._hasKeyboardInteraction = e;
+ }
+ if (e) return void this._clearTimeout();
+ const i = t.relatedTarget;
+ this._element === i ||
+ this._element.contains(i) ||
+ this._maybeScheduleHide();
+ }
+ _setListeners() {
+ N.on(this._element, Xs, (t) => this._onInteraction(t, !0)),
+ N.on(this._element, Ys, (t) => this._onInteraction(t, !1)),
+ N.on(this._element, Us, (t) => this._onInteraction(t, !0)),
+ N.on(this._element, Gs, (t) => this._onInteraction(t, !1));
+ }
+ _clearTimeout() {
+ clearTimeout(this._timeout), (this._timeout = null);
+ }
+ static jQueryInterface(t) {
+ return this.each(function () {
+ const e = ao.getOrCreateInstance(this, t);
+ if ("string" == typeof t) {
+ if (void 0 === e[t])
+ throw new TypeError(`No method named "${t}"`);
+ e[t](this);
+ }
+ });
+ }
+ }
+ return (
+ R(ao),
+ m(ao),
+ {
+ Alert: Q,
+ Button: Y,
+ Carousel: xt,
+ Collapse: Bt,
+ Dropdown: qi,
+ Modal: On,
+ Offcanvas: qn,
+ Popover: us,
+ ScrollSpy: Es,
+ Tab: Ks,
+ Toast: ao,
+ Tooltip: cs,
+ }
+ );
+});
+//# sourceMappingURL=bootstrap.bundle.min.js.map
diff --git a/data_embed/index.html b/data_embed/index.html
new file mode 100644
index 0000000..dcf0771
--- /dev/null
+++ b/data_embed/index.html
@@ -0,0 +1,1082 @@
+
+
+
+
+
+ LoRa iGate
+
+
+
+
+
+
+
+
+
+
+
+ Please wait... Settings will be saved and LoRa will
+ reboot
+
+
+
+
+
+
+
+
+
+
diff --git a/data_embed/script.js b/data_embed/script.js
new file mode 100644
index 0000000..eed32c2
--- /dev/null
+++ b/data_embed/script.js
@@ -0,0 +1,388 @@
+// Custom scripts
+
+let currentSettings = null;
+
+function backupSettings() {
+ const data =
+ "data:text/json;charset=utf-8," +
+ encodeURIComponent(JSON.stringify(currentSettings));
+ const a = document.createElement("a");
+ a.setAttribute("href", data);
+ a.setAttribute("download", "iGateConfigurationBackup.json");
+ a.click();
+}
+
+document.getElementById("backup").onclick = backupSettings;
+
+document.getElementById("restore").onclick = function (e) {
+ e.preventDefault();
+
+ document.querySelector("input[type=file]").click();
+};
+
+document.querySelector("input[type=file]").onchange = function () {
+ const files = document.querySelector("input[type=file]").files;
+
+ if (!files.length) return;
+
+ const file = files.item(0);
+
+ const reader = new FileReader();
+ reader.readAsText(file);
+ reader.onload = () => {
+ const data = JSON.parse(reader.result);
+
+ loadSettings(data);
+ };
+};
+
+function fetchSettings() {
+ fetch("/configuration.json")
+ .then((response) => response.json())
+ .then((settings) => {
+ loadSettings(settings);
+ })
+ .catch((err) => {
+ console.error(err);
+
+ alert(`Failed to load configuration`);
+ });
+}
+
+const alwaysOnCheckbox = document.querySelector(
+ 'input[name="display.alwaysOn"]'
+);
+const timeoutInput = document.querySelector('input[name="display.timeout"]');
+
+alwaysOnCheckbox.addEventListener("change", function () {
+ timeoutInput.disabled = this.checked;
+});
+
+// timeoutInput.addEventListener("change", function () {
+// alwaysOnCheckbox.disabled = this.value !== "";
+// });
+
+const logCheckbox = document.querySelector('input[name="syslog.active"]');
+const serverField = document.querySelector('input[name="syslog.server"]');
+const portField = document.querySelector('input[name="syslog.port"]');
+
+logCheckbox.addEventListener("change", function () {
+ serverField.disabled = !this.checked;
+ portField.disabled = !this.checked;
+});
+
+function loadSettings(settings) {
+ currentSettings = settings;
+ // General
+ document.getElementById("callsign").value = settings.callsign;
+ document.getElementById("stationMode").value = settings.stationMode;
+ document.getElementById("bme.active").checked = settings.bme.active;
+ document.getElementById("iGateComment").value = settings.iGateComment;
+
+ document.querySelector(".list-networks").innerHTML = "";
+
+ // Networks
+ const wifiNetworks = settings.wifi.AP;
+ const networksContainer = document.querySelector(".list-networks");
+
+ let networkCount = 0;
+
+ wifiNetworks.forEach((network) => {
+ const networkElement = document.createElement("div");
+ networkElement.classList.add("row", "network", "border-bottom", "py-2");
+
+ // Increment the name, id, and for attributes
+ const attributeName = `wifi.AP.${networkCount}`;
+ networkElement.innerHTML = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `;
+ networksContainer.appendChild(networkElement);
+ networkCount++;
+ });
+
+ // APRS-IS
+ document.getElementById("aprs_is.server").value = settings.aprs_is.server;
+ document.getElementById("aprs_is.port").value = settings.aprs_is.port;
+ document.getElementById("aprs_is.reportingDistance").value =
+ settings.aprs_is.reportingDistance;
+ document.getElementById("aprs_is.passcode").value =
+ settings.aprs_is.passcode;
+
+ // Display
+ document.getElementById("display.alwaysOn").checked =
+ settings.display.alwaysOn;
+ document.getElementById("display.turn180").checked =
+ settings.display.turn180;
+ document.getElementById("display.timeout").value = settings.display.timeout;
+
+ if (settings.display.alwaysOn) {
+ timeoutInput.disabled = true;
+ }
+
+ // WiFi Auto AP
+ document.getElementById("wifi.autoAP.password").value =
+ settings.wifi.autoAP.password;
+ document.getElementById("wifi.autoAP.powerOff").value =
+ settings.wifi.autoAP.powerOff;
+
+ // Digi
+ document.getElementById("digi.comment").value = settings.digi.comment;
+ document.getElementById("digi.latitude").value = settings.digi.latitude;
+ document.getElementById("digi.longitude").value = settings.digi.longitude;
+
+ // OTA
+ document.getElementById("ota.username").value = settings.ota.username;
+ document.getElementById("ota.password").value = settings.ota.password;
+
+ // Beacon
+ document.getElementById("other.beaconInterval").value =
+ settings.other.beaconInterval;
+ document.getElementById("other.rememberStationTime").value =
+ settings.other.rememberStationTime;
+ document.getElementById("other.sendBatteryVoltage").checked =
+ settings.other.sendBatteryVoltage;
+ document.getElementById("other.externalVoltageMeasurement").checked =
+ settings.other.externalVoltageMeasurement;
+ document.getElementById("other.externalVoltagePin").value =
+ settings.other.externalVoltagePin;
+ document.getElementById("other.igateSendsLoRaBeacon").value =
+ settings.other.igateSendsLoRaBeacon;
+ document.getElementById("other.igateRepeatLoRaPackets").value =
+ settings.other.igateRepeatLoRaPackets;
+
+ // Syslog
+ document.getElementById("syslog.active").checked = settings.syslog.active;
+ document.getElementById("syslog.server").value = settings.syslog.server;
+ document.getElementById("syslog.port").value = settings.syslog.port;
+
+ if (settings.syslog.active) {
+ serverField.disabled = false;
+ portField.disabled = false;
+ }
+
+ // LoRa
+ document.getElementById("lora.digirepeaterTxFreq").value =
+ settings.lora.digirepeaterTxFreq;
+ document.getElementById("lora.iGateFreq").value = settings.lora.iGateFreq;
+ document.getElementById("lora.digirepeaterRxFreq").value =
+ settings.lora.digirepeaterRxFreq;
+ document.getElementById("lora.spreadingFactor").value =
+ settings.lora.spreadingFactor;
+ document.getElementById("lora.signalBandwidth").value =
+ settings.lora.signalBandwidth;
+ document.getElementById("lora.codingRate4").value =
+ settings.lora.codingRate4;
+ document.getElementById("lora.power").value = settings.lora.power;
+
+ updateImage();
+}
+
+const bmeCheckbox = document.querySelector("input[name='bme.active']");
+
+const stationModeSelect = document.querySelector("select[name='stationMode']");
+
+const digirepeaterTxFreqInput = document.querySelector(
+ "input[name='lora.digirepeaterRxFreq']"
+);
+
+function updateImage() {
+ const image = document.querySelector("img");
+
+ const isChecked = bmeCheckbox.checked;
+
+ if (isChecked) {
+ image.src =
+ "data:image/png;base64,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";
+ } else {
+ const selectedValue = stationModeSelect.value;
+
+ if (selectedValue === "1") {
+ if (bmeCheckbox.checked) {
+ image.src =
+ "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAlUSURBVHgB7Z1LiBxFGMe/nt1s1nd8Pw4uERVfCJqDB8XsSUHER1DiTYweRBCTgBdBETyIh6AQDx6SoAc1EjRCCOJBkg1CDoaYBSGHRDQhia+8dJdN9jVtfTXduz09X01XdVd3V/V+P/g2mZqame7+d1V99VV1FQDDMAzjKAE0lnCt+HNz9OI+YbcTmfYL+yv6/wFxOX6EhtEAgaWQLwgbEbZS2FVQ7LzmhE0KG4fODbC7icI7DAoa7hR2TlhYkc0KOyJsi7ARYGwjRT0YXejQAZuKbrJHgMkLlhR5EaccEVVlp4S9D4wuWCpkddh2XFiqGt8JXIWrWBDWF0FVhjfmXhZ6AVkVN0FYSugtsLSRVZpvVbGpoQ+xHpYW0it23XmybdgLGIHmI9snX0SxbbNVl+YKI1ny7j0kbAUwY+LSj0IFtKASZDjxNzAWNyzBnGA1dCJxI1AyFQgsPcntYFxbOCNGWeDNfjS6+Uuj5CoaHQt4AHJRlsDOja/giW4Ux/URlECJZ4t9W3KITvfzUA7ODqBtFcf2ClimpCq6qLhLkpehhMBICbdzXnFDzbQ26BEAfXq6abVhtSRbPrO84rYVaVT6LOiBldMAkT5IpKluhtqwJrLFKhoDGFwtW2JdAe+6lTRLAsu2YzUwtsDq5EuwMKHAQr0k77TtUAiuohVcEHa3OLZjBp/pKrQFz0pGYkRnnbxqBrDAfRDXN7jDIL9VgU/B4tRU3c8QaXNE+sXI0vwNelwWWRoqWoqiO+1dmzhdLeULM3As11RcJifriPa4pWM5BZY/9jQwVYFVyS7IQd4SvAsa/VSEk6yIak0jcggsp4jymG49PG06xGg6hGfBa6acrBlh86m0icjSHAU9rokszS1E2nKg73UnK6nYq1YVzq50U6E+g8JdIop56BUYu4D/LbwaHb0C9uzB89ILlgXBbqAP9UYizauxZ3EBpkXsYfkO+u3n83rRsvQ+CkwNpGelLPtEkbGVmdAHLL3sWLmB8IHm39DJqCkwl173CN7RyaVbgksuvdTkOAxTziVs3vA7Z1Kfj83ZiXimiFJ8IXMwQtdhehisoRrETwuIYcrJxOtlYMZZ6DwLnmZe8fvpe92H1mhom/hzZ3faP6ZetOz3luA5M8WQBeU2gOMrAW6NR5taq1ZNGHvRLwLjKqKauemtfhkyBJbOFQ8oOM3Amn7vZpXgt4FxHeFsTSh9pCyBn4BKoDxbdIZmEzYHZlxMfT62xnjRCYY3qN7p4zxx9VwPJjfcQt6HIBr/PXPmzFAyR78S/CownhDcpHqnn8CPA+MRk69Tqf0EvgsYjxh8ikzt84lLoHYW26MwzOMMNcGB0mXwfjKVzuzeoiGBceSw6eL29AAwLtuanp7u0lRVRa8GxiG0Vi8QReDwI+12u5U0lcBG834YV7i252F7lcArgfGQ4Z7hQ5XAy4HxkODqdIrKi3bAg2bMGbhd9Da63FEe5/UWKo7evgQdq2QKUUXzKqlNgmqDnwXGUwaG0ikWl3Bg6icYTqc0uA1WjfXqPmxuskqPivon7rGT5QWqJabCnrTTp0NbD4AzPsACN4qwZ14TJfABYDylPZVOIdpg3MatCUNteDPPEOnUwi6D0HspVE7WgGaaqnKs1vFqsJOlEniaSFMJ3FLkTbNMkbeOh8r1nCzTOaqME0z/kk5RCTwJTCNQCXwaGA+Z2J1OUbXBJ8H7lWOx/b1ApFOVE0ax0pciXkssjWqofIB4XXUka6pnGUCVwN+C9/OysBKiBLqUSMPhb0ogyju+mki7DnqFx7AwJXCZjtc93wBcc1nWryHGC24xdTP/b+ffs+2kKQSWy9eyJ+0VbXLJ4X6hyt+B8YipH6jUfgKPAeMRP22jUvtFsj4FudVLFVBhQXRwkguvmAbdTgC9tvQJIg2/O32v428PEXmpGcX4GNeVqTR0xignzXQxGR3aIv765HEgLlKfqyZj0tjP4BmWTpIsEPM4QBTPWujynbKKxffCngEP2bPnXQiC3hYoDHUHBlSx6O5ZMePjZ2H9+vNQL2eVG2plCbwJPBV4dPReqI46BcYx4JGvVe9mDPhjNU2GgxhnmPmu37s6Mzq+gNKJq8OkoTMynLAhYChObO73ro7A74HVGQABYdR+EizwItQ1Q+b/FOHJ/YmM6GR1PVOqIbCMav0KjGOgyFMfwqL3TJrupLuXgHEMdK6u+zgrl6bA0tnS3SyBqYSZz3VymUybLbEUU+0w9uCWJ6yMCJANsF8d+whJi8eDqbazMKL0Xq61jplB/E9GtrAUlzARAA8j7cddAUlRz58fhLGxWRGo6J0VGQRtkd5OpeVdmWfhG8R3BIpjXWR8HPPcAPR4cFlzGuc26eY03VYHlwjYB4VuRd29C7H7TU1xpWLJk9A7uolrXZrsFp5GtbmlyYD/MJF3Wcbvqx5TWUBEVQauB/ruwYPWXsqQOhBsi/cBUyMXXjPJbSgwEowCTwaoifYh0fbuMPlEDoElbwJTNaJQ/fEcGFKkLT0o/jwAVjDZIJp6MgHb295HKYuT7WR1oJ5sUM3KzCpTqjZ4dqNo0zdnHEhPG1xEYFzL4zBYGS9mgfuDVfPAKsg+kJ4fzVtFQxTCxL7xUlrxsw5Ed2JiDeSkgMBI8JX4sw2YssDC8xjAimOQk4ICI3JveQ5jlsMHUdc0NxafrQjPQe6No1WOBdUGq3Yuq6qlMHk+uNAiLlujwhN/WRqtNtimwBadLvl9JeUtSiWr7MSbQMeovLVML86iwIhNkZeswGlxERN33JYXTSE967uB53HlhRK3EJYFRljknFgXFylBYMSGyJW0dSVidEw/lyEuUpLAyILIBbpQgYG1KjLd49EGveUHwW/CvTj8ztZlom9XaHcb1R04mLKqwJORJ+WTCGXZFHQmTxRBS+CKGy/ZjRKB87wBkUYwFo2pF6WOblIW2C7LjSNwDZAQlhY4SWKDJXF9AKuo8JQnVWpR2wv2ca0NViHb5lmPxDKxUxbaWlPSgrtCuKVBQp+D+vZ/dFXgGK+FrlPYGNcFjpFVtw9tNHb9DkL1VbEKXwSOkc7YTuj0HV0SFm++LeAevgmcZEHsOko2ltQjHVGd3jzMZ4HTyGp8byS47RJ+LiHoWvAUF4dhCiLFuBk6i6nGDxLdCfQkBFyx9GT0fxwUwQW1DxSdB8UwDMMwDMM0nP8Bl3lxJTtDbOQAAAAASUVORK5CYII=";
+ } else {
+ image.src =
+ "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQ6SURBVHgB7d0/axRBGMfx50IMWPoKkpA02gUsLfZdqOCLOPBFWAliHbCUVNpaxQNrIY0WVjZaJlUsIsZ5uDu9bGb/zMwzs/PM/L7wIG4Ocflwl7ndvVsihBBCmTajunpk5uHG33+aOSGkvhdmLs1cW+bKzDEhle2a+UZ22Pacrx6PlMRYXc/arrkkIKvIBxfISgrBBXLmSeACOdMkcYGcWTFwgZxJMXGBPHEpcIE8USlxgSzcbGD2KD0ukIXKGRfIAuWOC+TANOACOSAtuEAemQ10a2P2KV9cIA+0ZZltMzurOaT8cYHcUx+wJlwgd9QFrBEXyJZswAekFxfIrdq4GhZUQO7Itlq+QzoXVEC21AdcIm51yF3AJeNWhWwDLmFBBeRVmg4/Atmj2nGLR/bCbZrm2qWx/+7Ekwx5i9LGO/XFzF2qO97/r5QAOSUwcG+WBDkVMHDtRUdOAcz/ed4J4NqLihwbGLjjioYcExi4bkVBjgUMXL/EkWMAAzcsUWRpYODKJIYsCQxc2USQpYCBG6dgZAlg4MYtCDkUGLhp8kYOAQZu2ryQfYGT4S7PAKJVzsg+wEmfubNZbd+XOpgTsiswXpbzaDSyCzBw82oU8lhg4ObZIPIYYODmXS/yEDBwdcQ+72w/6AMGrq6OaHnLghv1AQNXX6/bG7qAPxNwNbbf3mAD5qf5EaEisgG/IVRMNuA9QsVkA94mpLWP7Q2pP5uE4vayvQHA5bQw86m90Qb8i5C22Kyx/cAG/IGQphj3ftcPbcBzM78JaWiN+73rATZgfvAzWn4SHeXbIC7Xtcg6MfOUgJxro3C5vlU0kPNsNC439DYJyHnlhMuNeR8M5DxyxuXGHugA8rR54XIuR7KAPE3euJzroUogpy0Il/M5Fg3kNAXjcr4nG4AcNxFcLuTc78nqz7e0/A7KLDo9PbV+nkn6Q2xnZ2c0n88pQmK4XOjJ/eyQm6YhxYnichLng/FyLZM4Lid1wh/IYUXB5SSv6ACyX9FwOelLdoDsVlRcLsY1WUAeV3RcLtZFd0Duj3EfUGRcLuZVlUC2lwyXi32Re/D75IuLC1osFtYDFXxAo73dts21MV/8wgc6PEqKm7LHZv5QnndASTV8p5U9unl7oaJ6QvUi23CLA+YdqhGZcQ/Jfmu/olrvVE3Ia9wdqgB4sxp+JzPuPv2/+XV1lYzcxq32Q34lvlzbcKsF5h0vCZlxD+g2btXApSCvF1TbBOB/ba4oNSOvn7lr3KpWzC5pXHgVf4RKOk3P5CqOUEmn5eW6CxfAA2n4ndyHC+AR5YwMXOFyWngx7i4h8XJABm7kpkQGbqKmQAZu4lIiA3eiUiADd+JiIgM3k2IgAzezJJGBm2kSyMDNvBBk4CrJBxm4ynJB/kHAVRnf3OucumGvzBxTBZV+eouhn5u5t7HtvZlXhBBCCCEUsb+qGDWF0d8l5AAAAABJRU5ErkJggg==";
+ }
+ digirepeaterTxFreqInput.disabled = true;
+ } else if (selectedValue === "2") {
+ if (bmeCheckbox.checked) {
+ image.src =
+ "data:image/png;base64,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";
+ } else {
+ image.src =
+ "data:image/png;base64,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";
+ }
+ digirepeaterTxFreqInput.disabled = true;
+ } else if (selectedValue === "3" || selectedValue === "4") {
+ image.src =
+ "data:image/png;base64,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";
+ digirepeaterTxFreqInput.disabled = selectedValue === "3";
+ } else if (selectedValue === "5") {
+ if (bmeCheckbox.checked) {
+ image.src =
+ "data:image/png;base64,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";
+ } else {
+ image.src =
+ "data:image/png;base64,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";
+ }
+ digirepeaterTxFreqInput.disabled = true;
+ }
+ }
+}
+
+stationModeSelect.addEventListener("change", updateImage);
+bmeCheckbox.addEventListener("change", updateImage);
+
+function toggleFields() {
+ const sendBatteryVoltageCheckbox = document.querySelector(
+ 'input[name="other.sendBatteryVoltage"]'
+ );
+ const externalVoltageMeasurementCheckbox = document.querySelector(
+ 'input[name="other.externalVoltageMeasurement"]'
+ );
+ const externalVoltagePinInput = document.querySelector(
+ 'input[name="other.externalVoltagePin"]'
+ );
+
+ externalVoltageMeasurementCheckbox.disabled =
+ !sendBatteryVoltageCheckbox.checked;
+ externalVoltagePinInput.disabled =
+ !externalVoltageMeasurementCheckbox.checked;
+}
+
+const sendBatteryVoltageCheckbox = document.querySelector(
+ 'input[name="other.sendBatteryVoltage"]'
+);
+const externalVoltageMeasurementCheckbox = document.querySelector(
+ 'input[name="other.externalVoltageMeasurement"]'
+);
+const externalVoltagePinInput = document.querySelector(
+ 'input[name="other.externalVoltagePin"]'
+);
+
+sendBatteryVoltageCheckbox.addEventListener("change", function () {
+ externalVoltageMeasurementCheckbox.disabled = !this.checked;
+ externalVoltagePinInput.disabled =
+ !externalVoltageMeasurementCheckbox.checked;
+});
+
+document.querySelector(".new button").addEventListener("click", function () {
+ const networksContainer = document.querySelector(".list-networks");
+
+ let networkCount = document.querySelectorAll(".network").length;
+
+ const networkElement = document.createElement("div");
+
+ networkElement.classList.add("row", "network", "border-bottom", "py-2");
+
+ // Increment the name, id, and for attributes
+ const attributeName = `wifi.AP.${networkCount}`;
+ networkElement.innerHTML = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `;
+ networksContainer.appendChild(networkElement);
+
+ networkCount++;
+
+ // Add the new network element to the end of the document
+ document.querySelector(".new").before(networkElement);
+});
+
+toggleFields();
+
+const form = document.querySelector("form");
+
+const saveModal = new bootstrap.Modal(document.getElementById("saveModal"), {
+ backdrop: "static",
+ keyboard: false,
+});
+
+const savedModal = new bootstrap.Modal(
+ document.getElementById("savedModal"),
+ {}
+);
+
+function checkConnection() {
+ const controller = new AbortController();
+
+ setTimeout(() => controller.abort(), 2000);
+
+ fetch("/status?_t=" + Date.now(), { signal: controller.signal })
+ .then(() => {
+ saveModal.hide();
+
+ savedModal.show();
+
+ setTimeout(function () {
+ savedModal.hide();
+ }, 3000);
+
+ fetchSettings();
+ })
+ .catch((err) => {
+ setTimeout(checkConnection, 0);
+ });
+}
+
+form.addEventListener("submit", async (event) => {
+ event.preventDefault();
+
+ document.getElementById("wifi.APs").value =
+ document.querySelectorAll(".network").length;
+
+ fetch(form.action, {
+ method: form.method,
+ body: new FormData(form),
+ });
+
+ saveModal.show();
+
+ setTimeout(checkConnection, 0);
+});
+
+fetchSettings();
diff --git a/data_embed/style.css b/data_embed/style.css
new file mode 100644
index 0000000..e69de29
diff --git a/platformio.ini b/platformio.ini
index e20b1ac..ea61ae7 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -15,6 +15,12 @@ default_envs = ttgo-lora32-v21
platform = espressif32 @ 6.3.1
framework = arduino
monitor_speed = 115200
+board_build.embed_files =
+ data_embed/index.html.gz
+ data_embed/style.css.gz
+ data_embed/script.js.gz
+ data_embed/bootstrap.css.gz
+ data_embed/bootstrap.js.gz
lib_deps =
bblanchon/ArduinoJson@^6.20.2
sandeepmistry/LoRa@^0.8.0
@@ -28,10 +34,11 @@ lib_deps =
jgromes/RadioLib @ 6.1.0
lewisxhe/XPowersLib@^0.1.8
ayushsharma82/ElegantOTA@^3.1.0
- ottowinter/ESPAsyncWebServer-esphome@^3.0.0
- esphome/AsyncTCP-esphome@^2.1.1
-
+ ottowinter/ESPAsyncWebServer-esphome@3.0.0
+ esphome/AsyncTCP-esphome@2.1.1
+extra_scripts =
+ pre:tools/compress.py
[env:ttgo-lora32-v21]
board = ttgo-lora32-v21
build_flags = -Werror -Wall -DTTGO_T_LORA32_V2_1 -DELEGANTOTA_USE_ASYNC_WEBSERVER=1
@@ -67,4 +74,11 @@ build_flags = -Werror -Wall -DTTGO_T_Beam_V1_0_SX1268 -DELEGANTOTA_USE_ASYNC_WEB
[env:ttgo-t-beam-v1_2_SX1262]
board = ttgo-t-beam
-build_flags = -Werror -Wall -DTTGO_T_Beam_V1_2_SX1262 -DELEGANTOTA_USE_ASYNC_WEBSERVER=1
\ No newline at end of file
+build_flags = -Werror -Wall -DTTGO_T_Beam_V1_2_SX1262 -DELEGANTOTA_USE_ASYNC_WEBSERVER=1
+
+[env:heltec_wireless_stick_lite]
+platform = espressif32
+board = heltec_wireless_stick_lite
+board_build.mcu = esp32c3
+board_build.f_cpu = 240000000L
+build_flags = -Werror -Wall -DHELTEC_CT62 -DELEGANTOTA_USE_ASYNC_WEBSERVER=1
\ No newline at end of file
diff --git a/tools/compress.py b/tools/compress.py
new file mode 100644
index 0000000..c2407b0
--- /dev/null
+++ b/tools/compress.py
@@ -0,0 +1,20 @@
+import gzip
+
+files = [
+ 'data_embed/index.html',
+ 'data_embed/script.js',
+ 'data_embed/style.css',
+ 'data_embed/bootstrap.js',
+ 'data_embed/bootstrap.css',
+]
+
+
+for src in files:
+ out = src + ".gz"
+
+
+ with open(src, 'rb') as f:
+ content = f.read()
+
+ with open(out, 'wb') as f:
+ f.write(gzip.compress(content, compresslevel=9))
\ No newline at end of file